// Copyright (c) 2017-2025 Tencent. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package v20180228

import (
    tcerr "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/errors"
    tchttp "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/http"
    "github.com/tencentcloud/tencentcloud-sdk-go-intl-en/tencentcloud/common/json"
)

type ABTestConfig struct {
	// Greyscale project name
	ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`

	// true: grayscale release in progress; false: grayscale release not in progress.
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

type AccountStatistics struct {
	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Number of hosts
	MachineNum *uint64 `json:"MachineNum,omitnil,omitempty" name:"MachineNum"`
}

// Predefined struct for user
type AddLoginWhiteListsRequestParams struct {
	// <p>Unusual-login allowlist entry</p>
	HostLoginWhiteObj *HostLoginWhiteObj `json:"HostLoginWhiteObj,omitnil,omitempty" name:"HostLoginWhiteObj"`

	// <p>Event sync processing method:<br>"" -- No action<br>"All" -- Add all event records matching this configuration to the allowlist<br>"Id" -- Add the event record corresponding to EventId to the allowlist</p>
	ProcessType *string `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`

	// <p>Unusual-login event ID. This parameter is required when ProcessType is Id.</p>
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type AddLoginWhiteListsRequest struct {
	*tchttp.BaseRequest
	
	// <p>Unusual-login allowlist entry</p>
	HostLoginWhiteObj *HostLoginWhiteObj `json:"HostLoginWhiteObj,omitnil,omitempty" name:"HostLoginWhiteObj"`

	// <p>Event sync processing method:<br>"" -- No action<br>"All" -- Add all event records matching this configuration to the allowlist<br>"Id" -- Add the event record corresponding to EventId to the allowlist</p>
	ProcessType *string `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`

	// <p>Unusual-login event ID. This parameter is required when ProcessType is Id.</p>
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *AddLoginWhiteListsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddLoginWhiteListsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "HostLoginWhiteObj")
	delete(f, "ProcessType")
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "AddLoginWhiteListsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type AddLoginWhiteListsResponseParams struct {
	// <p>List of duplicate-addition prompts</p>
	DuplicateHosts []*DuplicateHosts `json:"DuplicateHosts,omitnil,omitempty" name:"DuplicateHosts"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type AddLoginWhiteListsResponse struct {
	*tchttp.BaseResponse
	Response *AddLoginWhiteListsResponseParams `json:"Response"`
}

func (r *AddLoginWhiteListsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *AddLoginWhiteListsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type AlarmInfo struct {
	// Table names of IDs of alarms associated with the node. Separate multiple pairs with commas. Example: t1:id1,t2:id2
	AlarmId *string `json:"AlarmId,omitnil,omitempty" name:"AlarmId"`

	// Alarm status. This parameter takes effect when this node is an alarm node.
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type AssetAppBaseInfo struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Application name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Application type	
	// 1: operations
	// 2: database
	// 3: Security
	// 4: suspicious application
	// 5: system architecture
	// 6: system application
	// 7: web service
	// 99: other
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Binary path
	BinPath *string `json:"BinPath,omitnil,omitempty" name:"BinPath"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Number of associated processes
	ProcessCount *uint64 `json:"ProcessCount,omitnil,omitempty" name:"ProcessCount"`

	// Application description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Version No.
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Configuration file path
	ConfigPath *string `json:"ConfigPath,omitnil,omitempty" name:"ConfigPath"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether it is newly added [0: no | 1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetAppProcessInfo struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Process status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Process version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// User
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Startup time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`
}

type AssetCoreModuleBaseInfo struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Server IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Module size
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Number of dependent processes
	ProcessCount *uint64 `json:"ProcessCount,omitnil,omitempty" name:"ProcessCount"`

	// Number of dependent modules
	ModuleCount *uint64 `json:"ModuleCount,omitnil,omitempty" name:"ModuleCount"`

	// Module ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether new [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Server Public IP
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetCoreModuleDetail struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Size
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Dependent processes
	Processes *string `json:"Processes,omitnil,omitempty" name:"Processes"`

	// Dependent modules
	Modules *string `json:"Modules,omitnil,omitempty" name:"Modules"`

	// Parameter information.
	Params []*AssetCoreModuleParam `json:"Params,omitnil,omitempty" name:"Params"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AssetCoreModuleParam struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Data
	Data *string `json:"Data,omitnil,omitempty" name:"Data"`
}

type AssetDatabaseBaseInfo struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Database name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Listening port
	Port *string `json:"Port,omitnil,omitempty" name:"Port"`

	// Protocol
	Proto *string `json:"Proto,omitnil,omitempty" name:"Proto"`

	// Running user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Bound IP
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Configuration file path
	ConfigPath *string `json:"ConfigPath,omitnil,omitempty" name:"ConfigPath"`

	// Log file path
	LogPath *string `json:"LogPath,omitnil,omitempty" name:"LogPath"`

	// Data path
	DataPath *string `json:"DataPath,omitnil,omitempty" name:"DataPath"`

	// Running permission
	Permission *string `json:"Permission,omitnil,omitempty" name:"Permission"`

	// Error log path
	ErrorLogPath *string `json:"ErrorLogPath,omitnil,omitempty" name:"ErrorLogPath"`

	// Plugin path
	PlugInPath *string `json:"PlugInPath,omitnil,omitempty" name:"PlugInPath"`

	// Binary path
	BinPath *string `json:"BinPath,omitnil,omitempty" name:"BinPath"`

	// Startup parameter
	Param *string `json:"Param,omitnil,omitempty" name:"Param"`

	// Database ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether newly added [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetDatabaseDetail struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Database name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Listening port
	Port *string `json:"Port,omitnil,omitempty" name:"Port"`

	// Protocol
	Proto *string `json:"Proto,omitnil,omitempty" name:"Proto"`

	// Running user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Bind IP
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Configuration file path
	ConfigPath *string `json:"ConfigPath,omitnil,omitempty" name:"ConfigPath"`

	// Log file path
	LogPath *string `json:"LogPath,omitnil,omitempty" name:"LogPath"`

	// Data path
	DataPath *string `json:"DataPath,omitnil,omitempty" name:"DataPath"`

	// Running permission
	Permission *string `json:"Permission,omitnil,omitempty" name:"Permission"`

	// Error log path
	ErrorLogPath *string `json:"ErrorLogPath,omitnil,omitempty" name:"ErrorLogPath"`

	// Plugin path
	PlugInPath *string `json:"PlugInPath,omitnil,omitempty" name:"PlugInPath"`

	// Binary path
	BinPath *string `json:"BinPath,omitnil,omitempty" name:"BinPath"`

	// Startup parameter
	Param *string `json:"Param,omitnil,omitempty" name:"Param"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AssetDiskPartitionInfo struct {
	// Partition name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Partition size (unit: G)
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Partition utilization
	Percent *float64 `json:"Percent,omitnil,omitempty" name:"Percent"`

	// File system type
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Mounting directory
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Used space (unit: G)
	Used *uint64 `json:"Used,omitnil,omitempty" name:"Used"`
}

type AssetEnvBaseInfo struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Type:
	// 0: user variable
	// 1: system variable
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Startup user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Environment variable value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// Server IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether new [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Server Public IP
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetFilters struct {
	// Name of filter key
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// One or more filter values
	Values []*string `json:"Values,omitnil,omitempty" name:"Values"`

	// Whether to use fuzzy query
	ExactMatch *bool `json:"ExactMatch,omitnil,omitempty" name:"ExactMatch"`
}

type AssetInitServiceBaseInfo struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Type:
	// 1: Encoder
	// 2: IE plugin
	// 3: Network provider
	// 4: Mirror hijacking
	// 5: LSA provider
	// 6:KnownDLLs
	// 7: Start execution
	// 8:WMI
	// 9: Scheduled task
	// 10: Winsock provider
	// 11: Print monitor
	// 12: Resource manager
	// 13: Driver service
	// 14: Log-in
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Default enabling status: 0 - disabled; 1 - enabled
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Startup user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Server IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether newly added [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Server Public IP
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Start at boot [0: No|1: Yes]
	IsAutoRun *int64 `json:"IsAutoRun,omitnil,omitempty" name:"IsAutoRun"`
}

type AssetJarBaseInfo struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Type. 1: application; 2: system class library; 3: web service built-in library; 8: others.
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Whether it is executable. 0: unknown; 1: yes; 2: no.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Server IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// JAR package ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// JAR package Md5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether it is newly added [0: no | 1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Server public IP
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetJarDetail struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Type: 1: application; 2: system library; 3: Web service built-in library; 8: other
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Whether executable: 0: unknown; 1: yes; 2: no
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Server IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Reference process list.
	Process []*AssetAppProcessInfo `json:"Process,omitnil,omitempty" name:"Process"`

	// JAR package Md5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AssetKeyVal struct {
	// Tag
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Quantity
	Value *int64 `json:"Value,omitnil,omitempty" name:"Value"`

	// Description information
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Number of new key-value pairs today
	NewCount *int64 `json:"NewCount,omitnil,omitempty" name:"NewCount"`
}

type AssetLoadDetail struct {
	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Load
	Value *float64 `json:"Value,omitnil,omitempty" name:"Value"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type AssetLoadSummary struct {
	// Load amount array, in ascending order:
	// [
	// 0% or unknown quantity
	// 0%～20%
	// 20%～50%
	// 50%～80%
	// 80%～100%
	// ]
	Counts []*uint64 `json:"Counts,omitnil,omitempty" name:"Counts"`

	// Top 5 Load
	Top5 []*AssetLoadDetail `json:"Top5,omitnil,omitempty" name:"Top5"`
}

type AssetMachineBaseInfo struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Private IP address of server
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system name
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// CPU information
	Cpu *string `json:"Cpu,omitnil,omitempty" name:"Cpu"`

	// Memory capacity, in GB
	MemSize *uint64 `json:"MemSize,omitnil,omitempty" name:"MemSize"`

	// Memory utilization, in percentage
	MemLoad *string `json:"MemLoad,omitnil,omitempty" name:"MemLoad"`

	// Hard disk capacity, in GB
	DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// Hard disk utilization, in percentage
	DiskLoad *string `json:"DiskLoad,omitnil,omitempty" name:"DiskLoad"`

	// Number of partitions
	PartitionCount *uint64 `json:"PartitionCount,omitnil,omitempty" name:"PartitionCount"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// CPU count
	CpuSize *uint64 `json:"CpuSize,omitnil,omitempty" name:"CpuSize"`

	// CPU utilization, in percentage
	CpuLoad *string `json:"CpuLoad,omitnil,omitempty" name:"CpuLoad"`

	// Tag.
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether it is newly added [0 - no;1 - yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// CPU load readings (only valid for Linux systems).
	CpuLoadNum *string `json:"CpuLoadNum,omitnil,omitempty" name:"CpuLoadNum"`
}

type AssetMachineDetail struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Private IP address of server
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system name
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// CPU information
	Cpu *string `json:"Cpu,omitnil,omitempty" name:"Cpu"`

	// Memory capacity, in GB
	MemSize *uint64 `json:"MemSize,omitnil,omitempty" name:"MemSize"`

	// Memory utilization, in percentage
	MemLoad *string `json:"MemLoad,omitnil,omitempty" name:"MemLoad"`

	// Hard disk capacity, in GB
	DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// Hard disk usage, in percentage
	DiskLoad *string `json:"DiskLoad,omitnil,omitempty" name:"DiskLoad"`

	// Number of partitions
	PartitionCount *uint64 `json:"PartitionCount,omitnil,omitempty" name:"PartitionCount"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Number of CPU
	CpuSize *uint64 `json:"CpuSize,omitnil,omitempty" name:"CpuSize"`

	// CPU load
	CpuLoad *string `json:"CpuLoad,omitnil,omitempty" name:"CpuLoad"`

	// Protection level: 0 Basic version, 1 Pro edition, 2 Flagship edition, 3 Lightweight edition
	ProtectLevel *uint64 `json:"ProtectLevel,omitnil,omitempty" name:"ProtectLevel"`

	// Risk status: UNKNOW - unknown; RISK - risky; SAFT - Safe
	RiskStatus *string `json:"RiskStatus,omitnil,omitempty" name:"RiskStatus"`

	// Days protected
	ProtectDays *uint64 `json:"ProtectDays,omitnil,omitempty" name:"ProtectDays"`

	// Professional edition activation time
	BuyTime *string `json:"BuyTime,omitnil,omitempty" name:"BuyTime"`

	// Professional edition expiration time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Kernel version
	CoreVersion *string `json:"CoreVersion,omitnil,omitempty" name:"CoreVersion"`

	// Linux/Windows
	OsType *string `json:"OsType,omitnil,omitempty" name:"OsType"`

	// Agent version
	AgentVersion *string `json:"AgentVersion,omitnil,omitempty" name:"AgentVersion"`

	// Installation time
	InstallTime *string `json:"InstallTime,omitnil,omitempty" name:"InstallTime"`

	// System startup time
	BootTime *string `json:"BootTime,omitnil,omitempty" name:"BootTime"`

	// Last online time
	LastLiveTime *string `json:"LastLiveTime,omitnil,omitempty" name:"LastLiveTime"`

	// Manufacturer
	Producer *string `json:"Producer,omitnil,omitempty" name:"Producer"`

	// Serial number
	SerialNumber *string `json:"SerialNumber,omitnil,omitempty" name:"SerialNumber"`

	// Network interface
	NetCards []*AssetNetworkCardInfo `json:"NetCards,omitnil,omitempty" name:"NetCards"`

	// Partition
	Disks []*AssetDiskPartitionInfo `json:"Disks,omitnil,omitempty" name:"Disks"`

	// 0: online; 1: offline
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Server model
	DeviceVersion *string `json:"DeviceVersion,omitnil,omitempty" name:"DeviceVersion"`

	// Offline time
	OfflineTime *string `json:"OfflineTime,omitnil,omitempty" name:"OfflineTime"`

	// Host ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// CpuLoadVul
	CpuLoadVul *string `json:"CpuLoadVul,omitnil,omitempty" name:"CpuLoadVul"`

	// Time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`
}

type AssetNetworkCardInfo struct {
	// Network interface name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// IPv4 address
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Gateway
	GateWay *string `json:"GateWay,omitnil,omitempty" name:"GateWay"`

	// MAC address
	Mac *string `json:"Mac,omitnil,omitempty" name:"Mac"`

	// IPv6 address
	Ipv6 *string `json:"Ipv6,omitnil,omitempty" name:"Ipv6"`

	// DNS server
	DnsServer *string `json:"DnsServer,omitnil,omitempty" name:"DnsServer"`
}

type AssetPlanTask struct {
	// Default enabling status. 1 - enabled; 2 - not enabled
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Execution cycle
	Cycle *string `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Execute command or script
	Command *string `json:"Command,omitnil,omitempty" name:"Command"`

	// Startup user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Configuration file path
	ConfigPath *string `json:"ConfigPath,omitnil,omitempty" name:"ConfigPath"`

	// Server IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether newly added [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Server Public IP
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetPortBaseInfo struct {
	// Private IP address of the host
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address of the host
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process version
	ProcessVersion *string `json:"ProcessVersion,omitnil,omitempty" name:"ProcessVersion"`

	// Process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Process ID
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Running user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Start parameter
	Param *string `json:"Param,omitnil,omitempty" name:"Param"`

	// Process TTY
	Teletype *string `json:"Teletype,omitnil,omitempty" name:"Teletype"`

	// Port
	Port *string `json:"Port,omitnil,omitempty" name:"Port"`

	// User group
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// Process MD5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Parent process ID
	Ppid *string `json:"Ppid,omitnil,omitempty" name:"Ppid"`

	// Parent process name
	ParentProcessName *string `json:"ParentProcessName,omitnil,omitempty" name:"ParentProcessName"`

	// Port protocol
	Proto *string `json:"Proto,omitnil,omitempty" name:"Proto"`

	// Bound IP
	BindIp *string `json:"BindIp,omitnil,omitempty" name:"BindIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether to add [0: no | 1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetProcessBaseInfo struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Process name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Process description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Process path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Process ID
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Running user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Startup time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Startup parameter
	Param *string `json:"Param,omitnil,omitempty" name:"Param"`

	// Process TTY
	Tty *string `json:"Tty,omitnil,omitempty" name:"Tty"`

	// Process version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Process user group
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// Process MD5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Parent process ID
	Ppid *string `json:"Ppid,omitnil,omitempty" name:"Ppid"`

	// Parent process name
	ParentProcessName *string `json:"ParentProcessName,omitnil,omitempty" name:"ParentProcessName"`

	// Process status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Digital signature: 0: none; 1: yes; 999: null (for Windows only).
	HasSign *uint64 `json:"HasSign,omitnil,omitempty" name:"HasSign"`

	// Whether to install the package. 0: no; 1: yes; 999: null (Linux only).
	InstallByPackage *uint64 `json:"InstallByPackage,omitnil,omitempty" name:"InstallByPackage"`

	// Software package name
	PackageName *string `json:"PackageName,omitnil,omitempty" name:"PackageName"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether new [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetSystemPackageInfo struct {
	// Database name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Installation time
	InstallTime *string `json:"InstallTime,omitnil,omitempty" name:"InstallTime"`

	// Type
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether newly added [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Host ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Agent Id
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type AssetType struct {
	// Type ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Type name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type AssetUserBaseInfo struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Account UID
	Uid *string `json:"Uid,omitnil,omitempty" name:"Uid"`

	// Account GID
	Gid *string `json:"Gid,omitnil,omitempty" name:"Gid"`

	// Account status. 0: disabled; 1: enabled
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether there is root permission. 0: no; 1: yes; 999: null (Linux only)
	IsRoot *uint64 `json:"IsRoot,omitnil,omitempty" name:"IsRoot"`

	// Log-in method. 0: log-in not allowed; 1: only key-based log-in allowed; 2: only password-based log-in allowed; 3: both key-based log-in and password-based log-in allowed; 999: null (Linux only)
	LoginType *uint64 `json:"LoginType,omitnil,omitempty" name:"LoginType"`

	// Last log-in time
	LastLoginTime *string `json:"LastLoginTime,omitnil,omitempty" name:"LastLoginTime"`

	// Account name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Account type. 0: guest user; 1: standard user; 2: administrator user; 999: null (for Windows only).
	UserType *uint64 `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Whether it is a domain account: 0: no; 1: yes; 2: no; 999: null (for Windows only).
	IsDomain *uint64 `json:"IsDomain,omitnil,omitempty" name:"IsDomain"`

	// Whether there is sudo permissions: 1: yes; 0: No; 999: null (Linux only)
	IsSudo *uint64 `json:"IsSudo,omitnil,omitempty" name:"IsSudo"`

	// Whether ssh log-in allowed. 1: yes; 0: no; 999: null (Linux only)
	IsSshLogin *uint64 `json:"IsSshLogin,omitnil,omitempty" name:"IsSshLogin"`

	// Home directory
	HomePath *string `json:"HomePath,omitnil,omitempty" name:"HomePath"`

	// Shell path (Linux only)
	Shell *string `json:"Shell,omitnil,omitempty" name:"Shell"`

	// Whether shell log-in allowed. 0: no; 1: yes (Linux only)
	ShellLoginStatus *uint64 `json:"ShellLoginStatus,omitnil,omitempty" name:"ShellLoginStatus"`

	// Password modification time
	PasswordChangeTime *string `json:"PasswordChangeTime,omitnil,omitempty" name:"PasswordChangeTime"`

	// Password expiration time (Linux only)
	PasswordDueTime *string `json:"PasswordDueTime,omitnil,omitempty" name:"PasswordDueTime"`

	// Password locking time (unit: day): -1 - never locked; 999 - null (Linux only)
	PasswordLockDays *int64 `json:"PasswordLockDays,omitnil,omitempty" name:"PasswordLockDays"`

	// Password status: 1 - normal; 2 - expiring soon; 3 - expired; 4 - locked; 999 - null (Linux only)
	PasswordStatus *int64 `json:"PasswordStatus,omitnil,omitempty" name:"PasswordStatus"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether new [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetUserDetail struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Account UID
	Uid *string `json:"Uid,omitnil,omitempty" name:"Uid"`

	// Account GID
	Gid *string `json:"Gid,omitnil,omitempty" name:"Gid"`

	// Account status. 0: disabled; 1: enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether there is root permission. 0: no; 1: yes; 999: null (Linux only).
	IsRoot *uint64 `json:"IsRoot,omitnil,omitempty" name:"IsRoot"`

	// Last log-in time
	LastLoginTime *string `json:"LastLoginTime,omitnil,omitempty" name:"LastLoginTime"`

	// Account name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Account type. 0: guest user; 1: standard user; 2: administrator user; 999: null (for Windows only).
	UserType *uint64 `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Whether it is a domain account: 0: no; 1: yes; 999: null (for Windows only).
	IsDomain *uint64 `json:"IsDomain,omitnil,omitempty" name:"IsDomain"`

	// Whether SSH log-in allowed. 1: yes; 0: no; 999: null (Linux only).
	IsSshLogin *uint64 `json:"IsSshLogin,omitnil,omitempty" name:"IsSshLogin"`

	// Home directory
	HomePath *string `json:"HomePath,omitnil,omitempty" name:"HomePath"`

	// Shell path (Linux only)
	Shell *string `json:"Shell,omitnil,omitempty" name:"Shell"`

	// Whether shell log-in allowed. 0: no; 1: yes (Linux only).
	ShellLoginStatus *uint64 `json:"ShellLoginStatus,omitnil,omitempty" name:"ShellLoginStatus"`

	// Password modification time
	PasswordChangeTime *string `json:"PasswordChangeTime,omitnil,omitempty" name:"PasswordChangeTime"`

	// Password expiration time (Linux only)
	PasswordDueTime *string `json:"PasswordDueTime,omitnil,omitempty" name:"PasswordDueTime"`

	// Password locking time (unit: day). -1: never locked; 999: null (Linux only).
	PasswordLockDays *int64 `json:"PasswordLockDays,omitnil,omitempty" name:"PasswordLockDays"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// User group name
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// Account expiration time
	DisableTime *string `json:"DisableTime,omitnil,omitempty" name:"DisableTime"`

	// Last log-in terminal
	LastLoginTerminal *string `json:"LastLoginTerminal,omitnil,omitempty" name:"LastLoginTerminal"`

	// Last log-in location
	LastLoginLoc *string `json:"LastLoginLoc,omitnil,omitempty" name:"LastLoginLoc"`

	// Last log-in IP address
	LastLoginIp *string `json:"LastLoginIp,omitnil,omitempty" name:"LastLoginIp"`

	// Password expiration reminder, in days
	PasswordWarnDays *uint64 `json:"PasswordWarnDays,omitnil,omitempty" name:"PasswordWarnDays"`

	// Password change settings. 0: not allowed; 1: allowed.
	PasswordChangeType *uint64 `json:"PasswordChangeType,omitnil,omitempty" name:"PasswordChangeType"`

	// User public key list.
	Keys []*AssetUserKeyInfo `json:"Keys,omitnil,omitempty" name:"Keys"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AssetUserKeyInfo struct {
	// Public key value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// Public key remarks
	Comment *string `json:"Comment,omitnil,omitempty" name:"Comment"`

	// Encryption method
	EncryptType *string `json:"EncryptType,omitnil,omitempty" name:"EncryptType"`
}

type AssetWebAppBaseInfo struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating system information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Application name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Root path
	RootPath *string `json:"RootPath,omitnil,omitempty" name:"RootPath"`

	// Service type
	ServiceType *string `json:"ServiceType,omitnil,omitempty" name:"ServiceType"`

	// Site domain name
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Virtual path
	VirtualPath *string `json:"VirtualPath,omitnil,omitempty" name:"VirtualPath"`

	// Number of plugins
	PluginCount *uint64 `json:"PluginCount,omitnil,omitempty" name:"PluginCount"`

	// Application ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Application description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether it is newly added [0: no | 1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetWebAppPluginInfo struct {
	// Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Link
	Link *string `json:"Link,omitnil,omitempty" name:"Link"`
}

type AssetWebFrameBaseInfo struct {
	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Web application name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Language
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Service type
	ServiceType *string `json:"ServiceType,omitnil,omitempty" name:"ServiceType"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether new [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Application path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`
}

type AssetWebLocationBaseInfo struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Operating system
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Domain name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Site port
	Port *string `json:"Port,omitnil,omitempty" name:"Port"`

	// Site protocol
	Proto *string `json:"Proto,omitnil,omitempty" name:"Proto"`

	// Service type
	ServiceType *string `json:"ServiceType,omitnil,omitempty" name:"ServiceType"`

	// Number of site paths
	PathCount *uint64 `json:"PathCount,omitnil,omitempty" name:"PathCount"`

	// Running user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Home directory
	MainPath *string `json:"MainPath,omitnil,omitempty" name:"MainPath"`

	// Home directory owner
	MainPathOwner *string `json:"MainPathOwner,omitnil,omitempty" name:"MainPathOwner"`

	// Owner permissions
	Permission *string `json:"Permission,omitnil,omitempty" name:"Permission"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Web site ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether it is newly added [0: no | 1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AssetWebLocationInfo struct {
	// Domain name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Site port
	Port *string `json:"Port,omitnil,omitempty" name:"Port"`

	// Site protocol
	Proto *string `json:"Proto,omitnil,omitempty" name:"Proto"`

	// Service type
	ServiceType *string `json:"ServiceType,omitnil,omitempty" name:"ServiceType"`

	// Security module status. 0: not enabled; 1: enabled; 999: null (nginx only)
	SafeStatus *uint64 `json:"SafeStatus,omitnil,omitempty" name:"SafeStatus"`

	// Running user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Home directory
	MainPath *string `json:"MainPath,omitnil,omitempty" name:"MainPath"`

	// Startup command
	Command *string `json:"Command,omitnil,omitempty" name:"Command"`

	// Bind IP
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`
}

type AssetWebLocationPath struct {
	// Virtual path
	VirtualPath *string `json:"VirtualPath,omitnil,omitempty" name:"VirtualPath"`

	// Physical path
	RealPath *string `json:"RealPath,omitnil,omitempty" name:"RealPath"`

	// File owner
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// File group
	Group *string `json:"Group,omitnil,omitempty" name:"Group"`

	// File permission
	Permission *string `json:"Permission,omitnil,omitempty" name:"Permission"`
}

type AssetWebServiceBaseInfo struct {
	// Private IP address of a host
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address of a host
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Operating System Information
	OsInfo *string `json:"OsInfo,omitnil,omitempty" name:"OsInfo"`

	// Host business group ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Host tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Service name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Binary path
	BinPath *string `json:"BinPath,omitnil,omitempty" name:"BinPath"`

	// Startup user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Installation path
	InstallPath *string `json:"InstallPath,omitnil,omitempty" name:"InstallPath"`

	// Configuration path
	ConfigPath *string `json:"ConfigPath,omitnil,omitempty" name:"ConfigPath"`

	// Number of associated processes
	ProcessCount *uint64 `json:"ProcessCount,omitnil,omitempty" name:"ProcessCount"`

	// Web Service ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Data update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// First collection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Whether newly added [0: no|1: yes]
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	//  Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BanWhiteList struct {
	// Allowlist IDs
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Allowlist aliases
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Block source IP
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Time of modifying allowlists
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Time of creating allowlists
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Machine associated with the allowlist.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Whether the allowlist takes effect globally
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Machine list associated with the allowlist
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type BanWhiteListDetail struct {
	// Allowlist ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Allowlist alias
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Blocking source IP address
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Allowlist modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Allowlist creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Whether the allowlist takes effect globally
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Machine UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// CWPP program UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Machine IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Machine name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`
}

type BaselineBasicInfo struct {
	// Baseline name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Parent id
	ParentId *uint64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`
}

type BaselineCustomRuleIdName struct {
	// Custom rule ID　
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Custom Rule Name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

type BaselineDetail struct {
	// Baseline description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Severity level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// package name
	PackageName *string `json:"PackageName,omitnil,omitempty" name:"PackageName"`

	// Parent id
	ParentId *uint64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`

	// Baseline name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type BaselineDetectParam struct {
	// Collection of check policies
	PolicyIds []*int64 `json:"PolicyIds,omitnil,omitempty" name:"PolicyIds"`

	// Collection of check rules
	RuleIds []*int64 `json:"RuleIds,omitnil,omitempty" name:"RuleIds"`

	// Collection of check items
	ItemIds []*int64 `json:"ItemIds,omitnil,omitempty" name:"ItemIds"`

	// Collection of checked server IDs
	HostIds []*string `json:"HostIds,omitnil,omitempty" name:"HostIds"`
}

type BaselineEffectHost struct {
	// Passed items
	PassCount *uint64 `json:"PassCount,omitnil,omitempty" name:"PassCount"`

	// Risky item
	FailCount *uint64 `json:"FailCount,omitnil,omitempty" name:"FailCount"`

	// First detection event
	FirstScanTime *string `json:"FirstScanTime,omitnil,omitempty" name:"FirstScanTime"`

	// Last detection time
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Risky item processing status. 0: failed; 1: passed.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host alias
	AliasName *string `json:"AliasName,omitnil,omitempty" name:"AliasName"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// detecting state
	MaxStatus *uint64 `json:"MaxStatus,omitnil,omitempty" name:"MaxStatus"`
}

type BaselineEventLevelInfo struct {
	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	EventLevel *uint64 `json:"EventLevel,omitnil,omitempty" name:"EventLevel"`

	// Number of vulnerabilities
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`
}

type BaselineHost struct {
	// Host ID
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host tag
	HostTag *string `json:"HostTag,omitnil,omitempty" name:"HostTag"`

	// Private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Public IP address
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BaselineHostDetect struct {
	// Host ID
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`

	// Private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Public IP address
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// 0: Failed; 1: Ignored; 3: Passed; 5: Under detection
	DetectStatus *int64 `json:"DetectStatus,omitnil,omitempty" name:"DetectStatus"`

	// Number of Passed Tasks in Detection
	PassedItemCount *int64 `json:"PassedItemCount,omitnil,omitempty" name:"PassedItemCount"`

	// Associated Detection Item Count
	ItemCount *int64 `json:"ItemCount,omitnil,omitempty" name:"ItemCount"`

	// Detection Failure Count
	NotPassedItemCount *int64 `json:"NotPassedItemCount,omitnil,omitempty" name:"NotPassedItemCount"`

	// First detection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Last detection Time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// CWP UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BaselineHostTopList struct {
	// List of event levels and occurrences
	EventLevelList []*BaselineEventLevelInfo `json:"EventLevelList,omitnil,omitempty" name:"EventLevelList"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Score for calculating weight
	Score *uint64 `json:"Score,omitnil,omitempty" name:"Score"`
}

type BaselineInfo struct {
	// Baseline name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Number of check items
	RuleCount *uint64 `json:"RuleCount,omitnil,omitempty" name:"RuleCount"`

	// Number of affected servers
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Pass status: 0: Failed, 1: Approved
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Baseline ID
	CategoryId *uint64 `json:"CategoryId,omitnil,omitempty" name:"CategoryId"`

	// Last detection time
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// 5: detecting
	MaxStatus *uint64 `json:"MaxStatus,omitnil,omitempty" name:"MaxStatus"`

	// Baseline risk items
	BaselineFailCount *uint64 `json:"BaselineFailCount,omitnil,omitempty" name:"BaselineFailCount"`
}

type BaselineItem struct {
	// Item ID
	ItemId *int64 `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// Item Name
	ItemName *string `json:"ItemName,omitnil,omitempty" name:"ItemName"`

	// Detection Item Classification
	CategoryId *int64 `json:"CategoryId,omitnil,omitempty" name:"CategoryId"`

	// Item Description
	ItemDesc *string `json:"ItemDesc,omitnil,omitempty" name:"ItemDesc"`

	// Fixing Method
	FixMethod *string `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`

	// Rule
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Check result description
	DetectResultDesc *string `json:"DetectResultDesc,omitnil,omitempty" name:"DetectResultDesc"`

	// Risk level
	Level *int64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Detection Status. 0: Failed; 1: Ignored; 3: Passed; 5: Under detection
	DetectStatus *int64 `json:"DetectStatus,omitnil,omitempty" name:"DetectStatus"`

	// Host ID
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`

	// host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Public IP address
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// First Occurrence Time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Last Occurrence Time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Can Be Fixed or Not
	CanBeFixed *int64 `json:"CanBeFixed,omitnil,omitempty" name:"CanBeFixed"`

	// Host Security UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BaselineItemDetect struct {
	// Item ID
	ItemId *int64 `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// Item Name
	ItemName *string `json:"ItemName,omitnil,omitempty" name:"ItemName"`

	// Item Description
	ItemDesc *string `json:"ItemDesc,omitnil,omitempty" name:"ItemDesc"`

	// Fixing Method
	FixMethod *string `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`

	// Rule
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// 0: Failed; 1: Ignored; 3: Passed; 5: Under detection
	DetectStatus *int64 `json:"DetectStatus,omitnil,omitempty" name:"DetectStatus"`

	// Risk level
	Level *int64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Number of affected servers
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// First detection time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Last detection time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Detection result; JSON string.
	DetectResult *string `json:"DetectResult,omitnil,omitempty" name:"DetectResult"`

	// Rule ID.
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Number of servers passed.
	PassedHostCount *int64 `json:"PassedHostCount,omitnil,omitempty" name:"PassedHostCount"`

	// Number of servers failed.
	NotPassedHostCount *int64 `json:"NotPassedHostCount,omitnil,omitempty" name:"NotPassedHostCount"`
}

type BaselineItemInfo struct {
	// Baseline Detection Item ID
	ItemId *int64 `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// Detection Item Name
	ItemName *string `json:"ItemName,omitnil,omitempty" name:"ItemName"`

	// ID of the Rule to Which the Detection Item Belongs
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Detection item description
	ItemDesc *string `json:"ItemDesc,omitnil,omitempty" name:"ItemDesc"`

	// Remediation Method for Inspection Items
	FixMethod *string `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`

	// Rule Name of Detection Item
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Risk level
	Level *int64 `json:"Level,omitnil,omitempty" name:"Level"`

	// System Rule ID
	SysRuleId *int64 `json:"SysRuleId,omitnil,omitempty" name:"SysRuleId"`

	// Referenced Custom Rule Information
	RelatedCustomRuleInfo []*BaselineCustomRuleIdName `json:"RelatedCustomRuleInfo,omitnil,omitempty" name:"RelatedCustomRuleInfo"`
}

type BaselinePolicy struct {
	// Policy name, which is no more than 128 English characters in length.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Detection interval [1: 1 day|3: 3 days|5: 5 days|7: 7 days]
	DetectInterval *int64 `json:"DetectInterval,omitnil,omitempty" name:"DetectInterval"`

	// Detection time
	DetectTime *string `json:"DetectTime,omitnil,omitempty" name:"DetectTime"`

	// Whether enabled [0: not enabled|1: enabled]
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Asset type [0: all Professional and Ultimate editions|1: ID | 2: IP]
	AssetType *int64 `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Policy ID
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Number of associated baseline items
	RuleCount *int64 `json:"RuleCount,omitnil,omitempty" name:"RuleCount"`

	// Number of associated baseline items
	ItemCount *int64 `json:"ItemCount,omitnil,omitempty" name:"ItemCount"`

	// Number of associated baseline hosts
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Rule ID
	RuleIds []*int64 `json:"RuleIds,omitnil,omitempty" name:"RuleIds"`

	// Host ID
	HostIds []*string `json:"HostIds,omitnil,omitempty" name:"HostIds"`

	// Host IP
	HostIps []*string `json:"HostIps,omitnil,omitempty" name:"HostIps"`

	// Whether the system default
	IsDefault *int64 `json:"IsDefault,omitnil,omitempty" name:"IsDefault"`
}

type BaselineRuleInfo struct {
	// Detection item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Detection item description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Fixing suggestion
	FixMessage *string `json:"FixMessage,omitnil,omitempty" name:"FixMessage"`

	// Severity level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Status
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Detection Item ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Last detection Time
	LastScanAt *string `json:"LastScanAt,omitnil,omitempty" name:"LastScanAt"`

	// Specific reason explanation
	RuleRemark *string `json:"RuleRemark,omitnil,omitempty" name:"RuleRemark"`

	// Unique UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Unique event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type BaselineRuleTopInfo struct {
	// Baseline detection item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Detection item hazard level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Total number of events
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Detection item ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`
}

type BaselineWeakPassword struct {
	// Password ID
	PasswordId *int64 `json:"PasswordId,omitnil,omitempty" name:"PasswordId"`

	// Password
	WeakPassword *string `json:"WeakPassword,omitnil,omitempty" name:"WeakPassword"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type BashEvent struct {
	// Data ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWPP ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	Hostip *string `json:"Hostip,omitnil,omitempty" name:"Hostip"`

	// Username for execution
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Platform type
	Platform *uint64 `json:"Platform,omitnil,omitempty" name:"Platform"`

	// Executed commands
	BashCmd *string `json:"BashCmd,omitnil,omitempty" name:"BashCmd"`

	// Rule ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Rule level: 1 - high-risk 2 - medium-risk; 3 - low-risk
	RuleLevel *uint64 `json:"RuleLevel,omitnil,omitempty" name:"RuleLevel"`

	// Processing status: 0 - pending; 1 - processed; 2 - allowlisted; 3 - ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// 0: bash log; 1: real-time monitoring (Thunder Edition)
	DetectBy *uint64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	// Process id
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Process name
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category. 0: system rule; 1: user rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression
	RegexBashCmd *string `json:"RegexBashCmd,omitnil,omitempty" name:"RegexBashCmd"`

	// Host name.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`
}

type BashEventNew struct {
	// Data ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWPP ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Username for execution
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Platform type
	Platform *uint64 `json:"Platform,omitnil,omitempty" name:"Platform"`

	// Execute commands
	BashCmd *string `json:"BashCmd,omitnil,omitempty" name:"BashCmd"`

	// Rule ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Rule level: 1: high-risk 2: medium-risk; 3: low-risk
	RuleLevel *uint64 `json:"RuleLevel,omitnil,omitempty" name:"RuleLevel"`

	// Processing status: 0: pending; 1: processed; 2: allowlisted; 3: ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// 0: bash log; 1: real-time monitoring (Thunder Edition)
	DetectBy *uint64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	// Process id
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Process name
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category. 0: system rule; 1: user rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Escaped regular expression.
	RegexBashCmd *string `json:"RegexBashCmd,omitnil,omitempty" name:"RegexBashCmd"`

	// Escaped regular expression.
	RegexExe *string `json:"RegexExe,omitnil,omitempty" name:"RegexExe"`

	// 0: Normal; 1: Pro edition; 2: Flagship edition
	MachineType *int64 `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Additional Information on Machine
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BashEventsInfo struct {
	// Data ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Platform type
	Platform *uint64 `json:"Platform,omitnil,omitempty" name:"Platform"`

	// Executed commands
	BashCmd *string `json:"BashCmd,omitnil,omitempty" name:"BashCmd"`

	// Rule ID equals 0 indicating that the rule has been deleted or the effective scope has been modified.
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Rule level: 1 - high-risk 2 - medium-risk; 3 - low-risk
	RuleLevel *uint64 `json:"RuleLevel,omitnil,omitempty" name:"RuleLevel"`

	// Processing status. 0: Pending; 1: Processed; 2: Whitelisted; 3: Ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Process name
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category. 0: system rule; 1: user rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression
	RegexBashCmd *string `json:"RegexBashCmd,omitnil,omitempty" name:"RegexBashCmd"`

	// Process tree json pid: process ID; exe: file path; account: groups and users to which the process belongs; cmdline: execute commands; ssh_service: SSH service IP; ssh_source: log-in source
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Recommended solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Description
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Tag.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Reference link
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status: OFFLINE; ONLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Log-in user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Process ID
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Data source
	DetectBy *string `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`
}

type BashEventsInfoNew struct {
	// Data ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWPP ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Platform type
	Platform *uint64 `json:"Platform,omitnil,omitempty" name:"Platform"`

	// Executed commands
	BashCmd *string `json:"BashCmd,omitnil,omitempty" name:"BashCmd"`

	// Rule ID equals 0 indicating that the rule has been deleted or the effective scope has been modified.
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Rule level: 1 - high-risk 2 - medium-risk; 3 - low-risk
	RuleLevel *uint64 `json:"RuleLevel,omitnil,omitempty" name:"RuleLevel"`

	// Processing status: 0: Pending; 1: Processed; 2: Whitelisted; 3: Ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Process name
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category. 0: system rule; 1: user rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression
	RegexBashCmd *string `json:"RegexBashCmd,omitnil,omitempty" name:"RegexBashCmd"`

	// Process tree json pid: process ID; exe: file path; account: groups and users to which the process belongs; cmdline: execute commands; ssh_service: SSH service IP; ssh_source: log-in source
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Recommended solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Description
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Tag.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Reference link
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status: OFFLINE; ONLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Log-in user
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Process ID
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// 0: Ordinary 1: Pro Edition 2: Flagship Edition
	MachineType *int64 `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Source of Detection: 0: bash log; 1: real-time monitoring
	DetectBy *int64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	// Execute commands (decoded)
	BashCmdDecoded *string `json:"BashCmdDecoded,omitnil,omitempty" name:"BashCmdDecoded"`
}

type BashPolicy struct {
	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// 1: valid; 0: invalid
	Enable *int64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// 0: blocklist; 1: allowlist
	White *int64 `json:"White,omitnil,omitempty" name:"White"`

	// 0: alarm; 1: allowlist; 2: intercept
	BashAction *int64 `json:"BashAction,omitnil,omitempty" name:"BashAction"`

	// Regular expression, encrypted with Base64. This field is deprecated. If you enter this parameter, it will be automatically replaced with Rules.Process.CmdLine.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Risk level (0: none; 1: high-risk; 2: medium-risk; 3: low-risk)
	Level *int64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Effective scope (0: a group of QUUID; 1: all professional editions (including ultimate edition); 2: all ultimate editions; 3: all hosts)
	Scope *int64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Policy ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy description
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// When it is added to the allowlist, the event ID needs to be passed in.
	EventId *int64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to add existing events to the allowlist. 0: no; 1: yes.
	DealOldEvents *int64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// QUUID set for effective hosts
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Policy type: 0 - system; 1 - user
	Category *int64 `json:"Category,omitnil,omitempty" name:"Category"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Compatibility with older versions may be needed.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Rule expression
	Rules *PolicyRules `json:"Rules,omitnil,omitempty" name:"Rules"`
}

type BashRule struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Rule name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Risk level (0: none, 1: high-risk, 2: medium-risk, 3: low-risk)
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Regular expression
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Rule description
	//
	// Deprecated: Decription is deprecated.
	Decription *string `json:"Decription,omitnil,omitempty" name:"Decription"`

	// Operator
	Operator *string `json:"Operator,omitnil,omitempty" name:"Operator"`

	// Whether a global rule
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Status (0: valid; 1: invalid)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Host IP
	Hostip *string `json:"Hostip,omitnil,omitempty" name:"Hostip"`

	// Array of UUIDs for active servers
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0: blocklist 1: allowlist
	White *uint64 `json:"White,omitnil,omitempty" name:"White"`

	// Whether to process previous events: 0: do not process; 1: process
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Rule description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type BroadcastInfo struct {
	// article name
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Redirection location: 0: no redirection; 1: malicious file scan; 2: vulnerability scanning; 3: security baseline
	GotoType *uint64 `json:"GotoType,omitnil,omitempty" name:"GotoType"`

	// Subtitle
	Subtitle *string `json:"Subtitle,omitnil,omitempty" name:"Subtitle"`

	// Release time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Rich text content information
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Article unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Type: 0: emergency notification; 1: feature update; 2: industry honor; 3: version release
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`
}

type Broadcasts struct {
	// article name
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Type: 0: emergency notification; 1: feature update; 2: industry honor; 3: version release
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Subtitle
	Subtitle *string `json:"Subtitle,omitnil,omitempty" name:"Subtitle"`

	// Release time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Article unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Severity level. 0: none; 1: critical; 2: high-risk; 3: medium-risk; 4: low-risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`
}

type BruteAttackInfo struct {
	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWP client UUID.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Username.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Source IP
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// SUCCESS: cracking successful; FAILED: cracking failed
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Country/Region ID
	Country *uint64 `json:"Country,omitnil,omitempty" name:"Country"`

	// City ID
	City *uint64 `json:"City,omitnil,omitempty" name:"City"`

	// Province id
	Province *uint64 `json:"Province,omitnil,omitempty" name:"Province"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// 0 - No blocking (not supported by the client version)
	// 1: blocked
	// 2: Blocking failed (program exception)
	// 3: No blocking (No blocking for the private network)
	// 4: Availability zone does not support blocking
	// 10: blocking
	// 81: no blocking (blocking disabled)
	// 82-No Blocking (Non-Pro Edition)
	// 83: no blocking (added to the allowlist)
	// 86: no blocking (system allowlist)
	// 87: No blocking (client offline)
	// 88-No blocking (Source Ip belongs to the same customer)
	// 89: no blocking (blocking is not supported for ipv6)
	BanStatus *uint64 `json:"BanStatus,omitnil,omitempty" name:"BanStatus"`

	// Event type: 200 - brute force cracking event; 300 - successful brute force cracking event (the status is displayed on the page); 400 - brute force cracking event for non-existent accounts.
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Occurrence count
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// CVM instance UUID.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Whether it is the Pro Edition (true/false)
	IsProVersion *bool `json:"IsProVersion,omitnil,omitempty" name:"IsProVersion"`

	// Username of the attacked service
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Port
	Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"`

	// Last attack time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// 0: pending; 1: ignored; 5: fixed; 6: added to allowlist
	DataStatus *uint64 `json:"DataStatus,omitnil,omitempty" name:"DataStatus"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Chinese name of a geo location.
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`

	// Threat level. 0: low risk, 1: medium risk, 2: high risk.
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Event source. 0: blocking rule, 1: threat intelligence.
	DataFrom *int64 `json:"DataFrom,omitnil,omitempty" name:"DataFrom"`

	// Cracking status description.
	AttackStatusDesc *string `json:"AttackStatusDesc,omitnil,omitempty" name:"AttackStatusDesc"`

	// Block expiration time (only valid for blocked events).
	BanExpiredTime *string `json:"BanExpiredTime,omitnil,omitempty" name:"BanExpiredTime"`

	// IP analysis
	IPAnalyse *IPAnalyse `json:"IPAnalyse,omitnil,omitempty" name:"IPAnalyse"`
}

type BruteAttackRule struct {
	// Timeframe of the brute force event (unit: second)
	TimeRange *uint64 `json:"TimeRange,omitnil,omitempty" name:"TimeRange"`

	// Number of failed attempts during the brute force event
	LoginFailTimes *uint64 `json:"LoginFailTimes,omitnil,omitempty" name:"LoginFailTimes"`
}

type BruteAttackRuleList struct {
	// Timeframe of the brute force cracking event (unit: second)
	TimeRange *uint64 `json:"TimeRange,omitnil,omitempty" name:"TimeRange"`

	// Number of failed attempts during the brute force cracking event
	LoginFailTimes *uint64 `json:"LoginFailTimes,omitnil,omitempty" name:"LoginFailTimes"`

	// Whether the rule is empty. If yes, fill in the default rule.
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Occurrence time range of brute force cracking events, in seconds (default rule)
	TimeRangeDefault *uint64 `json:"TimeRangeDefault,omitnil,omitempty" name:"TimeRangeDefault"`

	// Number of failed brute force cracking events (default rule)
	LoginFailTimesDefault *uint64 `json:"LoginFailTimesDefault,omitnil,omitempty" name:"LoginFailTimesDefault"`
}

type CKafkaInstanceInfo struct {
	// Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Version No.
	KafkaVersion *string `json:"KafkaVersion,omitnil,omitempty" name:"KafkaVersion"`

	// Topic list
	TopicList []*CKafkaTopicInfo `json:"TopicList,omitnil,omitempty" name:"TopicList"`

	// Routing List
	RouteList []*CKafkaRouteInfo `json:"RouteList,omitnil,omitempty" name:"RouteList"`

	// Disk capacity (unit: GB)
	DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// vpcId. Leaving it blank indicates a basic network.
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Status: 1 - healthy; 2 - alarm; 3 - abnormal instance status
	Healthy *int64 `json:"Healthy,omitnil,omitempty" name:"Healthy"`

	// Availability zone
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Region
	Az *string `json:"Az,omitnil,omitempty" name:"Az"`

	// Instance bandwidth (unit: Mbps)
	Bandwidth *int64 `json:"Bandwidth,omitnil,omitempty" name:"Bandwidth"`
}

type CKafkaRouteInfo struct {
	// Routing ID
	RouteID *int64 `json:"RouteID,omitnil,omitempty" name:"RouteID"`

	// Domain name
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Domain Port
	DomainPort *uint64 `json:"DomainPort,omitnil,omitempty" name:"DomainPort"`

	// Virtual IP
	Vip *string `json:"Vip,omitnil,omitempty" name:"Vip"`

	// Virtual IP address type. 1: public network TGW; 2: basic network; 3: VPC; 4: supporting network (standard edition); 5: SSL public network access; 6: VPC in the bare metal environment; 7: supporting network (Pro).
	VipType *int64 `json:"VipType,omitnil,omitempty" name:"VipType"`

	// Access type
	// 0: PLAINTEXT (plaintext mode, no user information included, supported by older versions and community edition)
	// 1: SASL_PLAINTEXT (plaintext mode, however, login authentication with SASL is performed at the start of data transmission, only supported by community version)
	// 2: SSL (SSL encrypted communication, no user information included, supported by older versions and community edition)
	// 3: SASL_SSL (SSL encrypted communication. Authenticate the login with SASL when data transmission starts. Only supported by community version)
	AccessType *int64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`
}

type CKafkaTopicInfo struct {
	// Topic ID
	TopicID *string `json:"TopicID,omitnil,omitempty" name:"TopicID"`

	// Topic name
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`
}

type CanFixVulInfo struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Information on hosts where this vulnerability can be fixed
	HostList []*VulInfoHostInfo `json:"HostList,omitnil,omitempty" name:"HostList"`

	// Fixing prompt tag
	FixTag []*string `json:"FixTag,omitnil,omitempty" name:"FixTag"`

	// Vulnerability category. 1: web CMS vulnerability, 2: application vulnerability, 4: Linux software vulnerability, 5 Windows system vulnerability.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`
}

type CanNotSeparateInfo struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Reason for isolation failure: 1 - agent offline
	Reason *uint64 `json:"Reason,omitnil,omitempty" name:"Reason"`
}

// Predefined struct for user
type ChangeRuleEventsIgnoreStatusRequestParams struct {
	// Ignore status: 0: unignore; 1: ignore
	IgnoreStatus *uint64 `json:"IgnoreStatus,omitnil,omitempty" name:"IgnoreStatus"`

	// Detection item ID array
	RuleIdList []*uint64 `json:"RuleIdList,omitnil,omitempty" name:"RuleIdList"`

	// Event ID array
	EventIdList []*uint64 `json:"EventIdList,omitnil,omitempty" name:"EventIdList"`
}

type ChangeRuleEventsIgnoreStatusRequest struct {
	*tchttp.BaseRequest
	
	// Ignore status: 0: unignore; 1: ignore
	IgnoreStatus *uint64 `json:"IgnoreStatus,omitnil,omitempty" name:"IgnoreStatus"`

	// Detection item ID array
	RuleIdList []*uint64 `json:"RuleIdList,omitnil,omitempty" name:"RuleIdList"`

	// Event ID array
	EventIdList []*uint64 `json:"EventIdList,omitnil,omitempty" name:"EventIdList"`
}

func (r *ChangeRuleEventsIgnoreStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ChangeRuleEventsIgnoreStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IgnoreStatus")
	delete(f, "RuleIdList")
	delete(f, "EventIdList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ChangeRuleEventsIgnoreStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ChangeRuleEventsIgnoreStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ChangeRuleEventsIgnoreStatusResponse struct {
	*tchttp.BaseResponse
	Response *ChangeRuleEventsIgnoreStatusResponseParams `json:"Response"`
}

func (r *ChangeRuleEventsIgnoreStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ChangeRuleEventsIgnoreStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ChangeStrategyEnableStatusRequestParams struct {
	// Baseline policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Enabling status
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type ChangeStrategyEnableStatusRequest struct {
	*tchttp.BaseRequest
	
	// Baseline policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Enabling status
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ChangeStrategyEnableStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ChangeStrategyEnableStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyId")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ChangeStrategyEnableStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ChangeStrategyEnableStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ChangeStrategyEnableStatusResponse struct {
	*tchttp.BaseResponse
	Response *ChangeStrategyEnableStatusResponseParams `json:"Response"`
}

func (r *ChangeStrategyEnableStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ChangeStrategyEnableStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckBashPolicyParamsRequestParams struct {
	// Verify content field, use commas to separate if necessary to detect multiple fields
	// <li>Name Policy name</li>
	// <li>Process</li>
	// <li>Name PProcess Parent process</li>
	// <li>Name AProcess Ancestor process</li>
	CheckField *string `json:"CheckField,omitnil,omitempty" name:"CheckField"`

	// Event ID needs to be submitted when allowlisting an event in the event list.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Name of rule to be entered
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// This field is not in maintenance. If you fill in this parameter, it will automatically replace to Rules.Process.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Rule ID passed during editing
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Rule expression
	Rules *PolicyRules `json:"Rules,omitnil,omitempty" name:"Rules"`
}

type CheckBashPolicyParamsRequest struct {
	*tchttp.BaseRequest
	
	// Verify content field, use commas to separate if necessary to detect multiple fields
	// <li>Name Policy name</li>
	// <li>Process</li>
	// <li>Name PProcess Parent process</li>
	// <li>Name AProcess Ancestor process</li>
	CheckField *string `json:"CheckField,omitnil,omitempty" name:"CheckField"`

	// Event ID needs to be submitted when allowlisting an event in the event list.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Name of rule to be entered
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// This field is not in maintenance. If you fill in this parameter, it will automatically replace to Rules.Process.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Rule ID passed during editing
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Rule expression
	Rules *PolicyRules `json:"Rules,omitnil,omitempty" name:"Rules"`
}

func (r *CheckBashPolicyParamsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckBashPolicyParamsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CheckField")
	delete(f, "EventId")
	delete(f, "Name")
	delete(f, "Rule")
	delete(f, "Id")
	delete(f, "Rules")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckBashPolicyParamsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckBashPolicyParamsResponseParams struct {
	// 0: verification passed; 1: rule name verification failed; 2: regular expression verification failed.
	ErrCode *uint64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Verification information
	ErrMsg *string `json:"ErrMsg,omitnil,omitempty" name:"ErrMsg"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CheckBashPolicyParamsResponse struct {
	*tchttp.BaseResponse
	Response *CheckBashPolicyParamsResponseParams `json:"Response"`
}

func (r *CheckBashPolicyParamsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckBashPolicyParamsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckBashRuleParamsRequestParams struct {
	// Verify content Name or Rule. (Use a comma to separate them if both need to be verified.)
	CheckField *string `json:"CheckField,omitnil,omitempty" name:"CheckField"`

	// Event ID needs to be submitted when allowlisting an event in the event list.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Name of rule to be entered
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The regular expression to be entered by the user: It must match command content corresponding to the submitted EventId.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Rule ID passed during editing
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type CheckBashRuleParamsRequest struct {
	*tchttp.BaseRequest
	
	// Verify content Name or Rule. (Use a comma to separate them if both need to be verified.)
	CheckField *string `json:"CheckField,omitnil,omitempty" name:"CheckField"`

	// Event ID needs to be submitted when allowlisting an event in the event list.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Name of rule to be entered
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// The regular expression to be entered by the user: It must match command content corresponding to the submitted EventId.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Rule ID passed during editing
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *CheckBashRuleParamsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckBashRuleParamsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CheckField")
	delete(f, "EventId")
	delete(f, "Name")
	delete(f, "Rule")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckBashRuleParamsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckBashRuleParamsResponseParams struct {
	// 0: verification passed; 1: rule name verification failed; 2: regular expression verification failed.
	ErrCode *uint64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Verification information
	ErrMsg *string `json:"ErrMsg,omitnil,omitempty" name:"ErrMsg"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CheckBashRuleParamsResponse struct {
	*tchttp.BaseResponse
	Response *CheckBashRuleParamsResponseParams `json:"Response"`
}

func (r *CheckBashRuleParamsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckBashRuleParamsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckFileTamperRuleRequestParams struct {
	// Name of rule to be entered
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Rule ID passed during editing
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type CheckFileTamperRuleRequest struct {
	*tchttp.BaseRequest
	
	// Name of rule to be entered
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Rule ID passed during editing
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *CheckFileTamperRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckFileTamperRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckFileTamperRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckFileTamperRuleResponseParams struct {
	// 0=verification passed; 1=rule name verification failed
	ErrCode *uint64 `json:"ErrCode,omitnil,omitempty" name:"ErrCode"`

	// Verification information
	ErrMsg *string `json:"ErrMsg,omitnil,omitempty" name:"ErrMsg"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CheckFileTamperRuleResponse struct {
	*tchttp.BaseResponse
	Response *CheckFileTamperRuleResponseParams `json:"Response"`
}

func (r *CheckFileTamperRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckFileTamperRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckFirstScanBaselineRequestParams struct {

}

type CheckFirstScanBaselineRequest struct {
	*tchttp.BaseRequest
	
}

func (r *CheckFirstScanBaselineRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckFirstScanBaselineRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckFirstScanBaselineRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckFirstScanBaselineResponseParams struct {
	// Whether the first detection: 0 - no; 1 - yes
	FirstScan *uint64 `json:"FirstScan,omitnil,omitempty" name:"FirstScan"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CheckFirstScanBaselineResponse struct {
	*tchttp.BaseResponse
	Response *CheckFirstScanBaselineResponseParams `json:"Response"`
}

func (r *CheckFirstScanBaselineResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckFirstScanBaselineResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckLogKafkaConnectionStateRequestParams struct {
	// Access method: 1 - public network domain name access; 2 - supported environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address: domain name or IP, with port
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// 0 - without password; 1 - with password
	HasPwd *uint64 `json:"HasPwd,omitnil,omitempty" name:"HasPwd"`

	// Password, using AES encryption
	Pwd *string `json:"Pwd,omitnil,omitempty" name:"Pwd"`

	// Kafka instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Kafka version
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`
}

type CheckLogKafkaConnectionStateRequest struct {
	*tchttp.BaseRequest
	
	// Access method: 1 - public network domain name access; 2 - supported environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address: domain name or IP, with port
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// 0 - without password; 1 - with password
	HasPwd *uint64 `json:"HasPwd,omitnil,omitempty" name:"HasPwd"`

	// Password, using AES encryption
	Pwd *string `json:"Pwd,omitnil,omitempty" name:"Pwd"`

	// Kafka instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Kafka version
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`
}

func (r *CheckLogKafkaConnectionStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckLogKafkaConnectionStateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AccessType")
	delete(f, "AccessAddr")
	delete(f, "Username")
	delete(f, "HasPwd")
	delete(f, "Pwd")
	delete(f, "KafkaId")
	delete(f, "InsVersion")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckLogKafkaConnectionStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CheckLogKafkaConnectionStateResponseParams struct {
	// true: connected; false: not connected.
	IsConnect *bool `json:"IsConnect,omitnil,omitempty" name:"IsConnect"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CheckLogKafkaConnectionStateResponse struct {
	*tchttp.BaseResponse
	Response *CheckLogKafkaConnectionStateResponseParams `json:"Response"`
}

func (r *CheckLogKafkaConnectionStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CheckLogKafkaConnectionStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ClearLocalStorageRequestParams struct {

}

type ClearLocalStorageRequest struct {
	*tchttp.BaseRequest
	
}

func (r *ClearLocalStorageRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ClearLocalStorageRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ClearLocalStorageRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ClearLocalStorageResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ClearLocalStorageResponse struct {
	*tchttp.BaseResponse
	Response *ClearLocalStorageResponseParams `json:"Response"`
}

func (r *ClearLocalStorageResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ClearLocalStorageResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ClientSettingHost struct {
	// Record ID of the corresponding database host
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Public IP address
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host status
	// <li>OFFLINE: Offline</li>
	// <li>ONLINE: Online</li>
	// <li>SHUTDOWN: Shut down</li>
	// <li>UNINSTALLED: Unprotected</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// ins-sad143
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Region information
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// <li>0: disabled</li>
	// <li>1:  Enable</li>
	// <li>2: Enabled </li>
	// <li>3: Turning off</li>
	// <li>9: not set</li>
	FunctionStatus *uint64 `json:"FunctionStatus,omitnil,omitempty" name:"FunctionStatus"`

	// The following fixed values require special handling by the frontend, other failures can be shown directly.
	// 1. UNINSTALLED -- Not installed
	// 2. NEED_UPGRADE -- Upgrade required
	// 3. NOT_RUNNING -- Shutdown
	// 4. NO_PASSWORD -- Password login is not enabled and cannot be enabled.
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Reason for failure
	MessageDesc *string `json:"MessageDesc,omitnil,omitempty" name:"MessageDesc"`

	// Instance status
	// <li>RUNNING: running</li>
	// <li>STOPPED: Shut down</li>
	// <li>EXPIRED: To be recycled</li>
	InstanceStatus *string `json:"InstanceStatus,omitnil,omitempty" name:"InstanceStatus"`
}

type CloudFromCnt struct {
	// Cloud server type
	CloudFrom *uint64 `json:"CloudFrom,omitnil,omitempty" name:"CloudFrom"`

	// Number of Machines
	MachineCnt *int64 `json:"MachineCnt,omitnil,omitempty" name:"MachineCnt"`
}

type CommandLine struct {
	// Path, which needs to be encrypted using Base64.
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Command line, which needs to be encrypted using Base64.
	Cmdline *string `json:"Cmdline,omitnil,omitempty" name:"Cmdline"`
}

// Predefined struct for user
type CreateBanWhiteListRequestParams struct {
	// Block rules
	Rules *BanWhiteList `json:"Rules,omitnil,omitempty" name:"Rules"`

	// Event list ID, which is passed when the event list is allowlisted. After it is successfully allowlisted, the events in the list will be marked as whitelisted.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type CreateBanWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Block rules
	Rules *BanWhiteList `json:"Rules,omitnil,omitempty" name:"Rules"`

	// Event list ID, which is passed when the event list is allowlisted. After it is successfully allowlisted, the events in the list will be marked as whitelisted.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *CreateBanWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBanWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Rules")
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateBanWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBanWhiteListResponseParams struct {
	// Whether a global rule
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Whether the addition of a rule would result in a duplicate
	IsDuplicate *bool `json:"IsDuplicate,omitnil,omitempty" name:"IsDuplicate"`

	// Information on duplicate machines
	DuplicateHosts []*DuplicateHosts `json:"DuplicateHosts,omitnil,omitempty" name:"DuplicateHosts"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateBanWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *CreateBanWhiteListResponseParams `json:"Response"`
}

func (r *CreateBanWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBanWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBaselineStrategyRequestParams struct {
	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Check cycle, indicating the number of days between checks. Example: 2, indicating that the check is carried out every 2 days.
	ScanCycle *uint64 `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Time for a periodic check. The scan task is issued at this time. Example: "22:00", indicating that the task is issued at 22:00.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Array of selected baseline IDs under this policy. Example: [1,3,5,7]
	CategoryIds []*uint64 `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// Whether all servers are scanned. 1: yes; 0: no. If the value is 1, all Professional Edition hosts are scanned.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Cloud host type:
	// CVM: virtual machine
	// BM: bare metal server
	// ECM: edge computing machine
	// LH: Lighthouse 
	// Other: hybrid cloud machine
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Host region. Example: "ap-guangzhou"
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// Host ID array. Example: ["quuid1","quuid2"]
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type CreateBaselineStrategyRequest struct {
	*tchttp.BaseRequest
	
	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Check cycle, indicating the number of days between checks. Example: 2, indicating that the check is carried out every 2 days.
	ScanCycle *uint64 `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Time for a periodic check. The scan task is issued at this time. Example: "22:00", indicating that the task is issued at 22:00.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Array of selected baseline IDs under this policy. Example: [1,3,5,7]
	CategoryIds []*uint64 `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// Whether all servers are scanned. 1: yes; 0: no. If the value is 1, all Professional Edition hosts are scanned.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Cloud host type:
	// CVM: virtual machine
	// BM: bare metal server
	// ECM: edge computing machine
	// LH: Lighthouse 
	// Other: hybrid cloud machine
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Host region. Example: "ap-guangzhou"
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// Host ID array. Example: ["quuid1","quuid2"]
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *CreateBaselineStrategyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBaselineStrategyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyName")
	delete(f, "ScanCycle")
	delete(f, "ScanAt")
	delete(f, "CategoryIds")
	delete(f, "IsGlobal")
	delete(f, "MachineType")
	delete(f, "RegionCode")
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateBaselineStrategyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBaselineStrategyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateBaselineStrategyResponse struct {
	*tchttp.BaseResponse
	Response *CreateBaselineStrategyResponseParams `json:"Response"`
}

func (r *CreateBaselineStrategyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBaselineStrategyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBuyBindTaskRequestParams struct {
	// Order Number
	DealName *string `json:"DealName,omitnil,omitempty" name:"DealName"`

	// Optional parameters. 1: Pro Edition-yearly/monthly subscription; 2: Ultimate Edition-yearly/monthly subscription
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Machine list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether to select all machines
	IsAll *bool `json:"IsAll,omitnil,omitempty" name:"IsAll"`
}

type CreateBuyBindTaskRequest struct {
	*tchttp.BaseRequest
	
	// Order Number
	DealName *string `json:"DealName,omitnil,omitempty" name:"DealName"`

	// Optional parameters. 1: Pro Edition-yearly/monthly subscription; 2: Ultimate Edition-yearly/monthly subscription
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Machine list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether to select all machines
	IsAll *bool `json:"IsAll,omitnil,omitempty" name:"IsAll"`
}

func (r *CreateBuyBindTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBuyBindTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "DealName")
	delete(f, "LicenseType")
	delete(f, "QuuidList")
	delete(f, "IsAll")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateBuyBindTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateBuyBindTaskResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateBuyBindTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateBuyBindTaskResponseParams `json:"Response"`
}

func (r *CreateBuyBindTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateBuyBindTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateEmergencyVulScanRequestParams struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Array of host UUID strings. This parameter is valid for specified servers.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Scan timeout duration, in seconds.
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`
}

type CreateEmergencyVulScanRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Array of host UUID strings. This parameter is valid for specified servers.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Scan timeout duration, in seconds.
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`
}

func (r *CreateEmergencyVulScanRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateEmergencyVulScanRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulId")
	delete(f, "Uuids")
	delete(f, "TimeoutPeriod")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateEmergencyVulScanRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateEmergencyVulScanResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateEmergencyVulScanResponse struct {
	*tchttp.BaseResponse
	Response *CreateEmergencyVulScanResponseParams `json:"Response"`
}

func (r *CreateEmergencyVulScanResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateEmergencyVulScanResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateIncidentBacktrackingRequestParams struct {
	// CWPP QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type CreateIncidentBacktrackingRequest struct {
	*tchttp.BaseRequest
	
	// CWPP QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

func (r *CreateIncidentBacktrackingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateIncidentBacktrackingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateIncidentBacktrackingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateIncidentBacktrackingResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateIncidentBacktrackingResponse struct {
	*tchttp.BaseResponse
	Response *CreateIncidentBacktrackingResponseParams `json:"Response"`
}

func (r *CreateIncidentBacktrackingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateIncidentBacktrackingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateLicenseOrderRequestParams struct {
	// Tag array. Leaving it blank indicates no tags need to be bound.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Authorization type. 0: Pro Edition-pay-as-you-go; 1: Pro Edition-yearly/monthly subscription; 2 - Ultimate Edition-yearly/monthly subscription default is 0.
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Authorization quantity: the number of units that need to be purchased
	// The default is 1.
	LicenseNum *uint64 `json:"LicenseNum,omitnil,omitempty" name:"LicenseNum"`

	// Region of purchase order. In this case, only 1 - Guangzhou and 9 - Singapore are supported. Guangzhou is recommended. Singapore region is reserved for allowlisted users.
	// The default is 1.
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Project ID
	// The default is 0.
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Purchase duration, with a default value of 1. The optional values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, and 36
	// This parameter is only valid for monthly subscription.
	TimeSpan *uint64 `json:"TimeSpan,omitnil,omitempty" name:"TimeSpan"`

	// Whether to auto-renew. The default is not to auto-renew.
	// This parameter is only valid for yearly/monthly subscription.
	AutoRenewFlag *bool `json:"AutoRenewFlag,omitnil,omitempty" name:"AutoRenewFlag"`

	// This field is deprecated.
	AutoProtectOpenConfig *string `json:"AutoProtectOpenConfig,omitnil,omitempty" name:"AutoProtectOpenConfig"`

	// Reconfiguration Parameters
	ModifyConfig *OrderModifyObject `json:"ModifyConfig,omitnil,omitempty" name:"ModifyConfig"`
}

type CreateLicenseOrderRequest struct {
	*tchttp.BaseRequest
	
	// Tag array. Leaving it blank indicates no tags need to be bound.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Authorization type. 0: Pro Edition-pay-as-you-go; 1: Pro Edition-yearly/monthly subscription; 2 - Ultimate Edition-yearly/monthly subscription default is 0.
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Authorization quantity: the number of units that need to be purchased
	// The default is 1.
	LicenseNum *uint64 `json:"LicenseNum,omitnil,omitempty" name:"LicenseNum"`

	// Region of purchase order. In this case, only 1 - Guangzhou and 9 - Singapore are supported. Guangzhou is recommended. Singapore region is reserved for allowlisted users.
	// The default is 1.
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Project ID
	// The default is 0.
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Purchase duration, with a default value of 1. The optional values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, and 36
	// This parameter is only valid for monthly subscription.
	TimeSpan *uint64 `json:"TimeSpan,omitnil,omitempty" name:"TimeSpan"`

	// Whether to auto-renew. The default is not to auto-renew.
	// This parameter is only valid for yearly/monthly subscription.
	AutoRenewFlag *bool `json:"AutoRenewFlag,omitnil,omitempty" name:"AutoRenewFlag"`

	// This field is deprecated.
	AutoProtectOpenConfig *string `json:"AutoProtectOpenConfig,omitnil,omitempty" name:"AutoProtectOpenConfig"`

	// Reconfiguration Parameters
	ModifyConfig *OrderModifyObject `json:"ModifyConfig,omitnil,omitempty" name:"ModifyConfig"`
}

func (r *CreateLicenseOrderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateLicenseOrderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Tags")
	delete(f, "LicenseType")
	delete(f, "LicenseNum")
	delete(f, "RegionId")
	delete(f, "ProjectId")
	delete(f, "TimeSpan")
	delete(f, "AutoRenewFlag")
	delete(f, "AutoProtectOpenConfig")
	delete(f, "ModifyConfig")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateLicenseOrderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateLicenseOrderResponseParams struct {
	// Order ID list
	DealNames []*string `json:"DealNames,omitnil,omitempty" name:"DealNames"`

	// Resource ID list. This field needs to be left blank for prepaid orders.
	ResourceIds []*string `json:"ResourceIds,omitnil,omitempty" name:"ResourceIds"`

	// Large order ID. This field needs to be left blank for postpaid orders.
	BigDealId *string `json:"BigDealId,omitnil,omitempty" name:"BigDealId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateLicenseOrderResponse struct {
	*tchttp.BaseResponse
	Response *CreateLicenseOrderResponseParams `json:"Response"`
}

func (r *CreateLicenseOrderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateLicenseOrderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateLogExportRequestParams struct {
	// Number of logs exported. The maximum value is 50 million.
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Start time of log export, with a timestamp in milliseconds
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of log export, with a timestamp in milliseconds
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Retrieval statements for log export, and [SQL statements] are not supported
	QueryString *string `json:"QueryString,omitnil,omitempty" name:"QueryString"`

	// Sorting for log export time. Valid values are asc and desc, and the default value is desc.
	Sort *string `json:"Sort,omitnil,omitempty" name:"Sort"`

	// Data format for exported log. Valid values are json an csv, the default value is json.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

type CreateLogExportRequest struct {
	*tchttp.BaseRequest
	
	// Number of logs exported. The maximum value is 50 million.
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Start time of log export, with a timestamp in milliseconds
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of log export, with a timestamp in milliseconds
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Retrieval statements for log export, and [SQL statements] are not supported
	QueryString *string `json:"QueryString,omitnil,omitempty" name:"QueryString"`

	// Sorting for log export time. Valid values are asc and desc, and the default value is desc.
	Sort *string `json:"Sort,omitnil,omitempty" name:"Sort"`

	// Data format for exported log. Valid values are json an csv, the default value is json.
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`
}

func (r *CreateLogExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateLogExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Count")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "QueryString")
	delete(f, "Sort")
	delete(f, "Format")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateLogExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateLogExportResponseParams struct {
	// Task ID of exported logs
	ExportId *string `json:"ExportId,omitnil,omitempty" name:"ExportId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateLogExportResponse struct {
	*tchttp.BaseResponse
	Response *CreateLogExportResponseParams `json:"Response"`
}

func (r *CreateLogExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateLogExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateMaliciousRequestWhiteListRequestParams struct {
	// Allowlisted domain names
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Remarks
	Mark *string `json:"Mark,omitnil,omitempty" name:"Mark"`
}

type CreateMaliciousRequestWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlisted domain names
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Remarks
	Mark *string `json:"Mark,omitnil,omitempty" name:"Mark"`
}

func (r *CreateMaliciousRequestWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMaliciousRequestWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Domain")
	delete(f, "Mark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateMaliciousRequestWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateMaliciousRequestWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateMaliciousRequestWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *CreateMaliciousRequestWhiteListResponseParams `json:"Response"`
}

func (r *CreateMaliciousRequestWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMaliciousRequestWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateMalwareWhiteListRequestParams struct {
	// Allowlist mode. 0: MD5 allowlist; 1: customization
	Mode *uint64 `json:"Mode,omitnil,omitempty" name:"Mode"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether applies all hosts. 0: no; 1: yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Matching pattern; 0 for exact match, 1 for fuzzy match (deprecated).
	MatchType *uint64 `json:"MatchType,omitnil,omitempty" name:"MatchType"`

	// File Name (regular expression); up to 200 characters in length
	FileName []*string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File Directory (regular expression); up to 200 characters in length, content base64 encoded.
	FileDirectory []*string `json:"FileDirectory,omitnil,omitempty" name:"FileDirectory"`

	// File Suffix; Up to 200 characters in length, content base64 escaped (deprecated)
	FileExtension []*string `json:"FileExtension,omitnil,omitempty" name:"FileExtension"`

	// MD5 list
	Md5List []*string `json:"Md5List,omitnil,omitempty" name:"Md5List"`

	// Trojan event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to add historical pending events to an allowlist. 0: no, 1: yes.
	IsHandleHistoryEvents *uint64 `json:"IsHandleHistoryEvents,omitnil,omitempty" name:"IsHandleHistoryEvents"`
}

type CreateMalwareWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist mode. 0: MD5 allowlist; 1: customization
	Mode *uint64 `json:"Mode,omitnil,omitempty" name:"Mode"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether applies all hosts. 0: no; 1: yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Matching pattern; 0 for exact match, 1 for fuzzy match (deprecated).
	MatchType *uint64 `json:"MatchType,omitnil,omitempty" name:"MatchType"`

	// File Name (regular expression); up to 200 characters in length
	FileName []*string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File Directory (regular expression); up to 200 characters in length, content base64 encoded.
	FileDirectory []*string `json:"FileDirectory,omitnil,omitempty" name:"FileDirectory"`

	// File Suffix; Up to 200 characters in length, content base64 escaped (deprecated)
	FileExtension []*string `json:"FileExtension,omitnil,omitempty" name:"FileExtension"`

	// MD5 list
	Md5List []*string `json:"Md5List,omitnil,omitempty" name:"Md5List"`

	// Trojan event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to add historical pending events to an allowlist. 0: no, 1: yes.
	IsHandleHistoryEvents *uint64 `json:"IsHandleHistoryEvents,omitnil,omitempty" name:"IsHandleHistoryEvents"`
}

func (r *CreateMalwareWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMalwareWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Mode")
	delete(f, "QuuidList")
	delete(f, "IsGlobal")
	delete(f, "MatchType")
	delete(f, "FileName")
	delete(f, "FileDirectory")
	delete(f, "FileExtension")
	delete(f, "Md5List")
	delete(f, "EventId")
	delete(f, "IsHandleHistoryEvents")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateMalwareWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateMalwareWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateMalwareWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *CreateMalwareWhiteListResponseParams `json:"Response"`
}

func (r *CreateMalwareWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMalwareWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateNetAttackWhiteListRequestParams struct {
	// Whether the allowlist applies to all hosts. 0: no; 1: yes.
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Source IP. Single IP: 1.1.1.1, IP Range: 1.1.1.1-1.1.2.1, IP Range: 1.1.1.0/24 
	SrcIp []*string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to allowlist all alarms that match this rule: 1: Yes, 0: No.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type CreateNetAttackWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Whether the allowlist applies to all hosts. 0: no; 1: yes.
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Source IP. Single IP: 1.1.1.1, IP Range: 1.1.1.1-1.1.2.1, IP Range: 1.1.1.0/24 
	SrcIp []*string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to allowlist all alarms that match this rule: 1: Yes, 0: No.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *CreateNetAttackWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateNetAttackWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Scope")
	delete(f, "SrcIp")
	delete(f, "QuuidList")
	delete(f, "EventId")
	delete(f, "DealOldEvents")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateNetAttackWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateNetAttackWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateNetAttackWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *CreateNetAttackWhiteListResponseParams `json:"Response"`
}

func (r *CreateNetAttackWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateNetAttackWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRansomDefenseStrategyRequestParams struct {
	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Scheduled snapshot execution time (0-23): 01:00; 23:00.
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Policy ID: Modify the policy when filling in the ID. Otherwise, add a new policy.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy Remarks
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Whether to enable: 0 Off, 1 On.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Apply to all machines or not. 0: No; 1: Yes
	IsAll *uint64 `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// Include directories, separated by semicolons (;).
	IncludeDir *string `json:"IncludeDir,omitnil,omitempty" name:"IncludeDir"`

	// Exclude directories, separated by semicolons (;).
	ExcludeDir *string `json:"ExcludeDir,omitnil,omitempty" name:"ExcludeDir"`

	// Backup mode: 0 weekly, 1 daily, 2 do not backup.
	BackupType *uint64 `json:"BackupType,omitnil,omitempty" name:"BackupType"`

	// Scheduled task execution days in a week (1-7): 1; 2; 7.
	Weekday *string `json:"Weekday,omitnil,omitempty" name:"Weekday"`

	// Retention Period: 0 Permanent.
	SaveDay *uint64 `json:"SaveDay,omitnil,omitempty" name:"SaveDay"`

	// Bound Host List
	Machines []*RansomDefenseStrategyMachineInfo `json:"Machines,omitnil,omitempty" name:"Machines"`
}

type CreateRansomDefenseStrategyRequest struct {
	*tchttp.BaseRequest
	
	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Scheduled snapshot execution time (0-23): 01:00; 23:00.
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Policy ID: Modify the policy when filling in the ID. Otherwise, add a new policy.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy Remarks
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Whether to enable: 0 Off, 1 On.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Apply to all machines or not. 0: No; 1: Yes
	IsAll *uint64 `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// Include directories, separated by semicolons (;).
	IncludeDir *string `json:"IncludeDir,omitnil,omitempty" name:"IncludeDir"`

	// Exclude directories, separated by semicolons (;).
	ExcludeDir *string `json:"ExcludeDir,omitnil,omitempty" name:"ExcludeDir"`

	// Backup mode: 0 weekly, 1 daily, 2 do not backup.
	BackupType *uint64 `json:"BackupType,omitnil,omitempty" name:"BackupType"`

	// Scheduled task execution days in a week (1-7): 1; 2; 7.
	Weekday *string `json:"Weekday,omitnil,omitempty" name:"Weekday"`

	// Retention Period: 0 Permanent.
	SaveDay *uint64 `json:"SaveDay,omitnil,omitempty" name:"SaveDay"`

	// Bound Host List
	Machines []*RansomDefenseStrategyMachineInfo `json:"Machines,omitnil,omitempty" name:"Machines"`
}

func (r *CreateRansomDefenseStrategyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRansomDefenseStrategyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Hour")
	delete(f, "Id")
	delete(f, "Description")
	delete(f, "Status")
	delete(f, "IsAll")
	delete(f, "IncludeDir")
	delete(f, "ExcludeDir")
	delete(f, "BackupType")
	delete(f, "Weekday")
	delete(f, "SaveDay")
	delete(f, "Machines")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRansomDefenseStrategyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateRansomDefenseStrategyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateRansomDefenseStrategyResponse struct {
	*tchttp.BaseResponse
	Response *CreateRansomDefenseStrategyResponseParams `json:"Response"`
}

func (r *CreateRansomDefenseStrategyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRansomDefenseStrategyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateScanMalwareSettingRequestParams struct {
	// Scan mode: 0 - full disk scan; 1 - rapid scan
	ScanPattern *uint64 `json:"ScanPattern,omitnil,omitempty" name:"ScanPattern"`

	// Server classification: 1: Professional Edition servers; 2: self-selected servers
	HostType *int64 `json:"HostType,omitnil,omitempty" name:"HostType"`

	// Effective for selected servers; a string array of host QUUIDs
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Timeout unit: seconds, which is 3,600 seconds by default.
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`

	// 1 - standard mode (only critical and high-risk are reported.); 2 - enhanced mode (critical, high-risk, and medium-risk are reported.); 3 - strict mode (critical, high-risk, medium-risk, low-risk, and prompt are reported.)
	EngineType *uint64 `json:"EngineType,omitnil,omitempty" name:"EngineType"`

	// Whether to enable malicious process killing [0: Not Enabled; 1: Enabled]
	EnableMemShellScan *int64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`
}

type CreateScanMalwareSettingRequest struct {
	*tchttp.BaseRequest
	
	// Scan mode: 0 - full disk scan; 1 - rapid scan
	ScanPattern *uint64 `json:"ScanPattern,omitnil,omitempty" name:"ScanPattern"`

	// Server classification: 1: Professional Edition servers; 2: self-selected servers
	HostType *int64 `json:"HostType,omitnil,omitempty" name:"HostType"`

	// Effective for selected servers; a string array of host QUUIDs
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Timeout unit: seconds, which is 3,600 seconds by default.
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`

	// 1 - standard mode (only critical and high-risk are reported.); 2 - enhanced mode (critical, high-risk, and medium-risk are reported.); 3 - strict mode (critical, high-risk, medium-risk, low-risk, and prompt are reported.)
	EngineType *uint64 `json:"EngineType,omitnil,omitempty" name:"EngineType"`

	// Whether to enable malicious process killing [0: Not Enabled; 1: Enabled]
	EnableMemShellScan *int64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`
}

func (r *CreateScanMalwareSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateScanMalwareSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ScanPattern")
	delete(f, "HostType")
	delete(f, "QuuidList")
	delete(f, "TimeoutPeriod")
	delete(f, "EngineType")
	delete(f, "EnableMemShellScan")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateScanMalwareSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateScanMalwareSettingResponseParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateScanMalwareSettingResponse struct {
	*tchttp.BaseResponse
	Response *CreateScanMalwareSettingResponseParams `json:"Response"`
}

func (r *CreateScanMalwareSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateScanMalwareSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSearchLogRequestParams struct {
	// Search by content
	SearchContent *string `json:"SearchContent,omitnil,omitempty" name:"SearchContent"`
}

type CreateSearchLogRequest struct {
	*tchttp.BaseRequest
	
	// Search by content
	SearchContent *string `json:"SearchContent,omitnil,omitempty" name:"SearchContent"`
}

func (r *CreateSearchLogRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSearchLogRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SearchContent")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSearchLogRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSearchLogResponseParams struct {
	// 0: succeeded; 	non-zero: failed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSearchLogResponse struct {
	*tchttp.BaseResponse
	Response *CreateSearchLogResponseParams `json:"Response"`
}

func (r *CreateSearchLogResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSearchLogResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSearchTemplateRequestParams struct {
	// Search template
	SearchTemplate *SearchTemplate `json:"SearchTemplate,omitnil,omitempty" name:"SearchTemplate"`
}

type CreateSearchTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Search template
	SearchTemplate *SearchTemplate `json:"SearchTemplate,omitnil,omitempty" name:"SearchTemplate"`
}

func (r *CreateSearchTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSearchTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SearchTemplate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSearchTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateSearchTemplateResponseParams struct {
	// 0: succeeded; 	non-0: failed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Reason for failure
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateSearchTemplateResponse struct {
	*tchttp.BaseResponse
	Response *CreateSearchTemplateResponseParams `json:"Response"`
}

func (r *CreateSearchTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateSearchTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateVulFixRequestParams struct {
	// List of hosts for which the vulnerability should be fixed
	CreateVulFixTaskQuuids []*CreateVulFixTaskQuuids `json:"CreateVulFixTaskQuuids,omitnil,omitempty" name:"CreateVulFixTaskQuuids"`

	// Snapshot retention days: 0 days indicates that no snapshot will be created. Hosts without a snapshot for 24 hours must have a snapshot created to be restored.
	SaveDays *uint64 `json:"SaveDays,omitnil,omitempty" name:"SaveDays"`

	// Snapshot name
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
}

type CreateVulFixRequest struct {
	*tchttp.BaseRequest
	
	// List of hosts for which the vulnerability should be fixed
	CreateVulFixTaskQuuids []*CreateVulFixTaskQuuids `json:"CreateVulFixTaskQuuids,omitnil,omitempty" name:"CreateVulFixTaskQuuids"`

	// Snapshot retention days: 0 days indicates that no snapshot will be created. Hosts without a snapshot for 24 hours must have a snapshot created to be restored.
	SaveDays *uint64 `json:"SaveDays,omitnil,omitempty" name:"SaveDays"`

	// Snapshot name
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
}

func (r *CreateVulFixRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateVulFixRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CreateVulFixTaskQuuids")
	delete(f, "SaveDays")
	delete(f, "SnapshotName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateVulFixRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateVulFixResponseParams struct {
	// Task ID
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateVulFixResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulFixResponseParams `json:"Response"`
}

func (r *CreateVulFixResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateVulFixResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type CreateVulFixTaskQuuids struct {
	// Hosts that need to fix vulnerabilities. All hosts need to have the vulnerability with the ID of VulId and be in a pending fix status.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Repair method. 0: Update components or install patches. 1: Disable service.
	FixMethod *uint64 `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`

	// kb id
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

// Predefined struct for user
type CreateWhiteListOrderRequestParams struct {
	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Number of authorizations (The minimum value is 1, and the maximum value is 99999.)
	LicenseNum *uint64 `json:"LicenseNum,omitnil,omitempty" name:"LicenseNum"`

	// Expiration time (The minimum value is 1.)
	Deadline *uint64 `json:"Deadline,omitnil,omitempty" name:"Deadline"`

	// Order type. 1: trial; 2: free; 3: experience; 4: free SSL certificate gift; 5: free CVM
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// Rule name, big asset center: asset_center
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Region: 1 Guangzhou; 9 Singapore. The default is 1. Do not select 9 unless necessary.
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Additional parameters; JSON string, including ResourceId and LicenseType.
	ExtraParam *string `json:"ExtraParam,omitnil,omitempty" name:"ExtraParam"`
}

type CreateWhiteListOrderRequest struct {
	*tchttp.BaseRequest
	
	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Number of authorizations (The minimum value is 1, and the maximum value is 99999.)
	LicenseNum *uint64 `json:"LicenseNum,omitnil,omitempty" name:"LicenseNum"`

	// Expiration time (The minimum value is 1.)
	Deadline *uint64 `json:"Deadline,omitnil,omitempty" name:"Deadline"`

	// Order type. 1: trial; 2: free; 3: experience; 4: free SSL certificate gift; 5: free CVM
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// Rule name, big asset center: asset_center
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Region: 1 Guangzhou; 9 Singapore. The default is 1. Do not select 9 unless necessary.
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Additional parameters; JSON string, including ResourceId and LicenseType.
	ExtraParam *string `json:"ExtraParam,omitnil,omitempty" name:"ExtraParam"`
}

func (r *CreateWhiteListOrderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateWhiteListOrderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LicenseType")
	delete(f, "LicenseNum")
	delete(f, "Deadline")
	delete(f, "SourceType")
	delete(f, "RuleName")
	delete(f, "RegionId")
	delete(f, "ExtraParam")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateWhiteListOrderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateWhiteListOrderResponseParams struct {
	// Resource object
	Resource *OrderResource `json:"Resource,omitnil,omitempty" name:"Resource"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type CreateWhiteListOrderResponse struct {
	*tchttp.BaseResponse
	Response *CreateWhiteListOrderResponseParams `json:"Response"`
}

func (r *CreateWhiteListOrderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateWhiteListOrderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DefaultStrategyInfo struct {
	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

// Predefined struct for user
type DeleteAllJavaMemShellsRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type DeleteAllJavaMemShellsRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

func (r *DeleteAllJavaMemShellsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAllJavaMemShellsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAllJavaMemShellsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteAllJavaMemShellsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteAllJavaMemShellsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAllJavaMemShellsResponseParams `json:"Response"`
}

func (r *DeleteAllJavaMemShellsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteAllJavaMemShellsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBanWhiteListRequestParams struct {
	// Allowlist ID list to be deleted (up to 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteBanWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist ID list to be deleted (up to 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteBanWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBanWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBanWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBanWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBanWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBanWhiteListResponseParams `json:"Response"`
}

func (r *DeleteBanWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBanWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBaselinePolicyRequestParams struct {
	// Policy ID
	PolicyIds []*int64 `json:"PolicyIds,omitnil,omitempty" name:"PolicyIds"`
}

type DeleteBaselinePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	PolicyIds []*int64 `json:"PolicyIds,omitnil,omitempty" name:"PolicyIds"`
}

func (r *DeleteBaselinePolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBaselinePolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PolicyIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBaselinePolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBaselinePolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBaselinePolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBaselinePolicyResponseParams `json:"Response"`
}

func (r *DeleteBaselinePolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBaselinePolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBaselineStrategyRequestParams struct {
	// Baseline policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

type DeleteBaselineStrategyRequest struct {
	*tchttp.BaseRequest
	
	// Baseline policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

func (r *DeleteBaselineStrategyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBaselineStrategyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBaselineStrategyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBaselineStrategyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBaselineStrategyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBaselineStrategyResponseParams `json:"Response"`
}

func (r *DeleteBaselineStrategyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBaselineStrategyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBashEventsRequestParams struct {
	// ID array. Up to 1,000 items are allowed.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type DeleteBashEventsRequest struct {
	*tchttp.BaseRequest
	
	// ID array. Up to 1,000 items are allowed.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *DeleteBashEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBashEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBashEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBashEventsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBashEventsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBashEventsResponseParams `json:"Response"`
}

func (r *DeleteBashEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBashEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBashPoliciesRequestParams struct {
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteBashPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteBashPoliciesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBashPoliciesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBashPoliciesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBashPoliciesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBashPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBashPoliciesResponseParams `json:"Response"`
}

func (r *DeleteBashPoliciesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBashPoliciesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBashRulesRequestParams struct {
	// ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteBashRulesRequest struct {
	*tchttp.BaseRequest
	
	// ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteBashRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBashRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBashRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBashRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBashRulesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBashRulesResponseParams `json:"Response"`
}

func (r *DeleteBashRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBashRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBruteAttacksRequestParams struct {
	// Array of brute force cracking event IDs (maximum: 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type DeleteBruteAttacksRequest struct {
	*tchttp.BaseRequest
	
	// Array of brute force cracking event IDs (maximum: 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *DeleteBruteAttacksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBruteAttacksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteBruteAttacksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteBruteAttacksResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteBruteAttacksResponse struct {
	*tchttp.BaseResponse
	Response *DeleteBruteAttacksResponseParams `json:"Response"`
}

func (r *DeleteBruteAttacksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteBruteAttacksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLicenseRecordAllRequestParams struct {

}

type DeleteLicenseRecordAllRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DeleteLicenseRecordAllRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLicenseRecordAllRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteLicenseRecordAllRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLicenseRecordAllResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteLicenseRecordAllResponse struct {
	*tchttp.BaseResponse
	Response *DeleteLicenseRecordAllResponseParams `json:"Response"`
}

func (r *DeleteLicenseRecordAllResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLicenseRecordAllResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLicenseRecordRequestParams struct {
	// Authorization ID, which can be obtained from the authorization order list
	LicenseId *uint64 `json:"LicenseId,omitnil,omitempty" name:"LicenseId"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`
}

type DeleteLicenseRecordRequest struct {
	*tchttp.BaseRequest
	
	// Authorization ID, which can be obtained from the authorization order list
	LicenseId *uint64 `json:"LicenseId,omitnil,omitempty" name:"LicenseId"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`
}

func (r *DeleteLicenseRecordRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLicenseRecordRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LicenseId")
	delete(f, "LicenseType")
	delete(f, "ResourceId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteLicenseRecordRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLicenseRecordResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteLicenseRecordResponse struct {
	*tchttp.BaseResponse
	Response *DeleteLicenseRecordResponseParams `json:"Response"`
}

func (r *DeleteLicenseRecordResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLicenseRecordResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLogExportRequestParams struct {
	// Task ID of exported logs
	ExportId *string `json:"ExportId,omitnil,omitempty" name:"ExportId"`
}

type DeleteLogExportRequest struct {
	*tchttp.BaseRequest
	
	// Task ID of exported logs
	ExportId *string `json:"ExportId,omitnil,omitempty" name:"ExportId"`
}

func (r *DeleteLogExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLogExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteLogExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLogExportResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteLogExportResponse struct {
	*tchttp.BaseResponse
	Response *DeleteLogExportResponseParams `json:"Response"`
}

func (r *DeleteLogExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLogExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLoginWhiteListRequestParams struct {
	// <p>Allowlist ID (maximum 100)</p>
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteLoginWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// <p>Allowlist ID (maximum 100)</p>
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteLoginWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLoginWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteLoginWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteLoginWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteLoginWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DeleteLoginWhiteListResponseParams `json:"Response"`
}

func (r *DeleteLoginWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteLoginWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMachineClearHistoryRequestParams struct {
	// <p>IDs of the records to be deleted. Maximum: 100</p>
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteMachineClearHistoryRequest struct {
	*tchttp.BaseRequest
	
	// <p>IDs of the records to be deleted. Maximum: 100</p>
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteMachineClearHistoryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMachineClearHistoryRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMachineClearHistoryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMachineClearHistoryResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMachineClearHistoryResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMachineClearHistoryResponseParams `json:"Response"`
}

func (r *DeleteMachineClearHistoryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMachineClearHistoryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMachineRequestParams struct {
	// CWPP client Uuid
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DeleteMachineRequest struct {
	*tchttp.BaseRequest
	
	// CWPP client Uuid
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DeleteMachineRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMachineRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMachineRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMachineResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMachineResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMachineResponseParams `json:"Response"`
}

func (r *DeleteMachineResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMachineResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMachineTagRequestParams struct {
	// Associated tag ID
	Rid *uint64 `json:"Rid,omitnil,omitempty" name:"Rid"`
}

type DeleteMachineTagRequest struct {
	*tchttp.BaseRequest
	
	// Associated tag ID
	Rid *uint64 `json:"Rid,omitnil,omitempty" name:"Rid"`
}

func (r *DeleteMachineTagRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMachineTagRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Rid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMachineTagRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMachineTagResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMachineTagResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMachineTagResponseParams `json:"Response"`
}

func (r *DeleteMachineTagResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMachineTagResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMaliciousRequestWhiteListRequestParams struct {
	// Allowlist IDs (The maximum number is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteMaliciousRequestWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist IDs (The maximum number is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteMaliciousRequestWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMaliciousRequestWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMaliciousRequestWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMaliciousRequestWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMaliciousRequestWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMaliciousRequestWhiteListResponseParams `json:"Response"`
}

func (r *DeleteMaliciousRequestWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMaliciousRequestWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMaliciousRequestsRequestParams struct {
	// Malicious request record ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type DeleteMaliciousRequestsRequest struct {
	*tchttp.BaseRequest
	
	// Malicious request record ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *DeleteMaliciousRequestsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMaliciousRequestsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMaliciousRequestsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMaliciousRequestsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMaliciousRequestsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMaliciousRequestsResponseParams `json:"Response"`
}

func (r *DeleteMaliciousRequestsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMaliciousRequestsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMalwareScanTaskRequestParams struct {

}

type DeleteMalwareScanTaskRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DeleteMalwareScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMalwareScanTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMalwareScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMalwareScanTaskResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMalwareScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMalwareScanTaskResponseParams `json:"Response"`
}

func (r *DeleteMalwareScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMalwareScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMalwareWhiteListRequestParams struct {
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteMalwareWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteMalwareWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMalwareWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMalwareWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMalwareWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMalwareWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMalwareWhiteListResponseParams `json:"Response"`
}

func (r *DeleteMalwareWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMalwareWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMalwaresRequestParams struct {
	// Trojan record ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type DeleteMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Trojan record ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *DeleteMalwaresRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMalwaresRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteMalwaresRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteMalwaresResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteMalwaresResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMalwaresResponseParams `json:"Response"`
}

func (r *DeleteMalwaresResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteMalwaresResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteNetAttackWhiteListRequestParams struct {
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteNetAttackWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteNetAttackWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteNetAttackWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteNetAttackWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteNetAttackWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteNetAttackWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DeleteNetAttackWhiteListResponseParams `json:"Response"`
}

func (r *DeleteNetAttackWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteNetAttackWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteNonlocalLoginPlacesRequestParams struct {
	// Method for deleting cross-region log-in events, available values are Ids, Ip, and All. The default is Ids.
	DelType *string `json:"DelType,omitnil,omitempty" name:"DelType"`

	// Array of cross-region log-in event IDs. Required if DelType is Ids or DelType is not filled.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// IP of cross-region log-in event. Required if DelType is Ip.
	Ip []*string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DeleteNonlocalLoginPlacesRequest struct {
	*tchttp.BaseRequest
	
	// Method for deleting cross-region log-in events, available values are Ids, Ip, and All. The default is Ids.
	DelType *string `json:"DelType,omitnil,omitempty" name:"DelType"`

	// Array of cross-region log-in event IDs. Required if DelType is Ids or DelType is not filled.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// IP of cross-region log-in event. Required if DelType is Ip.
	Ip []*string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DeleteNonlocalLoginPlacesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteNonlocalLoginPlacesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "DelType")
	delete(f, "Ids")
	delete(f, "Ip")
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteNonlocalLoginPlacesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteNonlocalLoginPlacesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteNonlocalLoginPlacesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteNonlocalLoginPlacesResponseParams `json:"Response"`
}

func (r *DeleteNonlocalLoginPlacesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteNonlocalLoginPlacesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeletePrivilegeEventsRequestParams struct {
	// ID array, with the maximum number being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type DeletePrivilegeEventsRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum number being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *DeletePrivilegeEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeletePrivilegeEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeletePrivilegeEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeletePrivilegeEventsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeletePrivilegeEventsResponse struct {
	*tchttp.BaseResponse
	Response *DeletePrivilegeEventsResponseParams `json:"Response"`
}

func (r *DeletePrivilegeEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeletePrivilegeEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeletePrivilegeRulesRequestParams struct {
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeletePrivilegeRulesRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeletePrivilegeRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeletePrivilegeRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeletePrivilegeRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeletePrivilegeRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeletePrivilegeRulesResponse struct {
	*tchttp.BaseResponse
	Response *DeletePrivilegeRulesResponseParams `json:"Response"`
}

func (r *DeletePrivilegeRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeletePrivilegeRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRaspRulesRequestParams struct {
	// Array containing IDs of rules to be deleted (maximum value: 100).
	IDs []*uint64 `json:"IDs,omitnil,omitempty" name:"IDs"`
}

type DeleteRaspRulesRequest struct {
	*tchttp.BaseRequest
	
	// Array containing IDs of rules to be deleted (maximum value: 100).
	IDs []*uint64 `json:"IDs,omitnil,omitempty" name:"IDs"`
}

func (r *DeleteRaspRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRaspRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IDs")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRaspRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRaspRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRaspRulesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRaspRulesResponseParams `json:"Response"`
}

func (r *DeleteRaspRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRaspRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteReverseShellEventsRequestParams struct {
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type DeleteReverseShellEventsRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to delete all.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *DeleteReverseShellEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteReverseShellEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteReverseShellEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteReverseShellEventsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteReverseShellEventsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteReverseShellEventsResponseParams `json:"Response"`
}

func (r *DeleteReverseShellEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteReverseShellEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteReverseShellRulesRequestParams struct {
	// ID array (The maximum quantity is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteReverseShellRulesRequest struct {
	*tchttp.BaseRequest
	
	// ID array (The maximum quantity is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteReverseShellRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteReverseShellRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteReverseShellRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteReverseShellRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteReverseShellRulesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteReverseShellRulesResponseParams `json:"Response"`
}

func (r *DeleteReverseShellRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteReverseShellRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRiskDnsEventRequestParams struct {
	// Malicious request record ID array. (The maximum number of IDs is 100.) Delete all if it is left blank.
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteRiskDnsEventRequest struct {
	*tchttp.BaseRequest
	
	// Malicious request record ID array. (The maximum number of IDs is 100.) Delete all if it is left blank.
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteRiskDnsEventRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRiskDnsEventRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRiskDnsEventRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRiskDnsEventResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRiskDnsEventResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRiskDnsEventResponseParams `json:"Response"`
}

func (r *DeleteRiskDnsEventResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRiskDnsEventResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRiskDnsPolicyRequestParams struct {
	// Policy ID
	PolicyIds []*int64 `json:"PolicyIds,omitnil,omitempty" name:"PolicyIds"`
}

type DeleteRiskDnsPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	PolicyIds []*int64 `json:"PolicyIds,omitnil,omitempty" name:"PolicyIds"`
}

func (r *DeleteRiskDnsPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRiskDnsPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PolicyIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRiskDnsPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteRiskDnsPolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteRiskDnsPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRiskDnsPolicyResponseParams `json:"Response"`
}

func (r *DeleteRiskDnsPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRiskDnsPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteScanTaskRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Module type. Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Effective for selected servers; a string array of host QUUIDs
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`
}

type DeleteScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Module type. Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Effective for selected servers; a string array of host QUUIDs
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`
}

func (r *DeleteScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteScanTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	delete(f, "ModuleType")
	delete(f, "QuuidList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteScanTaskResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *DeleteScanTaskResponseParams `json:"Response"`
}

func (r *DeleteScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSearchTemplateRequestParams struct {
	// Template ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteSearchTemplateRequest struct {
	*tchttp.BaseRequest
	
	// Template ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DeleteSearchTemplateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSearchTemplateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSearchTemplateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteSearchTemplateResponseParams struct {
	// 0: succeeded; 	non-zero: failed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteSearchTemplateResponse struct {
	*tchttp.BaseResponse
	Response *DeleteSearchTemplateResponseParams `json:"Response"`
}

func (r *DeleteSearchTemplateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteSearchTemplateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteTagsRequestParams struct {
	//  Tag ID (maximum: 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteTagsRequest struct {
	*tchttp.BaseRequest
	
	//  Tag ID (maximum: 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteTagsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteTagsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteTagsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteTagsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteTagsResponse struct {
	*tchttp.BaseResponse
	Response *DeleteTagsResponseParams `json:"Response"`
}

func (r *DeleteTagsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteTagsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWebHookPolicyRequestParams struct {
	// ID list
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteWebHookPolicyRequest struct {
	*tchttp.BaseRequest
	
	// ID list
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteWebHookPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWebHookPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteWebHookPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWebHookPolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteWebHookPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteWebHookPolicyResponseParams `json:"Response"`
}

func (r *DeleteWebHookPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWebHookPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWebHookReceiverRequestParams struct {
	// ID array
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteWebHookReceiverRequest struct {
	*tchttp.BaseRequest
	
	// ID array
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteWebHookReceiverRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWebHookReceiverRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteWebHookReceiverRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWebHookReceiverResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteWebHookReceiverResponse struct {
	*tchttp.BaseResponse
	Response *DeleteWebHookReceiverResponseParams `json:"Response"`
}

func (r *DeleteWebHookReceiverResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWebHookReceiverResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWebHookRuleRequestParams struct {
	// Rule ID list
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteWebHookRuleRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID list
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DeleteWebHookRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWebHookRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteWebHookRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DeleteWebHookRuleResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DeleteWebHookRuleResponse struct {
	*tchttp.BaseResponse
	Response *DeleteWebHookRuleResponseParams `json:"Response"`
}

func (r *DeleteWebHookRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteWebHookRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DeliverTypeDetails struct {
	// Security module type. 1: intrusion detection; 2: vulnerability management; 3: baseline management; 4: advanced defense; 5: client security; 6: asset fingerprint; 7: host list; 8: client reporting.
	SecurityType *uint64 `json:"SecurityType,omitnil,omitempty" name:"SecurityType"`

	// Type of logs of the security module
	LogType []*int64 `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Topic ID
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`

	// Topic name
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`

	// Shipping enabling status. 0: disabled; 1: enabled.
	Switch *uint64 `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Shipping status. 0: disabled; 1: normal; 2: abnormal.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Error message
	ErrInfo *string `json:"ErrInfo,omitnil,omitempty" name:"ErrInfo"`

	// Timestamp of last status reporting
	StatusTime *int64 `json:"StatusTime,omitnil,omitempty" name:"StatusTime"`

	// Logset name
	LogName *string `json:"LogName,omitnil,omitempty" name:"LogName"`

	// Logset ID
	LogSetId *string `json:"LogSetId,omitnil,omitempty" name:"LogSetId"`

	// Logset region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`
}

// Predefined struct for user
type DescribeABTestConfigRequestParams struct {
	// Greyscale project name
	ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`
}

type DescribeABTestConfigRequest struct {
	*tchttp.BaseRequest
	
	// Greyscale project name
	ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`
}

func (r *DescribeABTestConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeABTestConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ProjectName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeABTestConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeABTestConfigResponseParams struct {
	// Grayscale project configuration
	Config []*ABTestConfig `json:"Config,omitnil,omitempty" name:"Config"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeABTestConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeABTestConfigResponseParams `json:"Response"`
}

func (r *DescribeABTestConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeABTestConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAESKeyRequestParams struct {

}

type DescribeAESKeyRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAESKeyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAESKeyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAESKeyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAESKeyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAESKeyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAESKeyResponseParams `json:"Response"`
}

func (r *DescribeAESKeyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAESKeyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAccountStatisticsRequestParams struct {
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Username - String - required: no - account username</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAccountStatisticsRequest struct {
	*tchttp.BaseRequest
	
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Username - String - required: no - account username</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAccountStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAccountStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAccountStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAccountStatisticsResponseParams struct {
	// Total number of account statistics list records.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Account statistics list.
	AccountStatistics []*AccountStatistics `json:"AccountStatistics,omitnil,omitempty" name:"AccountStatistics"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAccountStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccountStatisticsResponseParams `json:"Response"`
}

func (r *DescribeAccountStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAccountStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAgentInstallCommandRequestParams struct {
	// Whether Tencent Cloud
	IsCloud *bool `json:"IsCloud,omitnil,omitempty" name:"IsCloud"`

	// Network type: basic - basic network; private - VPC; public - public network; direct - direct connect
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region identifier, required when NetType=direct
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VpcId, required when NetType=direct
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Tag ID list, effective only when IsCloud=false
	TagIds []*uint64 `json:"TagIds,omitnil,omitempty" name:"TagIds"`

	// Command validity period, required for non-Tencent Cloud instances (abandoned, takes effect permanently).
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`

	// VIP Accessed via Proxy Mode
	Vip *string `json:"Vip,omitnil,omitempty" name:"Vip"`
}

type DescribeAgentInstallCommandRequest struct {
	*tchttp.BaseRequest
	
	// Whether Tencent Cloud
	IsCloud *bool `json:"IsCloud,omitnil,omitempty" name:"IsCloud"`

	// Network type: basic - basic network; private - VPC; public - public network; direct - direct connect
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region identifier, required when NetType=direct
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VpcId, required when NetType=direct
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Tag ID list, effective only when IsCloud=false
	TagIds []*uint64 `json:"TagIds,omitnil,omitempty" name:"TagIds"`

	// Command validity period, required for non-Tencent Cloud instances (abandoned, takes effect permanently).
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`

	// VIP Accessed via Proxy Mode
	Vip *string `json:"Vip,omitnil,omitempty" name:"Vip"`
}

func (r *DescribeAgentInstallCommandRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAgentInstallCommandRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IsCloud")
	delete(f, "NetType")
	delete(f, "RegionCode")
	delete(f, "VpcId")
	delete(f, "TagIds")
	delete(f, "ExpireDate")
	delete(f, "Vip")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAgentInstallCommandRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAgentInstallCommandResponseParams struct {
	// Linux installation command
	LinuxCommand *string `json:"LinuxCommand,omitnil,omitempty" name:"LinuxCommand"`

	// Windows installation command (Windows 2008 or later)
	WindowsCommand *string `json:"WindowsCommand,omitnil,omitempty" name:"WindowsCommand"`

	// Step 1 of Window installation command (Windows 2003)
	WindowsStepOne *string `json:"WindowsStepOne,omitnil,omitempty" name:"WindowsStepOne"`

	// Step 2 of Window installation command (Windows 2003)
	WindowsStepTwo *string `json:"WindowsStepTwo,omitnil,omitempty" name:"WindowsStepTwo"`

	// Download URL of the agent for Windows
	WindowsDownloadUrl *string `json:"WindowsDownloadUrl,omitnil,omitempty" name:"WindowsDownloadUrl"`

	// Arm installation command
	ARMCommand *string `json:"ARMCommand,omitnil,omitempty" name:"ARMCommand"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAgentInstallCommandResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAgentInstallCommandResponseParams `json:"Response"`
}

func (r *DescribeAgentInstallCommandResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAgentInstallCommandResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAgentInstallationTokenRequestParams struct {
	// Token expiration time
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`
}

type DescribeAgentInstallationTokenRequest struct {
	*tchttp.BaseRequest
	
	// Token expiration time
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`
}

func (r *DescribeAgentInstallationTokenRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAgentInstallationTokenRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExpireDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAgentInstallationTokenRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAgentInstallationTokenResponseParams struct {
	// Installation command token
	Token *string `json:"Token,omitnil,omitempty" name:"Token"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAgentInstallationTokenResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAgentInstallationTokenResponseParams `json:"Response"`
}

func (r *DescribeAgentInstallationTokenResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAgentInstallationTokenResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAlarmIncidentNodesRequestParams struct {
	// Machine UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Alarm VID
	AlarmVid *string `json:"AlarmVid,omitnil,omitempty" name:"AlarmVid"`

	// Alarm time
	AlarmTime *int64 `json:"AlarmTime,omitnil,omitempty" name:"AlarmTime"`

	// Alarm source table ID
	TableId *int64 `json:"TableId,omitnil,omitempty" name:"TableId"`
}

type DescribeAlarmIncidentNodesRequest struct {
	*tchttp.BaseRequest
	
	// Machine UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Alarm VID
	AlarmVid *string `json:"AlarmVid,omitnil,omitempty" name:"AlarmVid"`

	// Alarm time
	AlarmTime *int64 `json:"AlarmTime,omitnil,omitempty" name:"AlarmTime"`

	// Alarm source table ID
	TableId *int64 `json:"TableId,omitnil,omitempty" name:"TableId"`
}

func (r *DescribeAlarmIncidentNodesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAlarmIncidentNodesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "AlarmVid")
	delete(f, "AlarmTime")
	delete(f, "TableId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAlarmIncidentNodesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAlarmIncidentNodesResponseParams struct {
	// All node information on the event corresponding to an alarm, which may include multiple events.
	IncidentNodes []*IncidentVertexInfo `json:"IncidentNodes,omitnil,omitempty" name:"IncidentNodes"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAlarmIncidentNodesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAlarmIncidentNodesResponseParams `json:"Response"`
}

func (r *DescribeAlarmIncidentNodesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAlarmIncidentNodesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAlarmVertexIdRequestParams struct {
	// Machine UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Start timestamp
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End timestamp
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeAlarmVertexIdRequest struct {
	*tchttp.BaseRequest
	
	// Machine UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Start timestamp
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End timestamp
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

func (r *DescribeAlarmVertexIdRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAlarmVertexIdRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "StartTime")
	delete(f, "EndTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAlarmVertexIdRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAlarmVertexIdResponseParams struct {
	// Alarm node ID list.
	AlarmVertexIds []*string `json:"AlarmVertexIds,omitnil,omitempty" name:"AlarmVertexIds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAlarmVertexIdResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAlarmVertexIdResponseParams `json:"Response"`
}

func (r *DescribeAlarmVertexIdResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAlarmVertexIdResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetAppCountRequestParams struct {
	// Search criteria: Search for processes of all software whose names contain Name and return a list.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetAppCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Search for processes of all software whose names contain Name and return a list.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetAppCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetAppCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetAppCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetAppCountResponseParams struct {
	// Number of all software applications.
	Apps []*AssetKeyVal `json:"Apps,omitnil,omitempty" name:"Apps"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetAppCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetAppCountResponseParams `json:"Response"`
}

func (r *DescribeAssetAppCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetAppCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetAppListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>AppName - string - required: no - application name for search</li>
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Type - int - required: no - type : Linux only	
	// 0: all
	// 1: operations
	// 2: database
	// 3: Security
	// 4: suspicious application
	// 5: system architecture
	// 6: system application
	// 7: web service
	// 99: other</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetAppListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>AppName - string - required: no - application name for search</li>
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Type - int - required: no - type : Linux only	
	// 0: all
	// 1: operations
	// 2: database
	// 3: Security
	// 4: suspicious application
	// 5: system architecture
	// 6: system application
	// 7: web service
	// 99: other</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetAppListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetAppListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetAppListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetAppListResponseParams struct {
	// Application list
	Apps []*AssetAppBaseInfo `json:"Apps,omitnil,omitempty" name:"Apps"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetAppListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetAppListResponseParams `json:"Response"`
}

func (r *DescribeAssetAppListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetAppListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetAppProcessListRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// App name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAssetAppProcessListRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// App name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAssetAppProcessListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetAppProcessListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Name")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetAppProcessListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetAppProcessListResponseParams struct {
	// Process list
	Process []*AssetAppProcessInfo `json:"Process,omitnil,omitempty" name:"Process"`

	// Total number of partitions
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetAppProcessListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetAppProcessListResponseParams `json:"Response"`
}

func (r *DescribeAssetAppProcessListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetAppProcessListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetCoreModuleInfoRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Kernel module ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetCoreModuleInfoRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Kernel module ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetCoreModuleInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetCoreModuleInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetCoreModuleInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetCoreModuleInfoResponseParams struct {
	// Kernel module details
	Module *AssetCoreModuleDetail `json:"Module,omitnil,omitempty" name:"Module"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetCoreModuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetCoreModuleInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetCoreModuleInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetCoreModuleInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetCoreModuleListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - string - required: no - package name</li>
	// <li>User - string - required: no - user</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method [Size|FirstTime|ProcessCount|ModuleCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetCoreModuleListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - string - required: no - package name</li>
	// <li>User - string - required: no - user</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method [Size|FirstTime|ProcessCount|ModuleCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetCoreModuleListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetCoreModuleListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetCoreModuleListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetCoreModuleListResponseParams struct {
	// List
	Modules []*AssetCoreModuleBaseInfo `json:"Modules,omitnil,omitempty" name:"Modules"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetCoreModuleListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetCoreModuleListResponseParams `json:"Response"`
}

func (r *DescribeAssetCoreModuleListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetCoreModuleListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDatabaseCountRequestParams struct {
	// Search criteria: Return a list of databases whose names contain Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetDatabaseCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Return a list of databases whose names contain Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetDatabaseCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDatabaseCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetDatabaseCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDatabaseCountResponseParams struct {
	// Number of obtained database assets
	Databases []*AssetKeyVal `json:"Databases,omitnil,omitempty" name:"Databases"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetDatabaseCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetDatabaseCountResponseParams `json:"Response"`
}

func (r *DescribeAssetDatabaseCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDatabaseCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDatabaseInfoRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Database ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetDatabaseInfoRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Database ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetDatabaseInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDatabaseInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetDatabaseInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDatabaseInfoResponseParams struct {
	// Database details
	Database *AssetDatabaseDetail `json:"Database,omitnil,omitempty" name:"Database"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetDatabaseInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetDatabaseInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetDatabaseInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDatabaseInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDatabaseListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>MachineName - String - required: no - host alias for filtering</li>
	// <li>IP - String - required: no - host IP address for filtering</li>
	// <li>InstanceID - String - required: no - host instance ID for filtering</li>
	// <li>User- string - required: no - running user</li>
	// <li>Port - Int - required: no - port</li>
	// <li>Name - Int - required: no - database name
	// 0: all
	// 1:MySQL
	// 2:Redis
	// 3:Oracle
	// 4:MongoDB
	// 5:MemCache
	// 6:PostgreSQL
	// 7:HBase
	// 8:DB2
	// 9:Sybase
	// 10:TiDB</li>
	// <li>Proto - String - required: no - protocol: 1: TCP; 2: UDP; 3: unknown</li>
	// <li>OsType - String - required: no - operating system: linux/windows</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetDatabaseListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>MachineName - String - required: no - host alias for filtering</li>
	// <li>IP - String - required: no - host IP address for filtering</li>
	// <li>InstanceID - String - required: no - host instance ID for filtering</li>
	// <li>User- string - required: no - running user</li>
	// <li>Port - Int - required: no - port</li>
	// <li>Name - Int - required: no - database name
	// 0: all
	// 1:MySQL
	// 2:Redis
	// 3:Oracle
	// 4:MongoDB
	// 5:MemCache
	// 6:PostgreSQL
	// 7:HBase
	// 8:DB2
	// 9:Sybase
	// 10:TiDB</li>
	// <li>Proto - String - required: no - protocol: 1: TCP; 2: UDP; 3: unknown</li>
	// <li>OsType - String - required: no - operating system: linux/windows</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetDatabaseListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDatabaseListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetDatabaseListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDatabaseListResponseParams struct {
	// List
	Databases []*AssetDatabaseBaseInfo `json:"Databases,omitnil,omitempty" name:"Databases"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetDatabaseListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetDatabaseListResponseParams `json:"Response"`
}

func (r *DescribeAssetDatabaseListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDatabaseListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDiskListRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAssetDiskListRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAssetDiskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDiskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetDiskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetDiskListResponseParams struct {
	// Disk partition list
	Disks []*AssetDiskPartitionInfo `json:"Disks,omitnil,omitempty" name:"Disks"`

	// Total number of partitions
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetDiskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetDiskListResponseParams `json:"Response"`
}

func (r *DescribeAssetDiskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetDiskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetEnvListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// This field has been deprecated and replaced with Filters.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>Name - string - required: no - environment variable name</li>
	// <li>Type - int - required: no - type: 0: user variable; 1: system variable</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetEnvListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// This field has been deprecated and replaced with Filters.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>Name - string - required: no - environment variable name</li>
	// <li>Type - int - required: no - type: 0: user variable; 1: system variable</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetEnvListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetEnvListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Type")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetEnvListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetEnvListResponseParams struct {
	// List
	Envs []*AssetEnvBaseInfo `json:"Envs,omitnil,omitempty" name:"Envs"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetEnvListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetEnvListResponseParams `json:"Response"`
}

func (r *DescribeAssetEnvListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetEnvListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetHostTotalCountRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type DescribeAssetHostTotalCountRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

func (r *DescribeAssetHostTotalCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetHostTotalCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetHostTotalCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetHostTotalCountResponseParams struct {
	// Number of individual resources
	// system: resource monitoring
	// account: account
	// port: port
	// process: process
	// app: application software
	// database: database
	// webapp: Web application
	// webframe: Web framework
	// webservice: Web service
	// weblocation: Web site
	// systempackage: system installation package
	// jar: jar package
	// initservice: startup service
	// env: environment variable
	// coremodule: kernel module
	Types []*AssetKeyVal `json:"Types,omitnil,omitempty" name:"Types"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetHostTotalCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetHostTotalCountResponseParams `json:"Response"`
}

func (r *DescribeAssetHostTotalCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetHostTotalCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetInfoRequestParams struct {

}

type DescribeAssetInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetInfoResponseParams struct {
	// Number of Hosts
	MachineCount *uint64 `json:"MachineCount,omitnil,omitempty" name:"MachineCount"`

	// Number of Accounts
	AccountCount *uint64 `json:"AccountCount,omitnil,omitempty" name:"AccountCount"`

	// Number of ports
	PortCount *uint64 `json:"PortCount,omitnil,omitempty" name:"PortCount"`

	// Number of Processes
	ProcessCount *uint64 `json:"ProcessCount,omitnil,omitempty" name:"ProcessCount"`

	// Number of software
	SoftwareCount *uint64 `json:"SoftwareCount,omitnil,omitempty" name:"SoftwareCount"`

	// Number of databases
	DatabaseCount *uint64 `json:"DatabaseCount,omitnil,omitempty" name:"DatabaseCount"`

	// Number of web applications
	WebAppCount *uint64 `json:"WebAppCount,omitnil,omitempty" name:"WebAppCount"`

	// Number of web frameworks
	WebFrameCount *uint64 `json:"WebFrameCount,omitnil,omitempty" name:"WebFrameCount"`

	// Number of web services
	WebServiceCount *uint64 `json:"WebServiceCount,omitnil,omitempty" name:"WebServiceCount"`

	// Number of web sites
	WebLocationCount *uint64 `json:"WebLocationCount,omitnil,omitempty" name:"WebLocationCount"`

	// New accounts today
	AccountNewCount *int64 `json:"AccountNewCount,omitnil,omitempty" name:"AccountNewCount"`

	// New ports today
	PortNewCount *int64 `json:"PortNewCount,omitnil,omitempty" name:"PortNewCount"`

	// New processes today
	ProcessNewCount *int64 `json:"ProcessNewCount,omitnil,omitempty" name:"ProcessNewCount"`

	// New software today
	SoftwareNewCount *int64 `json:"SoftwareNewCount,omitnil,omitempty" name:"SoftwareNewCount"`

	// New databases today
	DatabaseNewCount *int64 `json:"DatabaseNewCount,omitnil,omitempty" name:"DatabaseNewCount"`

	// New web applications today
	WebAppNewCount *int64 `json:"WebAppNewCount,omitnil,omitempty" name:"WebAppNewCount"`

	// New web frameworks today
	WebFrameNewCount *int64 `json:"WebFrameNewCount,omitnil,omitempty" name:"WebFrameNewCount"`

	// New web services today
	WebServiceNewCount *int64 `json:"WebServiceNewCount,omitnil,omitempty" name:"WebServiceNewCount"`

	// New web sites today
	WebLocationNewCount *int64 `json:"WebLocationNewCount,omitnil,omitempty" name:"WebLocationNewCount"`

	// New hosts today
	MachineNewCount *int64 `json:"MachineNewCount,omitnil,omitempty" name:"MachineNewCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetInitServiceListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name- string - required: no - package name</li>
	// <li>User- string - required: no - user</li>
	// <li>IsAutoRun - string - required: no - whether it starts at boot: 0: no; 1: yes</li>
	// <li>Status- string - required: no - default enabling status: 0: unenabled; 1: enabled (Linux only)</li>
	// <li>Type- string - required: no - type: type (Windows only)
	// 1: Encoder
	// 2: IE plugin
	// 3: Network provider
	// 4: Mirror hijacking
	// 5: LSA provider
	// 6:KnownDLLs
	// 7: Start execution
	// 8:WMI
	// 9: Scheduled task
	// 10: Winsock provider
	// 11: Printing monitor
	// 12: Resource manager
	// 13: Driver service
	// 14: Log-in </li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetInitServiceListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name- string - required: no - package name</li>
	// <li>User- string - required: no - user</li>
	// <li>IsAutoRun - string - required: no - whether it starts at boot: 0: no; 1: yes</li>
	// <li>Status- string - required: no - default enabling status: 0: unenabled; 1: enabled (Linux only)</li>
	// <li>Type- string - required: no - type: type (Windows only)
	// 1: Encoder
	// 2: IE plugin
	// 3: Network provider
	// 4: Mirror hijacking
	// 5: LSA provider
	// 6:KnownDLLs
	// 7: Start execution
	// 8:WMI
	// 9: Scheduled task
	// 10: Winsock provider
	// 11: Printing monitor
	// 12: Resource manager
	// 13: Driver service
	// 14: Log-in </li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetInitServiceListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetInitServiceListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetInitServiceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetInitServiceListResponseParams struct {
	// List
	Services []*AssetInitServiceBaseInfo `json:"Services,omitnil,omitempty" name:"Services"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetInitServiceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetInitServiceListResponseParams `json:"Response"`
}

func (r *DescribeAssetInitServiceListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetInitServiceListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetJarInfoRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// JAR package ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetJarInfoRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// JAR package ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetJarInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetJarInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetJarInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetJarInfoResponseParams struct {
	// JAR package details
	Jar *AssetJarDetail `json:"Jar,omitnil,omitempty" name:"Jar"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetJarInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetJarInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetJarInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetJarInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetJarListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name- string - required: no - package name</li>
	// <li>Type- uint - required: no - type	
	// 1: application
	// 2: system class library3: web service built-in library
	// 4: other dependent packages</li>
	// <li>Status - string - required: no - whether execution is allowed: 0: no; 1: yes</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetJarListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name- string - required: no - package name</li>
	// <li>Type- uint - required: no - type	
	// 1: application
	// 2: system class library3: web service built-in library
	// 4: other dependent packages</li>
	// <li>Status - string - required: no - whether execution is allowed: 0: no; 1: yes</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetJarListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetJarListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetJarListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetJarListResponseParams struct {
	// Application list
	Jars []*AssetJarBaseInfo `json:"Jars,omitnil,omitempty" name:"Jars"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetJarListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetJarListResponseParams `json:"Response"`
}

func (r *DescribeAssetJarListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetJarListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetLoadInfoRequestParams struct {

}

type DescribeAssetLoadInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetLoadInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetLoadInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetLoadInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetLoadInfoResponseParams struct {
	// System load
	CpuLoad *AssetLoadSummary `json:"CpuLoad,omitnil,omitempty" name:"CpuLoad"`

	// Memory usage rate
	MemLoad *AssetLoadSummary `json:"MemLoad,omitnil,omitempty" name:"MemLoad"`

	// Hard disk utilization
	DiskLoad *AssetLoadSummary `json:"DiskLoad,omitnil,omitempty" name:"DiskLoad"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetLoadInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetLoadInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetLoadInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetLoadInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetMachineDetailRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DescribeAssetMachineDetailRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DescribeAssetMachineDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetMachineDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetMachineDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetMachineDetailResponseParams struct {
	// Host details
	MachineDetail *AssetMachineDetail `json:"MachineDetail,omitnil,omitempty" name:"MachineDetail"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetMachineDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetMachineDetailResponseParams `json:"Response"`
}

func (r *DescribeAssetMachineDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetMachineDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetMachineListRequestParams struct {
	// Filter criteria
	// <li>MachineName  Host name</li>
	// <li>InstanceID  Instance ID  </li>
	// <li>IP   Private or public IP address</li>
	// <li>OsType - String - required: no - Windows or Linux</li>
	// <li>CpuLoad - Int - required: no - 
	// 	0: unknown; 1: low load;
	// 	2: medium load; 3: high load</li>
	// <li>DiskLoad - Int - required: no - 
	// 	0: 0% or unknown; 1: 0%-20%;
	// 	2: 20%～50%  3: 50%～80%
	// 	4: 80%～100%</li>
	// <li>MemLoad - Int - required: no - 
	// 	0: 0% or unknown; 1: 0%-20%;
	// 	2: 20%～50%  3: 50%～80%
	// 	4: 80%～100%</li>
	// <li>Quuid: Host QUUID</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method [FirstTime|PartitionCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetMachineListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>MachineName  Host name</li>
	// <li>InstanceID  Instance ID  </li>
	// <li>IP   Private or public IP address</li>
	// <li>OsType - String - required: no - Windows or Linux</li>
	// <li>CpuLoad - Int - required: no - 
	// 	0: unknown; 1: low load;
	// 	2: medium load; 3: high load</li>
	// <li>DiskLoad - Int - required: no - 
	// 	0: 0% or unknown; 1: 0%-20%;
	// 	2: 20%～50%  3: 50%～80%
	// 	4: 80%～100%</li>
	// <li>MemLoad - Int - required: no - 
	// 	0: 0% or unknown; 1: 0%-20%;
	// 	2: 20%～50%  3: 50%～80%
	// 	4: 80%～100%</li>
	// <li>Quuid: Host QUUID</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method [FirstTime|PartitionCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetMachineListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetMachineListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetMachineListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetMachineListResponseParams struct {
	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Record list
	Machines []*AssetMachineBaseInfo `json:"Machines,omitnil,omitempty" name:"Machines"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetMachineListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetMachineListResponseParams `json:"Response"`
}

func (r *DescribeAssetMachineListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetMachineListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetMachineTagTopRequestParams struct {

}

type DescribeAssetMachineTagTopRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetMachineTagTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetMachineTagTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetMachineTagTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetMachineTagTopResponseParams struct {
	// Top 5 tags along with their counts
	Tags []*AssetKeyVal `json:"Tags,omitnil,omitempty" name:"Tags"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetMachineTagTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetMachineTagTopResponseParams `json:"Response"`
}

func (r *DescribeAssetMachineTagTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetMachineTagTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPlanTaskListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>User- string - required: no - user</li>
	// <li>Status- int - required: no - default enabling status: 0: disabled; 1: enabled </li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetPlanTaskListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>User- string - required: no - user</li>
	// <li>Status- int - required: no - default enabling status: 0: disabled; 1: enabled </li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetPlanTaskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPlanTaskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetPlanTaskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPlanTaskListResponseParams struct {
	// List
	Tasks []*AssetPlanTask `json:"Tasks,omitnil,omitempty" name:"Tasks"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetPlanTaskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetPlanTaskListResponseParams `json:"Response"`
}

func (r *DescribeAssetPlanTaskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPlanTaskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPortCountRequestParams struct {
	// Search criteria: Return the data of specified port numbers.
	Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"`
}

type DescribeAssetPortCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Return the data of specified port numbers.
	Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"`
}

func (r *DescribeAssetPortCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPortCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Port")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetPortCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPortCountResponseParams struct {
	// Number of processes
	Ports []*AssetKeyVal `json:"Ports,omitnil,omitempty" name:"Ports"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetPortCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetPortCountResponseParams `json:"Response"`
}

func (r *DescribeAssetPortCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPortCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPortInfoListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Port - uint64 - Required: no - port</li>
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>ProcessName - String - Required: no - process name</li>
	// <li>Pid - uint64 - Required: no - PID</li>
	// <li>User - String - required: no - running user</li>
	// <li>Group - String - Required: no - user group</li>
	// <li>Ppid - uint64 - Required: no - PPID</li>
	// <li>Proto - string - Required: no - tcp/udp or "" (empty string to filter unknown status)</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>RunTimeStart - String - required: no - running start time</li>
	// <li>RunTimeEnd - String - required: no - running end time</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetPortInfoListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Port - uint64 - Required: no - port</li>
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>ProcessName - String - Required: no - process name</li>
	// <li>Pid - uint64 - Required: no - PID</li>
	// <li>User - String - required: no - running user</li>
	// <li>Group - String - Required: no - user group</li>
	// <li>Ppid - uint64 - Required: no - PPID</li>
	// <li>Proto - string - Required: no - tcp/udp or "" (empty string to filter unknown status)</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>RunTimeStart - String - required: no - running start time</li>
	// <li>RunTimeEnd - String - required: no - running end time</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetPortInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPortInfoListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetPortInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPortInfoListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	Ports []*AssetPortBaseInfo `json:"Ports,omitnil,omitempty" name:"Ports"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetPortInfoListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetPortInfoListResponseParams `json:"Response"`
}

func (r *DescribeAssetPortInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPortInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetProcessCountRequestParams struct {
	// Search criteria: Search and return a list of all process names containing Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetProcessCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Search and return a list of all process names containing Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetProcessCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetProcessCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetProcessCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetProcessCountResponseParams struct {
	// Number of processes
	Process []*AssetKeyVal `json:"Process,omitnil,omitempty" name:"Process"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetProcessCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetProcessCountResponseParams `json:"Response"`
}

func (r *DescribeAssetProcessCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetProcessCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetProcessInfoListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - process name</li>
	// <li>User - String - required: no - process user</li>
	// <li>Group - String - required: no - process user group</li>
	// <li>Pid - uint64 - required: no - process ID</li>
	// <li>Ppid - uint64 - required: no - parent process ID</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>Status - string - required: no - process status:
	// 1: R, runnable
	// 2: S, interruptible
	// 3: D, uninterruptible
	// 4: T, stopped or traced
	// 5: Z, zombie
	// 6: X, to be terminated</li>
	// <li>RunTimeStart - String - required: no - running start time</li>
	// <li>RunTimeEnd - String - required: no - running end time</li>
	// <li>InstallByPackage - uint64 - required: no - whether to install by package: 0: no; 1: yes</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetProcessInfoListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - process name</li>
	// <li>User - String - required: no - process user</li>
	// <li>Group - String - required: no - process user group</li>
	// <li>Pid - uint64 - required: no - process ID</li>
	// <li>Ppid - uint64 - required: no - parent process ID</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>Status - string - required: no - process status:
	// 1: R, runnable
	// 2: S, interruptible
	// 3: D, uninterruptible
	// 4: T, stopped or traced
	// 5: Z, zombie
	// 6: X, to be terminated</li>
	// <li>RunTimeStart - String - required: no - running start time</li>
	// <li>RunTimeEnd - String - required: no - running end time</li>
	// <li>InstallByPackage - uint64 - required: no - whether to install by package: 0: no; 1: yes</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetProcessInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetProcessInfoListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetProcessInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetProcessInfoListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	Process []*AssetProcessBaseInfo `json:"Process,omitnil,omitempty" name:"Process"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetProcessInfoListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetProcessInfoListResponseParams `json:"Response"`
}

func (r *DescribeAssetProcessInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetProcessInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetRecentMachineInfoRequestParams struct {
	// Start time. For example, 2020-09-22.
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time. For example, 2020-09-22.
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

type DescribeAssetRecentMachineInfoRequest struct {
	*tchttp.BaseRequest
	
	// Start time. For example, 2020-09-22.
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time. For example, 2020-09-22.
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

func (r *DescribeAssetRecentMachineInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetRecentMachineInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BeginDate")
	delete(f, "EndDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetRecentMachineInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetRecentMachineInfoResponseParams struct {
	// List of total quantities
	TotalList []*AssetKeyVal `json:"TotalList,omitnil,omitempty" name:"TotalList"`

	// List of online assets
	LiveList []*AssetKeyVal `json:"LiveList,omitnil,omitempty" name:"LiveList"`

	// List of offline assets
	OfflineList []*AssetKeyVal `json:"OfflineList,omitnil,omitempty" name:"OfflineList"`

	// List of risky assets
	RiskList []*AssetKeyVal `json:"RiskList,omitnil,omitempty" name:"RiskList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetRecentMachineInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetRecentMachineInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetRecentMachineInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetRecentMachineInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetSystemPackageListRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - required: no - package name</li>
	// <li>StartTime - String - required: no - start time of installation</li>
	// <li>EndTime - String - required: no - end time of installation</li>
	// <li>Type- int - required: no - installation package type:
	// 1:rmp
	// 2:dpkg
	// 3:java
	// 4:system</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order. Default: desc for descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FistTime|InstallTime: installation time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetSystemPackageListRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - required: no - package name</li>
	// <li>StartTime - String - required: no - start time of installation</li>
	// <li>EndTime - String - required: no - end time of installation</li>
	// <li>Type- int - required: no - installation package type:
	// 1:rmp
	// 2:dpkg
	// 3:java
	// 4:system</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order. Default: desc for descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FistTime|InstallTime: installation time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetSystemPackageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetSystemPackageListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetSystemPackageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetSystemPackageListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	Packages []*AssetSystemPackageInfo `json:"Packages,omitnil,omitempty" name:"Packages"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetSystemPackageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetSystemPackageListResponseParams `json:"Response"`
}

func (r *DescribeAssetSystemPackageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetSystemPackageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetTotalCountRequestParams struct {

}

type DescribeAssetTotalCountRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetTotalCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetTotalCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetTotalCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetTotalCountResponseParams struct {
	// Number of individual resources
	// system: resource monitoring
	// account: account
	// port: port
	// process: process
	// app: application software
	// database: database
	// webapp: Web application
	// webframe: Web framework
	// webservice: Web service
	// weblocation: Web site
	// jar: Jar package
	// initservice: startup service
	// planTask: scheduled task
	// env: environment variable
	// coremodule: kernel module
	Types []*AssetKeyVal `json:"Types,omitnil,omitempty" name:"Types"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetTotalCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetTotalCountResponseParams `json:"Response"`
}

func (r *DescribeAssetTotalCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetTotalCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetTypeTopRequestParams struct {

}

type DescribeAssetTypeTopRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetTypeTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetTypeTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetTypeTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetTypeTopResponseParams struct {
	// Top 5 accounts
	User []*AssetKeyVal `json:"User,omitnil,omitempty" name:"User"`

	// Top 5 ports
	Port []*AssetKeyVal `json:"Port,omitnil,omitempty" name:"Port"`

	// Top 5 processes
	Process []*AssetKeyVal `json:"Process,omitnil,omitempty" name:"Process"`

	// Top 5 software
	Software []*AssetKeyVal `json:"Software,omitnil,omitempty" name:"Software"`

	// Top 5 databases
	Database []*AssetKeyVal `json:"Database,omitnil,omitempty" name:"Database"`

	// Top 5 Web Applications
	WebApp []*AssetKeyVal `json:"WebApp,omitnil,omitempty" name:"WebApp"`

	// Top 5 Websites
	WebLocation []*AssetKeyVal `json:"WebLocation,omitnil,omitempty" name:"WebLocation"`

	// Top 5 Web frameworks
	WebFrame []*AssetKeyVal `json:"WebFrame,omitnil,omitempty" name:"WebFrame"`

	// Top 5 Web Services
	WebService []*AssetKeyVal `json:"WebService,omitnil,omitempty" name:"WebService"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetTypeTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetTypeTopResponseParams `json:"Response"`
}

func (r *DescribeAssetTypeTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetTypeTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetTypesRequestParams struct {

}

type DescribeAssetTypesRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetTypesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetTypesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetTypesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetTypesResponseParams struct {
	// Asset fingerprint type list
	Types []*AssetType `json:"Types,omitnil,omitempty" name:"Types"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetTypesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetTypesResponseParams `json:"Response"`
}

func (r *DescribeAssetTypesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetTypesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserCountRequestParams struct {
	// Search criteria: Search all account lists containing the name in the name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetUserCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Search all account lists containing the name in the name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetUserCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetUserCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserCountResponseParams struct {
	// Number of accounts
	Users []*AssetKeyVal `json:"Users,omitnil,omitempty" name:"Users"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetUserCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetUserCountResponseParams `json:"Response"`
}

func (r *DescribeAssetUserCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserInfoRequestParams struct {
	// CVM UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// CWPP UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Account name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetUserInfoRequest struct {
	*tchttp.BaseRequest
	
	// CVM UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// CWPP UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Account name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetUserInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetUserInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserInfoResponseParams struct {
	// Detailed user information
	User *AssetUserDetail `json:"User,omitnil,omitempty" name:"User"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetUserInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetUserInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetUserInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserKeyListRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Account name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAssetUserKeyListRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Account name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAssetUserKeyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserKeyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Name")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetUserKeyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserKeyListResponseParams struct {
	// Public key list
	Keys []*AssetUserKeyInfo `json:"Keys,omitnil,omitempty" name:"Keys"`

	// Total number of partitions
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetUserKeyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetUserKeyListResponseParams `json:"Response"`
}

func (r *DescribeAssetUserKeyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserKeyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID<li>
	// <li>Name - String - required: no - account name (fuzzy match)</li>
	// <li>NameStrict - String - required: no - account name (strict match)</li>
	// <li>Uid - uint64 - required: no - UID</li>
	// <li>Guid - uint64 - required: no - GUID</li>
	// <li>LoginTimeStart - String - required: no - start time, such as 2021-01-11</li>
	// <li>LoginTimeEnd - String - required: no - end time, such as 2021-01-11</li>
	// <li>LoginType - uint64 - required: no - 0 - not allowed to log in; 1 - only key-based log-in allowed; 2 - only password-based log-in allowed; 3 - both key-based and password-based log-in allowed (Linux only)</li>
	// <li>OsType - String - required: no - Windows or Linux</li>
	// <li>Status - uint64 - required: no - account status: 0 - disabled; 1 - enabled</li>
	// <li>UserType - uint64 - required: no - account type: 0 - guest user; 1 - standard user; 2 - administrator user (Windows Only)</li>
	// <li>IsDomain - uint64 - required: no - whether a domain account: 0 - no; 1 - yes (Windows only)</li>
	// <li>IsRoot - uint64 - required: no - whether there is root permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSudo - uint64 - required: no - whether there is sudo permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSshLogin - uint64 - required: no - whether to use SSH log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>ShellLoginStatus - uint64 - required: no - whether to use Shell log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>PasswordStatus - uint64 - required: no - password status: 1 - normal; 2 - expiring soon; 3 - expired; 4 - locked (Linux only)</li>
	// <li>Os -String required: no - operating system (the value of DescribeMachineOsList API)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|LoginTime|PasswordChangeTime|PasswordDuaTime|PasswordLockDays]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetUserListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID<li>
	// <li>Name - String - required: no - account name (fuzzy match)</li>
	// <li>NameStrict - String - required: no - account name (strict match)</li>
	// <li>Uid - uint64 - required: no - UID</li>
	// <li>Guid - uint64 - required: no - GUID</li>
	// <li>LoginTimeStart - String - required: no - start time, such as 2021-01-11</li>
	// <li>LoginTimeEnd - String - required: no - end time, such as 2021-01-11</li>
	// <li>LoginType - uint64 - required: no - 0 - not allowed to log in; 1 - only key-based log-in allowed; 2 - only password-based log-in allowed; 3 - both key-based and password-based log-in allowed (Linux only)</li>
	// <li>OsType - String - required: no - Windows or Linux</li>
	// <li>Status - uint64 - required: no - account status: 0 - disabled; 1 - enabled</li>
	// <li>UserType - uint64 - required: no - account type: 0 - guest user; 1 - standard user; 2 - administrator user (Windows Only)</li>
	// <li>IsDomain - uint64 - required: no - whether a domain account: 0 - no; 1 - yes (Windows only)</li>
	// <li>IsRoot - uint64 - required: no - whether there is root permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSudo - uint64 - required: no - whether there is sudo permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSshLogin - uint64 - required: no - whether to use SSH log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>ShellLoginStatus - uint64 - required: no - whether to use Shell log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>PasswordStatus - uint64 - required: no - password status: 1 - normal; 2 - expiring soon; 3 - expired; 4 - locked (Linux only)</li>
	// <li>Os -String required: no - operating system (the value of DescribeMachineOsList API)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|LoginTime|PasswordChangeTime|PasswordDuaTime|PasswordLockDays]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetUserListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetUserListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetUserListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Account list
	Users []*AssetUserBaseInfo `json:"Users,omitnil,omitempty" name:"Users"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetUserListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetUserListResponseParams `json:"Response"`
}

func (r *DescribeAssetUserListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetUserListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebAppCountRequestParams struct {
	// Search criteria: Return a list of all Web applications containing Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetWebAppCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Return a list of all Web applications containing Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetWebAppCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebAppCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebAppCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebAppCountResponseParams struct {
	// Number of individual Web applications
	WebApps []*AssetKeyVal `json:"WebApps,omitnil,omitempty" name:"WebApps"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebAppCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebAppCountResponseParams `json:"Response"`
}

func (r *DescribeAssetWebAppCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebAppCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebAppListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - application name</li>
	// <li>Domain - String - required: no - site domain name</li>
	// <li>Type - int - required: no - service type:
	// 0: all
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:Jetty
	// 8:IHS
	// 9:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|PluginCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetWebAppListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - application name</li>
	// <li>Domain - String - required: no - site domain name</li>
	// <li>Type - int - required: no - service type:
	// 0: all
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:Jetty
	// 8:IHS
	// 9:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|PluginCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetWebAppListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebAppListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebAppListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebAppListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	WebApps []*AssetWebAppBaseInfo `json:"WebApps,omitnil,omitempty" name:"WebApps"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebAppListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebAppListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebAppListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebAppListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebAppPluginListRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Web application ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAssetWebAppPluginListRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Web application ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAssetWebAppPluginListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebAppPluginListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebAppPluginListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebAppPluginListResponseParams struct {
	// List
	Plugins []*AssetWebAppPluginInfo `json:"Plugins,omitnil,omitempty" name:"Plugins"`

	// Total number of partitions
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebAppPluginListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebAppPluginListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebAppPluginListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebAppPluginListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebFrameCountRequestParams struct {
	// Search criteria: Return a list of all Web frameworks containing Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetWebFrameCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Return a list of all Web frameworks containing Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetWebFrameCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebFrameCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebFrameCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebFrameCountResponseParams struct {
	// Number of individual Web frameworks
	WebFrames []*AssetKeyVal `json:"WebFrames,omitnil,omitempty" name:"WebFrames"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebFrameCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebFrameCountResponseParams `json:"Response"`
}

func (r *DescribeAssetWebFrameCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebFrameCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebFrameListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - framework name</li>
	// <li>NameStrict - String - required: no - framework name (strict match)</li>
	// <li>Lang - String - required: no - framework language: java/python</li>
	// <li>Type - String - required: no - service type:
	// 0: all
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	// <li>Os -String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|JarCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetWebFrameListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - framework name</li>
	// <li>NameStrict - String - required: no - framework name (strict match)</li>
	// <li>Lang - String - required: no - framework language: java/python</li>
	// <li>Type - String - required: no - service type:
	// 0: all
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	// <li>Os -String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|JarCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetWebFrameListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebFrameListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebFrameListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebFrameListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	WebFrames []*AssetWebFrameBaseInfo `json:"WebFrames,omitnil,omitempty" name:"WebFrames"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebFrameListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebFrameListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebFrameListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebFrameListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationCountRequestParams struct {
	// Search criteria: return a list of all web sites whose names contain Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetWebLocationCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: return a list of all web sites whose names contain Name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetWebLocationCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebLocationCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationCountResponseParams struct {
	// Number of individual Web sites
	WebLocations []*AssetKeyVal `json:"WebLocations,omitnil,omitempty" name:"WebLocations"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebLocationCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebLocationCountResponseParams `json:"Response"`
}

func (r *DescribeAssetWebLocationCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationInfoRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Site ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetWebLocationInfoRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Site ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetWebLocationInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebLocationInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationInfoResponseParams struct {
	// Site information.
	WebLocation *AssetWebLocationInfo `json:"WebLocation,omitnil,omitempty" name:"WebLocation"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebLocationInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebLocationInfoResponseParams `json:"Response"`
}

func (r *DescribeAssetWebLocationInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - domain name</li>
	// <li>User - String - required: no - running user</li>
	// <li>Port - uint64 - required: no - site port</li>
	// <li>Proto - uint64 - required: no - site protocol: 1: HTTP; 2: HTTPS</li><li>ServiceType - uint64 - required: no - service type:
	// 1:Tomcat
	// 2: Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|PathCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetWebLocationListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>IP - String - required: no - host IP address</li>
	// <li>MachineName - String - required: no - host name</li>
	// <li>InstanceID - string - required: no - instance ID</li>
	// <li>Name - String - required: no - domain name</li>
	// <li>User - String - required: no - running user</li>
	// <li>Port - uint64 - required: no - site port</li>
	// <li>Proto - uint64 - required: no - site protocol: 1: HTTP; 2: HTTPS</li><li>ServiceType - uint64 - required: no - service type:
	// 1:Tomcat
	// 2: Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	// <li>Os - String required: no - operating system (value of DescribeMachineOsList)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|PathCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetWebLocationListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebLocationListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationListResponseParams struct {
	// Total number of records
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Site list
	Locations []*AssetWebLocationBaseInfo `json:"Locations,omitnil,omitempty" name:"Locations"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebLocationListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebLocationListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebLocationListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationPathListRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Web site ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of returned lists. It is 10 by default, and the maximum number is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeAssetWebLocationPathListRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Web site ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of returned lists. It is 10 by default, and the maximum number is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeAssetWebLocationPathListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationPathListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebLocationPathListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebLocationPathListResponseParams struct {
	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	Paths []*AssetWebLocationPath `json:"Paths,omitnil,omitempty" name:"Paths"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebLocationPathListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebLocationPathListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebLocationPathListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebLocationPathListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceCountRequestParams struct {
	// Search criteria: Return a list of all Web services containing Name in the name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type DescribeAssetWebServiceCountRequest struct {
	*tchttp.BaseRequest
	
	// Search criteria: Return a list of all Web services containing Name in the name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

func (r *DescribeAssetWebServiceCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebServiceCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceCountResponseParams struct {
	// Number of web services
	WebServices []*AssetKeyVal `json:"WebServices,omitnil,omitempty" name:"WebServices"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebServiceCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebServiceCountResponseParams `json:"Response"`
}

func (r *DescribeAssetWebServiceCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceInfoListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>User - string - required: no - running user</li>
	// <li>Name - string - required: no - Web service name:</li>
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - string - required: no - Windows/Linux</li>
	// <li>Os -String required: no - operating system (the value of DescribeMachineOsList API)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which is 0 by default.
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetWebServiceInfoListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>User - string - required: no - running user</li>
	// <li>Name - string - required: no - Web service name:</li>
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - string - required: no - Windows/Linux</li>
	// <li>Os -String required: no - operating system (the value of DescribeMachineOsList API)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which is 0 by default.
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetWebServiceInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceInfoListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebServiceInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceInfoListResponseParams struct {
	// List
	WebServices []*AssetWebServiceBaseInfo `json:"WebServices,omitnil,omitempty" name:"WebServices"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebServiceInfoListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebServiceInfoListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebServiceInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceProcessListRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Web service ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeAssetWebServiceProcessListRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Web service ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeAssetWebServiceProcessListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceProcessListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	delete(f, "Id")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetWebServiceProcessListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceProcessListResponseParams struct {
	// Process list
	Process []*AssetAppProcessInfo `json:"Process,omitnil,omitempty" name:"Process"`

	// Total number
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetWebServiceProcessListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebServiceProcessListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebServiceProcessListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceProcessListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackEventInfoRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAttackEventInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAttackEventInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackEventInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackEventInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackEventInfoResponseParams struct {
	// Network attack event details
	NetAttackEventInfo *NetAttackEventInfo `json:"NetAttackEventInfo,omitnil,omitempty" name:"NetAttackEventInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackEventInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackEventInfoResponseParams `json:"Response"`
}

func (r *DescribeAttackEventInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackEventInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackEventsRequestParams struct {
	// Number of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	//  Filter criteria
	// <li>Type - String attack status. 0: attempted attack; 1: attack succeeded - required: no</li>
	// <li>Status - String event processing status: 0: pending 1: processed; 2: allowlisted; 3: ignored; 4: deleted - required: no</li>
	// <li>SrcIP - String source IP - required: no</li>
	// <li>Uuids - String CWPP UUID - required: no</li>
	// <li>Quuids - String CVM UUID - required: no</li>
	// <li>DstPort - String attack target port - required: no</li>
	// <li>MachineName - String host name - required: no</li>
	// <li>InstanceID - String host instance ID - required: no</li>
	// <li>AttackTimeBegin - String attack start time - required: no</li>
	// <li>AttackTimeEnd - String attack end time - required: no</li>
	// <li>VulSupportDefense - String: whether the vulnerability can be defended: 0: no;1: yes - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAttackEventsRequest struct {
	*tchttp.BaseRequest
	
	// Number of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	//  Filter criteria
	// <li>Type - String attack status. 0: attempted attack; 1: attack succeeded - required: no</li>
	// <li>Status - String event processing status: 0: pending 1: processed; 2: allowlisted; 3: ignored; 4: deleted - required: no</li>
	// <li>SrcIP - String source IP - required: no</li>
	// <li>Uuids - String CWPP UUID - required: no</li>
	// <li>Quuids - String CVM UUID - required: no</li>
	// <li>DstPort - String attack target port - required: no</li>
	// <li>MachineName - String host name - required: no</li>
	// <li>InstanceID - String host instance ID - required: no</li>
	// <li>AttackTimeBegin - String attack start time - required: no</li>
	// <li>AttackTimeEnd - String attack end time - required: no</li>
	// <li>VulSupportDefense - String: whether the vulnerability can be defended: 0: no;1: yes - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAttackEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackEventsResponseParams struct {
	// Attack Event List
	List []*NetAttackEvent `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackEventsResponseParams `json:"Response"`
}

func (r *DescribeAttackEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackStatisticsRequestParams struct {

}

type DescribeAttackStatisticsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAttackStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackStatisticsResponseParams struct {
	// Total Number of Attacks
	PendingAttackCount *uint64 `json:"PendingAttackCount,omitnil,omitempty" name:"PendingAttackCount"`

	// Total Attack Attempts
	PendingTryAttackCount *uint64 `json:"PendingTryAttackCount,omitnil,omitempty" name:"PendingTryAttackCount"`

	// Total Number of Successful Attacks
	PendingSuccAttackCount *uint64 `json:"PendingSuccAttackCount,omitnil,omitempty" name:"PendingSuccAttackCount"`

	// Number of New Attacks Today
	PendingNewAttackCount *uint64 `json:"PendingNewAttackCount,omitnil,omitempty" name:"PendingNewAttackCount"`

	// Total Number of Assets Under Attack
	AttackedAssetCount *uint64 `json:"AttackedAssetCount,omitnil,omitempty" name:"AttackedAssetCount"`

	// Number of New Attacked Assets Today
	NewAttackedAssetCount *uint64 `json:"NewAttackedAssetCount,omitnil,omitempty" name:"NewAttackedAssetCount"`

	// Total Number of Attacked Ports
	AttackedPortCount *uint64 `json:"AttackedPortCount,omitnil,omitempty" name:"AttackedPortCount"`

	// Number of New Attacked Ports Today
	NewAttackedPortCount *uint64 `json:"NewAttackedPortCount,omitnil,omitempty" name:"NewAttackedPortCount"`

	// Total Number of Attack Source IPs
	AttackSrcIpCount *uint64 `json:"AttackSrcIpCount,omitnil,omitempty" name:"AttackSrcIpCount"`

	// Number of New Attacking Source IPs Today
	NewAttackSrcIpCount *uint64 `json:"NewAttackSrcIpCount,omitnil,omitempty" name:"NewAttackSrcIpCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackStatisticsResponseParams `json:"Response"`
}

func (r *DescribeAttackStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackTopRequestParams struct {
	//  Filter criteria
	// <li>BeginTime - String - start time, defaulted to last 7 days - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAttackTopRequest struct {
	*tchttp.BaseRequest
	
	//  Filter criteria
	// <li>BeginTime - String - start time, defaulted to last 7 days - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAttackTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackTopResponseParams struct {
	// Top Statistics
	NetAttackTopInfo *NetAttackTopInfo `json:"NetAttackTopInfo,omitnil,omitempty" name:"NetAttackTopInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackTopResponseParams `json:"Response"`
}

func (r *DescribeAttackTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackTrendsRequestParams struct {
	//  Filter criteria
	// <li>BeginTime - String start time, default: last 7 days - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAttackTrendsRequest struct {
	*tchttp.BaseRequest
	
	//  Filter criteria
	// <li>BeginTime - String start time, default: last 7 days - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAttackTrendsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackTrendsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackTrendsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackTrendsResponseParams struct {
	// Attack Trend Statistics (Days)
	NetAttackTrend []*NetAttackTrend `json:"NetAttackTrend,omitnil,omitempty" name:"NetAttackTrend"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackTrendsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackTrendsResponseParams `json:"Response"`
}

func (r *DescribeAttackTrendsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackTrendsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackTypeRequestParams struct {
	// Filter criteria
	// <li>Source - String - Required - Allowlisted module, rasp: vulnerability defense, memshell_inject: memory shell injection</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries to be returned. Default value: 10. Maximum value: 1000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting field. Currently available: Id. Default sorting order is by Id. Can be omitted.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAttackTypeRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Source - String - Required - Allowlisted module, rasp: vulnerability defense, memshell_inject: memory shell injection</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries to be returned. Default value: 10. Maximum value: 1000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting field. Currently available: Id. Default sorting order is by Id. Can be omitted.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAttackTypeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackTypeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackTypeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackTypeResponseParams struct {
	// List content
	List []*RaspAttackTypeListItem `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackTypeResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackTypeResponseParams `json:"Response"`
}

func (r *DescribeAttackTypeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackTypeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackVulTypeListRequestParams struct {

}

type DescribeAttackVulTypeListRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAttackVulTypeListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackVulTypeListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackVulTypeListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackVulTypeListResponseParams struct {
	// Threat type list
	List []*string `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAttackVulTypeListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackVulTypeListResponseParams `json:"Response"`
}

func (r *DescribeAttackVulTypeListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackVulTypeListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanModeRequestParams struct {

}

type DescribeBanModeRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeBanModeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanModeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBanModeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanModeResponseParams struct {
	// <p>Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.</p>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>Configuration of the standard blocking mode</p>
	StandardModeConfig *StandardModeConfig `json:"StandardModeConfig,omitnil,omitempty" name:"StandardModeConfig"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBanModeResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBanModeResponseParams `json:"Response"`
}

func (r *DescribeBanModeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanModeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanRegionsRequestParams struct {
	// Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`
}

type DescribeBanRegionsRequest struct {
	*tchttp.BaseRequest
	
	// Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`
}

func (r *DescribeBanRegionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanRegionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Mode")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBanRegionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanRegionsResponseParams struct {
	// Region information list
	RegionSet []*RegionSet `json:"RegionSet,omitnil,omitempty" name:"RegionSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBanRegionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBanRegionsResponseParams `json:"Response"`
}

func (r *DescribeBanRegionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanRegionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanStatusRequestParams struct {

}

type DescribeBanStatusRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeBanStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBanStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanStatusResponseParams struct {
	// <p>(Deprecated) Blocking switch status: 0 -- Off; 1 -- Advanced blocking; 2 -- Basic blocking (blocks only blacklisted IPs in the intelligence database)</p>
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Whether to show pop-up prompts. false: disabled; true: enabled</p>
	ShowTips *bool `json:"ShowTips,omitnil,omitempty" name:"ShowTips"`

	// <p>Whether to enable intelligent allowlisting mode</p>
	OpenSmartMode *bool `json:"OpenSmartMode,omitnil,omitempty" name:"OpenSmartMode"`

	// <p>Whether to enable threat-intelligence IP blocking</p>
	BanBlackIp *bool `json:"BanBlackIp,omitnil,omitempty" name:"BanBlackIp"`

	// <p>Whether to enable vulnerability-related IP blocking</p>
	BanVulIp *bool `json:"BanVulIp,omitnil,omitempty" name:"BanVulIp"`

	// <p>Whether to enable rule blocking</p>
	BanByRule *bool `json:"BanByRule,omitnil,omitempty" name:"BanByRule"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBanStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBanStatusResponseParams `json:"Response"`
}

func (r *DescribeBanStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanWhiteListRequestParams struct {
	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>Keywords - String - required: no - query by keywords</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeBanWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>Keywords - String - required: no - query by keywords</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeBanWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBanWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBanWhiteListResponseParams struct {
	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Allowlist
	WhiteList []*BanWhiteListDetail `json:"WhiteList,omitnil,omitempty" name:"WhiteList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBanWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBanWhiteListResponseParams `json:"Response"`
}

func (r *DescribeBanWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBanWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineBasicInfoRequestParams struct {
	// Baseline name
	BaselineName *string `json:"BaselineName,omitnil,omitempty" name:"BaselineName"`
}

type DescribeBaselineBasicInfoRequest struct {
	*tchttp.BaseRequest
	
	// Baseline name
	BaselineName *string `json:"BaselineName,omitnil,omitempty" name:"BaselineName"`
}

func (r *DescribeBaselineBasicInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineBasicInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BaselineName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineBasicInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineBasicInfoResponseParams struct {
	// Baseline basic information list
	BaselineBasicInfoList []*BaselineBasicInfo `json:"BaselineBasicInfoList,omitnil,omitempty" name:"BaselineBasicInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineBasicInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineBasicInfoResponseParams `json:"Response"`
}

func (r *DescribeBaselineBasicInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineBasicInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineDefaultStrategyListRequestParams struct {

}

type DescribeBaselineDefaultStrategyListRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeBaselineDefaultStrategyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineDefaultStrategyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineDefaultStrategyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineDefaultStrategyListResponseParams struct {
	// List of the basic default policy information
	StrategyList []*DefaultStrategyInfo `json:"StrategyList,omitnil,omitempty" name:"StrategyList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineDefaultStrategyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineDefaultStrategyListResponseParams `json:"Response"`
}

func (r *DescribeBaselineDefaultStrategyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineDefaultStrategyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineDetailRequestParams struct {
	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`
}

type DescribeBaselineDetailRequest struct {
	*tchttp.BaseRequest
	
	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`
}

func (r *DescribeBaselineDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BaselineId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineDetailResponseParams struct {
	// Baseline details
	BaselineDetail *BaselineDetail `json:"BaselineDetail,omitnil,omitempty" name:"BaselineDetail"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineDetailResponseParams `json:"Response"`
}

func (r *DescribeBaselineDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineEffectHostListRequestParams struct {
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Filter criteria
	// <li>AliasName - String - host alias</li>
	// <li>Status- Uint: 1 - passed; 0 - failed; 5 - under detection</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Host UUID array
	UuidList []*string `json:"UuidList,omitnil,omitempty" name:"UuidList"`
}

type DescribeBaselineEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Filter criteria
	// <li>AliasName - String - host alias</li>
	// <li>Status- Uint: 1 - passed; 0 - failed; 5 - under detection</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Host UUID array
	UuidList []*string `json:"UuidList,omitnil,omitempty" name:"UuidList"`
}

func (r *DescribeBaselineEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "BaselineId")
	delete(f, "Filters")
	delete(f, "StrategyId")
	delete(f, "UuidList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineEffectHostListResponseParams struct {
	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of affected servers
	EffectHostList []*BaselineEffectHost `json:"EffectHostList,omitnil,omitempty" name:"EffectHostList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineEffectHostListResponseParams `json:"Response"`
}

func (r *DescribeBaselineEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineHostDetectListRequestParams struct {
	// <li>PolicyId - int64 - required: no - policy ID</li>
	// <li>HostName - string - required: no - host name</li>
	// <li>HostIp - string - required: no - host IP</li>
	// <li>ItemId - int64 - required: no - item ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>DetectStatus - int - required: no - detection status</li>
	// <li>Level - int - Required: No - Risk level</li>
	// <li>StartTime - string - required: no - start time</li>
	// <li>EndTime - string - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional Order Column: [LastTime|ItemCount|PassedItemCount|NotPassedItemCount|FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBaselineHostDetectListRequest struct {
	*tchttp.BaseRequest
	
	// <li>PolicyId - int64 - required: no - policy ID</li>
	// <li>HostName - string - required: no - host name</li>
	// <li>HostIp - string - required: no - host IP</li>
	// <li>ItemId - int64 - required: no - item ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>DetectStatus - int - required: no - detection status</li>
	// <li>Level - int - Required: No - Risk level</li>
	// <li>StartTime - string - required: no - start time</li>
	// <li>EndTime - string - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional Order Column: [LastTime|ItemCount|PassedItemCount|NotPassedItemCount|FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBaselineHostDetectListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineHostDetectListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineHostDetectListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineHostDetectListResponseParams struct {
	// None
	List []*BaselineHostDetect `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineHostDetectListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineHostDetectListResponseParams `json:"Response"`
}

func (r *DescribeBaselineHostDetectListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineHostDetectListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineHostTopRequestParams struct {
	// Dynamic top value
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

type DescribeBaselineHostTopRequest struct {
	*tchttp.BaseRequest
	
	// Dynamic top value
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

func (r *DescribeBaselineHostTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineHostTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Top")
	delete(f, "StrategyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineHostTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineHostTopResponseParams struct {
	// Top host baseline policy events
	BaselineHostTopList []*BaselineHostTopList `json:"BaselineHostTopList,omitnil,omitempty" name:"BaselineHostTopList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineHostTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineHostTopResponseParams `json:"Response"`
}

func (r *DescribeBaselineHostTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineHostTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineItemDetectListRequestParams struct {
	// <li>HostId - string - required: no - host ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>PolicyId - int64 - required: no - policy ID</li>
	// <li>ItemName - string - required: no - item name</li>
	// <li>DetectStatus - int - required: no - detection status</li>
	// <li>Level - int - required: no - risk level</li>
	// <li>StartTime - string - required: no - start time</li>
	// <li>EndTime - string - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [HostCount|FirstTime|LastTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBaselineItemDetectListRequest struct {
	*tchttp.BaseRequest
	
	// <li>HostId - string - required: no - host ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>PolicyId - int64 - required: no - policy ID</li>
	// <li>ItemName - string - required: no - item name</li>
	// <li>DetectStatus - int - required: no - detection status</li>
	// <li>Level - int - required: no - risk level</li>
	// <li>StartTime - string - required: no - start time</li>
	// <li>EndTime - string - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [HostCount|FirstTime|LastTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBaselineItemDetectListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineItemDetectListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineItemDetectListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineItemDetectListResponseParams struct {
	// Total number
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// None
	List []*BaselineItemDetect `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineItemDetectListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineItemDetectListResponseParams `json:"Response"`
}

func (r *DescribeBaselineItemDetectListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineItemDetectListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineItemListRequestParams struct {
	// <li>PolicyId - int64 - required: no - policy ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>HostId - string - required: no - host ID</li>
	// <li>HostName - string - required: no - host name</li>
	// <li>HostIp - string - required: no - host IP</li>
	// <li>ItemId - String - required: no - detection item ID</li>
	// <li>ItemName - String - required: no - item name</li>
	// <li>DetectStatus - int - required: no - detection status [0: not passed|3: passed|5: detecting]</li>
	// <li>Level - int - required: no - risk level</li>
	// <li>StartTime - string - required: no - start time</li>
	// <li>EndTime - string - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting columns
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBaselineItemListRequest struct {
	*tchttp.BaseRequest
	
	// <li>PolicyId - int64 - required: no - policy ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>HostId - string - required: no - host ID</li>
	// <li>HostName - string - required: no - host name</li>
	// <li>HostIp - string - required: no - host IP</li>
	// <li>ItemId - String - required: no - detection item ID</li>
	// <li>ItemName - String - required: no - item name</li>
	// <li>DetectStatus - int - required: no - detection status [0: not passed|3: passed|5: detecting]</li>
	// <li>Level - int - required: no - risk level</li>
	// <li>StartTime - string - required: no - start time</li>
	// <li>EndTime - string - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting columns
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBaselineItemListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineItemListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineItemListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineItemListResponseParams struct {
	// None
	List []*BaselineItem `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineItemListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineItemListResponseParams `json:"Response"`
}

func (r *DescribeBaselineItemListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineItemListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineListRequestParams struct {
	// Pagination parameter, indicating the number of entries per page. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter conditions <li>StrategyId- Uint64 - Baseline policy id</li> <li>Status - Uint64 - Processing status 1-Approved 0-Failed</li> <li>Level - Uint64 - Threat level 1-Low risk 2-Medium risk 3-High risk 4-Critical</li> <li>BaselineName  - String - Baseline name</li> <li>Quuid- String - Host quuid</li> <li>Uuid- String - Host uuid</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeBaselineListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameter, indicating the number of entries per page. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter conditions <li>StrategyId- Uint64 - Baseline policy id</li> <li>Status - Uint64 - Processing status 1-Approved 0-Failed</li> <li>Level - Uint64 - Threat level 1-Low risk 2-Medium risk 3-High risk 4-Critical</li> <li>BaselineName  - String - Baseline name</li> <li>Quuid- String - Host quuid</li> <li>Uuid- String - Host uuid</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeBaselineListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineListResponseParams struct {
	// List of baseline information
	BaselineList []*BaselineInfo `json:"BaselineList,omitnil,omitempty" name:"BaselineList"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineListResponseParams `json:"Response"`
}

func (r *DescribeBaselineListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselinePolicyListRequestParams struct {
	// <li>PolicyName - String - required: no - policy name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [RuleCount|ItemCount|HostCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBaselinePolicyListRequest struct {
	*tchttp.BaseRequest
	
	// <li>PolicyName - String - required: no - policy name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [RuleCount|ItemCount|HostCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBaselinePolicyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselinePolicyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselinePolicyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselinePolicyListResponseParams struct {
	// None
	List []*BaselinePolicy `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselinePolicyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselinePolicyListResponseParams `json:"Response"`
}

func (r *DescribeBaselinePolicyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselinePolicyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineRuleRequestParams struct {
	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Pagination limit, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Severity level
	Level []*uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Status
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DescribeBaselineRuleRequest struct {
	*tchttp.BaseRequest
	
	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Pagination limit, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Severity level
	Level []*uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Status
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DescribeBaselineRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BaselineId")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Level")
	delete(f, "Status")
	delete(f, "Quuid")
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineRuleResponseParams struct {
	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Baseline check item list
	BaselineRuleList []*BaselineRuleInfo `json:"BaselineRuleList,omitnil,omitempty" name:"BaselineRuleList"`

	// Whether to display the description column: true-yes, false-no
	ShowRuleRemark *bool `json:"ShowRuleRemark,omitnil,omitempty" name:"ShowRuleRemark"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineRuleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineRuleResponseParams `json:"Response"`
}

func (r *DescribeBaselineRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineScanScheduleRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DescribeBaselineScanScheduleRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *DescribeBaselineScanScheduleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineScanScheduleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineScanScheduleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineScanScheduleResponseParams struct {
	// Detection progress (percentage)
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineScanScheduleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineScanScheduleResponseParams `json:"Response"`
}

func (r *DescribeBaselineScanScheduleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineScanScheduleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineStrategyDetailRequestParams struct {
	// User baseline policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

type DescribeBaselineStrategyDetailRequest struct {
	*tchttp.BaseRequest
	
	// User baseline policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

func (r *DescribeBaselineStrategyDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineStrategyDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineStrategyDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineStrategyDetailResponseParams struct {
	// Policy scan pass rate
	PassRate *uint64 `json:"PassRate,omitnil,omitempty" name:"PassRate"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Policy scan cycle (days)
	ScanCycle *string `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Regular scan time. The scan task is triggered at this time.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Whether all servers are scanned: 1: yes; 0 :no. If the value is 1, all Professional Edition hosts are scanned.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Machine type:
	// cvm: Tencent Cloud Virtual Machine
	// bm: bare metal server
	// ecm: edge computing host
	// Lightweight Application Server
	// Hybrid cloud machine
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Host region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// IDs of all user hosts under this policy
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// User baseline IDs under this policy
	CategoryIds []*string `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// 1 means scanned, 0 means not scanned
	IfScanned *uint64 `json:"IfScanned,omitnil,omitempty" name:"IfScanned"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineStrategyDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineStrategyDetailResponseParams `json:"Response"`
}

func (r *DescribeBaselineStrategyDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineStrategyDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineStrategyListRequestParams struct {
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Rule switch: 1 - on; 0 - off; 2: all
	Enabled *uint64 `json:"Enabled,omitnil,omitempty" name:"Enabled"`
}

type DescribeBaselineStrategyListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Rule switch: 1 - on; 0 - off; 2: all
	Enabled *uint64 `json:"Enabled,omitnil,omitempty" name:"Enabled"`
}

func (r *DescribeBaselineStrategyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineStrategyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Enabled")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineStrategyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineStrategyListResponseParams struct {
	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// User policy information list
	StrategyList []*Strategy `json:"StrategyList,omitnil,omitempty" name:"StrategyList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineStrategyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineStrategyListResponseParams `json:"Response"`
}

func (r *DescribeBaselineStrategyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineStrategyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineTopRequestParams struct {
	// Dynamic top value
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

type DescribeBaselineTopRequest struct {
	*tchttp.BaseRequest
	
	// Dynamic top value
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

func (r *DescribeBaselineTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Top")
	delete(f, "StrategyId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineTopResponseParams struct {
	// List of Top check items
	RuleTopList []*BaselineRuleTopInfo `json:"RuleTopList,omitnil,omitempty" name:"RuleTopList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineTopResponseParams `json:"Response"`
}

func (r *DescribeBaselineTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineWeakPasswordListRequestParams struct {
	// <li>WeakPassword - string - required: no - weak password</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting order [ASC: ascending|DESC: descending]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column [CreateTime|ModifyTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBaselineWeakPasswordListRequest struct {
	*tchttp.BaseRequest
	
	// <li>WeakPassword - string - required: no - weak password</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting order [ASC: ascending|DESC: descending]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column [CreateTime|ModifyTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBaselineWeakPasswordListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineWeakPasswordListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBaselineWeakPasswordListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBaselineWeakPasswordListResponseParams struct {
	// Total number
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	List []*BaselineWeakPassword `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBaselineWeakPasswordListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBaselineWeakPasswordListResponseParams `json:"Response"`
}

func (r *DescribeBaselineWeakPasswordListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBaselineWeakPasswordListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsInfoNewRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeBashEventsInfoNewRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeBashEventsInfoNewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsInfoNewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBashEventsInfoNewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsInfoNewResponseParams struct {
	// Event details
	BashEventsInfo *BashEventsInfoNew `json:"BashEventsInfo,omitnil,omitempty" name:"BashEventsInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBashEventsInfoNewResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBashEventsInfoNewResponseParams `json:"Response"`
}

func (r *DescribeBashEventsInfoNewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsInfoNewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsInfoRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeBashEventsInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeBashEventsInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBashEventsInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsInfoResponseParams struct {
	// Event details
	BashEventsInfo *BashEventsInfo `json:"BashEventsInfo,omitnil,omitempty" name:"BashEventsInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBashEventsInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBashEventsInfoResponseParams `json:"Response"`
}

func (r *DescribeBashEventsInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsNewRequestParams struct {
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostName - String - required: no - host name</li>
	// <li>Hostip - String - required: no - host's private IP address</li>
	// <li>HostIp - String - required: no - host's private IP address</li>
	// <li>RuleCategory - Int - required: no - policy type (all types or a single type): 0: system; 1: user</li><li>RuleName - String - required: no - policy name</li>
	// <li>RuleLevel - Int - required: no - threat Level (multiple levels supported)</li>
	// <li>Status - Int - required: no - processing status (multiple statuses supported): 0: pending; 1: processed; 2: added to allowlist; 3: ignored; 4: deleted; 5: blocked</li>
	// <li>DetectBy - Int - required: no - data source (multiple sources supported): 0: bash logs; 1: real-time monitoring</li>
	// <li>StartTime - String - required: no - start time</li>
	// <li>EndTime - String - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: sort by number of requests. asc: ascending; desc: descending.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. CreateTime: occurrence time; ModifyTime: processing time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBashEventsNewRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostName - String - required: no - host name</li>
	// <li>Hostip - String - required: no - host's private IP address</li>
	// <li>HostIp - String - required: no - host's private IP address</li>
	// <li>RuleCategory - Int - required: no - policy type (all types or a single type): 0: system; 1: user</li><li>RuleName - String - required: no - policy name</li>
	// <li>RuleLevel - Int - required: no - threat Level (multiple levels supported)</li>
	// <li>Status - Int - required: no - processing status (multiple statuses supported): 0: pending; 1: processed; 2: added to allowlist; 3: ignored; 4: deleted; 5: blocked</li>
	// <li>DetectBy - Int - required: no - data source (multiple sources supported): 0: bash logs; 1: real-time monitoring</li>
	// <li>StartTime - String - required: no - start time</li>
	// <li>EndTime - String - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: sort by number of requests. asc: ascending; desc: descending.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. CreateTime: occurrence time; ModifyTime: processing time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBashEventsNewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsNewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBashEventsNewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsNewResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// High-risk command event list
	List []*BashEventNew `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBashEventsNewResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBashEventsNewResponseParams `json:"Response"`
}

func (r *DescribeBashEventsNewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsNewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsRequestParams struct {
	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostName - String - required: no - host name</li>
	// <li>Hostip - String - required: no - host's private IP address</li>
	// <li>RuleCategory - Int - required: no - policy type (all types or a single type): 0: system; 1: user</li>
	// <li>RuleName - String - required: no - policy name</li>
	// <li>RuleLevel - Int - required: no - threat Level (multiple levels supported)</li>
	// <li>Status - Int - required: no - processing status (multiple statuses supported): 0: pending; 1: processed; 2: added to allowlist; 3: ignored; 4: deleted; 5: blocked</li>
	// <li>DetectBy - Int - required: no - data source (multiple sources supported): 0: bash logs; 1: real-time monitoring</li>
	// <li>StartTime - String - required: no - start time</li>
	// <li>EndTime - String - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: sort by number of requests. asc: ascending order; desc: descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. CreateTime: occurrence time; ModifyTime: processing time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBashEventsRequest struct {
	*tchttp.BaseRequest
	
	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostName - String - required: no - host name</li>
	// <li>Hostip - String - required: no - host's private IP address</li>
	// <li>RuleCategory - Int - required: no - policy type (all types or a single type): 0: system; 1: user</li>
	// <li>RuleName - String - required: no - policy name</li>
	// <li>RuleLevel - Int - required: no - threat Level (multiple levels supported)</li>
	// <li>Status - Int - required: no - processing status (multiple statuses supported): 0: pending; 1: processed; 2: added to allowlist; 3: ignored; 4: deleted; 5: blocked</li>
	// <li>DetectBy - Int - required: no - data source (multiple sources supported): 0: bash logs; 1: real-time monitoring</li>
	// <li>StartTime - String - required: no - start time</li>
	// <li>EndTime - String - required: no - end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: sort by number of requests. asc: ascending order; desc: descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. CreateTime: occurrence time; ModifyTime: processing time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBashEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBashEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashEventsResponseParams struct {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of high-risk command events
	List []*BashEvent `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBashEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBashEventsResponseParams `json:"Response"`
}

func (r *DescribeBashEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashPoliciesRequestParams struct {
	// Quantity of returned entries. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Name - String - required: no - rule name</li>
	// <li>Rule - String - required: no - rule content</li>
	// <li>Level - Int - required: no - threat level</li>
	// <li>White - Int - required: no - allowlist type</li>
	// <li>Category - Int - required: no - policy type</li>
	// <li>BashAction - Int - required: no - action</li>
	// <li>Enable - Int - required: no - enabling status</li>
	// <li>Id - Int - required: no - policy ID</li>
	// <li>PolicyId - Int - required: no - policy ID</li>
	// <li>RuleId - Int - required: no - rule ID</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeBashPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returned entries. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Name - String - required: no - rule name</li>
	// <li>Rule - String - required: no - rule content</li>
	// <li>Level - Int - required: no - threat level</li>
	// <li>White - Int - required: no - allowlist type</li>
	// <li>Category - Int - required: no - policy type</li>
	// <li>BashAction - Int - required: no - action</li>
	// <li>Enable - Int - required: no - enabling status</li>
	// <li>Id - Int - required: no - policy ID</li>
	// <li>PolicyId - Int - required: no - policy ID</li>
	// <li>RuleId - Int - required: no - rule ID</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeBashPoliciesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashPoliciesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBashPoliciesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashPoliciesResponseParams struct {
	// List content
	List []*BashPolicy `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBashPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBashPoliciesResponseParams `json:"Response"`
}

func (r *DescribeBashPoliciesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashPoliciesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashRulesRequestParams struct {
	// 0: system rule; 1: user rule.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Number of returned entries. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Name - String - required: no - rule name</li>
	// <li>Rule - String - Required: no - Rule content</li>
	// <li>Level - Int - required: no - threat level</li>
	// <li>White - Int - Required: no - Type of allowlist</li>
	// <li>RuleCategory - Int - required: no - policy type</li>
	// <li>BashAction - Int - required: no - action</li>
	// <li>Status - Int - required: no - effective status</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeBashRulesRequest struct {
	*tchttp.BaseRequest
	
	// 0: system rule; 1: user rule.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Number of returned entries. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Name - String - required: no - rule name</li>
	// <li>Rule - String - Required: no - Rule content</li>
	// <li>Level - Int - required: no - threat level</li>
	// <li>White - Int - Required: no - Type of allowlist</li>
	// <li>RuleCategory - Int - required: no - policy type</li>
	// <li>BashAction - Int - required: no - action</li>
	// <li>Status - Int - required: no - effective status</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeBashRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBashRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBashRulesResponseParams struct {
	// List content
	List []*BashRule `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBashRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBashRulesResponseParams `json:"Response"`
}

func (r *DescribeBashRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBashRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBruteAttackListRequestParams struct {
	// Number of items to be returned. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>Uuid - String - Required: no - CWP unique UUID</li>
	// <li>Quuid - String - required: no - CVM UUID</li>
	// <li>Status - String - required: no - filter by status: failed - FAILED; succeeded - SUCCESS</li>
	// <li>UserName - String - required: no - filter by UserName</li>
	// <li>SrcIp - String - Required: No - Source ip filter criteria</li>
	// <li>CreateBeginTime - String - required: no - filter by first attack time, start time</li>
	// <li>CreateEndTime - String - Required: no - Filter by first attack time, end time</li>
	// <li>ModifyBeginTime - String - required: no - filter by last attack time, start time</li>
	// <li>ModifyEndTime - String - required: no - filter by last attack time, end time</li>
	// <li>Banned - String - Required: No - Blocking status filtering, multiple values separated by ",": 0-unblocked (global ZK switch off), 82-unblocked (non-Pro Edition), 83-unblocked (added to allowlist), 1-Block Success (completed), 2-unblocked-abnormal program, 3-unblocked-internal network attack (blocking is not supported), 4-unblocked-Anping (blocking is not supported), 10-Block Success (active)</li>
	// <li>DataFrom - Int - Matched rule: 0-login rule, 1-intelligence rule</li>
	// <li>EventType - String - Required: No - Filter criteria for cracking status: 200-Cracking failure (incorrect password), 300-Successful cracking, 400-Cracking failure (account does not exist)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests: asc - ascending order/desc - descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: CreateTime - first attack time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeBruteAttackListRequest struct {
	*tchttp.BaseRequest
	
	// Number of items to be returned. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>Uuid - String - Required: no - CWP unique UUID</li>
	// <li>Quuid - String - required: no - CVM UUID</li>
	// <li>Status - String - required: no - filter by status: failed - FAILED; succeeded - SUCCESS</li>
	// <li>UserName - String - required: no - filter by UserName</li>
	// <li>SrcIp - String - Required: No - Source ip filter criteria</li>
	// <li>CreateBeginTime - String - required: no - filter by first attack time, start time</li>
	// <li>CreateEndTime - String - Required: no - Filter by first attack time, end time</li>
	// <li>ModifyBeginTime - String - required: no - filter by last attack time, start time</li>
	// <li>ModifyEndTime - String - required: no - filter by last attack time, end time</li>
	// <li>Banned - String - Required: No - Blocking status filtering, multiple values separated by ",": 0-unblocked (global ZK switch off), 82-unblocked (non-Pro Edition), 83-unblocked (added to allowlist), 1-Block Success (completed), 2-unblocked-abnormal program, 3-unblocked-internal network attack (blocking is not supported), 4-unblocked-Anping (blocking is not supported), 10-Block Success (active)</li>
	// <li>DataFrom - Int - Matched rule: 0-login rule, 1-intelligence rule</li>
	// <li>EventType - String - Required: No - Filter criteria for cracking status: 200-Cracking failure (incorrect password), 300-Successful cracking, 400-Cracking failure (account does not exist)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests: asc - ascending order/desc - descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: CreateTime - first attack time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeBruteAttackListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBruteAttackListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBruteAttackListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBruteAttackListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of password cracking attacks
	BruteAttackList []*BruteAttackInfo `json:"BruteAttackList,omitnil,omitempty" name:"BruteAttackList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBruteAttackListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBruteAttackListResponseParams `json:"Response"`
}

func (r *DescribeBruteAttackListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBruteAttackListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBruteAttackRulesRequestParams struct {

}

type DescribeBruteAttackRulesRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeBruteAttackRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBruteAttackRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBruteAttackRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeBruteAttackRulesResponseParams struct {
	// <p>Rules for blocking brute-force attacks</p>
	Rules []*BruteAttackRuleList `json:"Rules,omitnil,omitempty" name:"Rules"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeBruteAttackRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBruteAttackRulesResponseParams `json:"Response"`
}

func (r *DescribeBruteAttackRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeBruteAttackRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCanFixVulMachineRequestParams struct {
	// Vulnerability IDs
	VulIds []*uint64 `json:"VulIds,omitnil,omitempty" name:"VulIds"`

	// Hosts requiring fixing. This parameter has an AND relationship with VulIds.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type DescribeCanFixVulMachineRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability IDs
	VulIds []*uint64 `json:"VulIds,omitnil,omitempty" name:"VulIds"`

	// Hosts requiring fixing. This parameter has an AND relationship with VulIds.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *DescribeCanFixVulMachineRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCanFixVulMachineRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulIds")
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCanFixVulMachineRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCanFixVulMachineResponseParams struct {
	// Host vulnerability fixing information list
	VulInfo []*CanFixVulInfo `json:"VulInfo,omitnil,omitempty" name:"VulInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCanFixVulMachineResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCanFixVulMachineResponseParams `json:"Response"`
}

func (r *DescribeCanFixVulMachineResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCanFixVulMachineResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCanNotSeparateMachineRequestParams struct {
	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all, i.e. whether to operate on all events; this parameter is invalid when IDs are not left blank.
	UpdateAll *bool `json:"UpdateAll,omitnil,omitempty" name:"UpdateAll"`

	// Excluded event ID: When operating on all events, this ID needs to be excluded.
	ExcludeId []*uint64 `json:"ExcludeId,omitnil,omitempty" name:"ExcludeId"`

	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - status for filtering: 4: pending; 5: trusted; 6: isolated; 10: isolating; 11: canceling isolation</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeCanNotSeparateMachineRequest struct {
	*tchttp.BaseRequest
	
	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all, i.e. whether to operate on all events; this parameter is invalid when IDs are not left blank.
	UpdateAll *bool `json:"UpdateAll,omitnil,omitempty" name:"UpdateAll"`

	// Excluded event ID: When operating on all events, this ID needs to be excluded.
	ExcludeId []*uint64 `json:"ExcludeId,omitnil,omitempty" name:"ExcludeId"`

	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - status for filtering: 4: pending; 5: trusted; 6: isolated; 10: isolating; 11: canceling isolation</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeCanNotSeparateMachineRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCanNotSeparateMachineRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "UpdateAll")
	delete(f, "ExcludeId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCanNotSeparateMachineRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCanNotSeparateMachineResponseParams struct {
	// List of non-isolatable hosts
	List []*CanNotSeparateInfo `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCanNotSeparateMachineResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCanNotSeparateMachineResponseParams `json:"Response"`
}

func (r *DescribeCanNotSeparateMachineResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCanNotSeparateMachineResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClientExceptionRequestParams struct {
	// Client Exception Type 1: Client Offline, 2: Client Uninstallation
	ExceptionType *int64 `json:"ExceptionType,omitnil,omitempty" name:"ExceptionType"`

	// Pagination offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit per Page, not 0, up to 100
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Start time in the format of `2006-01-02 15:04:05`
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time in the format of `2006-01-02 15:04:05`
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeClientExceptionRequest struct {
	*tchttp.BaseRequest
	
	// Client Exception Type 1: Client Offline, 2: Client Uninstallation
	ExceptionType *int64 `json:"ExceptionType,omitnil,omitempty" name:"ExceptionType"`

	// Pagination offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit per Page, not 0, up to 100
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Start time in the format of `2006-01-02 15:04:05`
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time in the format of `2006-01-02 15:04:05`
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

func (r *DescribeClientExceptionRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClientExceptionRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExceptionType")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "StartTime")
	delete(f, "EndTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeClientExceptionRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClientExceptionResponseParams struct {
	// Total number of events
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Event details
	Records []*RecordInfo `json:"Records,omitnil,omitempty" name:"Records"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeClientExceptionResponse struct {
	*tchttp.BaseResponse
	Response *DescribeClientExceptionResponseParams `json:"Response"`
}

func (r *DescribeClientExceptionResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClientExceptionResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDefenceEventDetailRequestParams struct {
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeDefenceEventDetailRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeDefenceEventDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDefenceEventDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDefenceEventDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDefenceEventDetailResponseParams struct {
	// Vulnerability event details
	Data *VulDefenceEventDetail `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeDefenceEventDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeDefenceEventDetailResponseParams `json:"Response"`
}

func (r *DescribeDefenceEventDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDefenceEventDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDirectConnectInstallCommandRequestParams struct {
	// Region identifier
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VPC ID
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Command expiration time
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`
}

type DescribeDirectConnectInstallCommandRequest struct {
	*tchttp.BaseRequest
	
	// Region identifier
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VPC ID
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Command expiration time
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`
}

func (r *DescribeDirectConnectInstallCommandRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDirectConnectInstallCommandRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RegionCode")
	delete(f, "VpcId")
	delete(f, "ExpireDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDirectConnectInstallCommandRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeDirectConnectInstallCommandResponseParams struct {
	// IP address for the installation command
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Token for the installation command
	Token *string `json:"Token,omitnil,omitempty" name:"Token"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeDirectConnectInstallCommandResponse struct {
	*tchttp.BaseResponse
	Response *DescribeDirectConnectInstallCommandResponseParams `json:"Response"`
}

func (r *DescribeDirectConnectInstallCommandResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeDirectConnectInstallCommandResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeESAggregationsRequestParams struct {
	// ES aggregation conditional JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`
}

type DescribeESAggregationsRequest struct {
	*tchttp.BaseRequest
	
	// ES aggregation conditional JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`
}

func (r *DescribeESAggregationsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeESAggregationsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Query")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeESAggregationsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeESAggregationsResponseParams struct {
	// ES aggregation result JSON
	Data *string `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeESAggregationsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeESAggregationsResponseParams `json:"Response"`
}

func (r *DescribeESAggregationsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeESAggregationsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEmergencyVulListRequestParams struct {
	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Status - String - required: Yes - vulnerability status filter: 0: not detected; 1: at risk; 2: no risk; 3: show progress while detecting</li>
	// <li>Level - String - required: no - filter by vulnerability level: 1 - low; 2 - medium; 3 - high; 4 - prompt</li>
	// <li>VulName - String - required: no - vulnerability name search</li>
	// <li>Uuids- String - required: no - host uuid</li>
	// <li>IsSupportDefense - int- required: no - whether to support defense: 0: no; 1: yes</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: desc and asc
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field PublishDate  LastScanTime HostCount
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Whether hot spot vulnerabilities
	HotspotAttack *bool `json:"HotspotAttack,omitnil,omitempty" name:"HotspotAttack"`
}

type DescribeEmergencyVulListRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Status - String - required: Yes - vulnerability status filter: 0: not detected; 1: at risk; 2: no risk; 3: show progress while detecting</li>
	// <li>Level - String - required: no - filter by vulnerability level: 1 - low; 2 - medium; 3 - high; 4 - prompt</li>
	// <li>VulName - String - required: no - vulnerability name search</li>
	// <li>Uuids- String - required: no - host uuid</li>
	// <li>IsSupportDefense - int- required: no - whether to support defense: 0: no; 1: yes</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: desc and asc
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field PublishDate  LastScanTime HostCount
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Whether hot spot vulnerabilities
	HotspotAttack *bool `json:"HotspotAttack,omitnil,omitempty" name:"HotspotAttack"`
}

func (r *DescribeEmergencyVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEmergencyVulListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	delete(f, "HotspotAttack")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEmergencyVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEmergencyVulListResponseParams struct {
	// List of vulnerabilities
	List []*EmergencyVul `json:"List,omitnil,omitempty" name:"List"`

	// Total number of vulnerabilities
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// is there a risk?
	ExistsRisk *bool `json:"ExistsRisk,omitnil,omitempty" name:"ExistsRisk"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEmergencyVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEmergencyVulListResponseParams `json:"Response"`
}

func (r *DescribeEmergencyVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEmergencyVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEventByTableRequestParams struct {
	// Event table name
	TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"`

	// Event table ID
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DescribeEventByTableRequest struct {
	*tchttp.BaseRequest
	
	// Event table name
	TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"`

	// Event table ID
	Ids []*int64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DescribeEventByTableRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEventByTableRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TableName")
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEventByTableRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEventByTableResponseParams struct {
	// Alarm type. Bruteattack: brute force cracking; bash: high-risk command; malware: malicious file; risk_dns: malicious request; privilege_escalation: local privilege escalation; reverse_shell: reverse shell; java_shell: Java webshell.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// JSON string of the event content. The field structure is the same as that of the event table.
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEventByTableResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEventByTableResponseParams `json:"Response"`
}

func (r *DescribeEventByTableResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEventByTableResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportMachinesRequestParams struct {
	// CVM type
	// <li>CVM: Represent a virtual machine</li>
	// <li>BM: Represent a physical machine</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. Example: ap-guangzhou, ap-shanghai
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword for query </li>
	// <li>Status - String - required: no - client online status (OFFLINE: offline | ONLINE: online | UNINSTALLED: not installed)</li>
	// <li>Version - String - required: no - current protection version (PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Edition)</li>
	// Only one value is allowed for each filter criterion. Multiple values with the OR relationship are not supported for queries.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// ID List of Businesses to which machines belong
	ProjectIds []*uint64 `json:"ProjectIds,omitnil,omitempty" name:"ProjectIds"`
}

type DescribeExportMachinesRequest struct {
	*tchttp.BaseRequest
	
	// CVM type
	// <li>CVM: Represent a virtual machine</li>
	// <li>BM: Represent a physical machine</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. Example: ap-guangzhou, ap-shanghai
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword for query </li>
	// <li>Status - String - required: no - client online status (OFFLINE: offline | ONLINE: online | UNINSTALLED: not installed)</li>
	// <li>Version - String - required: no - current protection version (PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Edition)</li>
	// Only one value is allowed for each filter criterion. Multiple values with the OR relationship are not supported for queries.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// ID List of Businesses to which machines belong
	ProjectIds []*uint64 `json:"ProjectIds,omitnil,omitempty" name:"ProjectIds"`
}

func (r *DescribeExportMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MachineType")
	delete(f, "MachineRegion")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "ProjectIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeExportMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportMachinesResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeExportMachinesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeExportMachinesResponseParams `json:"Response"`
}

func (r *DescribeExportMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFastAnalysisRequestParams struct {
	// Start time. Unit: ms.
	From *int64 `json:"From,omitnil,omitempty" name:"From"`

	// End time. Unit: ms.
	To *int64 `json:"To,omitnil,omitempty" name:"To"`

	// Query statement, up to 4096 in statement length
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`

	// Log field name
	FieldName *string `json:"FieldName,omitnil,omitempty" name:"FieldName"`
}

type DescribeFastAnalysisRequest struct {
	*tchttp.BaseRequest
	
	// Start time. Unit: ms.
	From *int64 `json:"From,omitnil,omitempty" name:"From"`

	// End time. Unit: ms.
	To *int64 `json:"To,omitnil,omitempty" name:"To"`

	// Query statement, up to 4096 in statement length
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`

	// Log field name
	FieldName *string `json:"FieldName,omitnil,omitempty" name:"FieldName"`
}

func (r *DescribeFastAnalysisRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFastAnalysisRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "From")
	delete(f, "To")
	delete(f, "Query")
	delete(f, "FieldName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFastAnalysisRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFastAnalysisResponseParams struct {
	// Analyze statistical information
	FieldValueRatioInfos []*FieldValueRatioInfo `json:"FieldValueRatioInfos,omitnil,omitempty" name:"FieldValueRatioInfos"`

	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFastAnalysisResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFastAnalysisResponseParams `json:"Response"`
}

func (r *DescribeFastAnalysisResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFastAnalysisResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperEventRuleInfoRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of returned UUIDs per page
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeFileTamperEventRuleInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of returned UUIDs per page
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeFileTamperEventRuleInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperEventRuleInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFileTamperEventRuleInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperEventRuleInfoResponseParams struct {
	// Rule details
	FileTamperRuleDetail *FileTamperRuleDetail `json:"FileTamperRuleDetail,omitnil,omitempty" name:"FileTamperRuleDetail"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFileTamperEventRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFileTamperEventRuleInfoResponseParams `json:"Response"`
}

func (r *DescribeFileTamperEventRuleInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperEventRuleInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperEventsRequestParams struct {
	// Filter criteria
	// <li>Status - String - required: no - processing status: 0: pending; 1: allowlisted; 2: deleted; 3: ignored</li>
	// <li>ModifyTime - String - required: no - last occurrence time</li>
	// <li>Uuid- String - required: no - query by host UUID</li>
	// <li>RuleCategory - string - required: no - rule category. 0: system rule; 1: custom rule</li>
	// <li>FileAction - string - required: no - threat behavior: read - read file; write - write file</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: CreateTime; ModifyTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeFileTamperEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Status - String - required: no - processing status: 0: pending; 1: allowlisted; 2: deleted; 3: ignored</li>
	// <li>ModifyTime - String - required: no - last occurrence time</li>
	// <li>Uuid- String - required: no - query by host UUID</li>
	// <li>RuleCategory - string - required: no - rule category. 0: system rule; 1: custom rule</li>
	// <li>FileAction - string - required: no - threat behavior: read - read file; write - write file</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: CreateTime; ModifyTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeFileTamperEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFileTamperEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperEventsResponseParams struct {
	// Core File Event List
	List []*FileTamperEvent `json:"List,omitnil,omitempty" name:"List"`

	// Total number of data entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFileTamperEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFileTamperEventsResponseParams `json:"Response"`
}

func (r *DescribeFileTamperEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperRuleCountRequestParams struct {
	// Query Host UUIDs, up to 100 queries at a time
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`
}

type DescribeFileTamperRuleCountRequest struct {
	*tchttp.BaseRequest
	
	// Query Host UUIDs, up to 100 queries at a time
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`
}

func (r *DescribeFileTamperRuleCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperRuleCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFileTamperRuleCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperRuleCountResponseParams struct {
	// Information on Number of Host-associated Core File Rules
	List []*FileTamperRuleCount `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFileTamperRuleCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFileTamperRuleCountResponseParams `json:"Response"`
}

func (r *DescribeFileTamperRuleCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperRuleCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperRuleInfoRequestParams struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Control the number of UUIDs returned
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Control the number of UUIDs returned, starting position
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeFileTamperRuleInfoRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Control the number of UUIDs returned
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Control the number of UUIDs returned, starting position
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeFileTamperRuleInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperRuleInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFileTamperRuleInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperRuleInfoResponseParams struct {
	// Rule details
	FileTamperRuleDetail *FileTamperRuleDetail `json:"FileTamperRuleDetail,omitnil,omitempty" name:"FileTamperRuleDetail"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFileTamperRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFileTamperRuleInfoResponseParams `json:"Response"`
}

func (r *DescribeFileTamperRuleInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperRuleInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperRulesRequestParams struct {
	// Filtering criteria
	// <li>RuleCategory - string - rule category: 0: system rule; 1: user rule</li><li>Name - String - rule name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting order: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: CreateTime, ModifyTime, HostCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeFileTamperRulesRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// <li>RuleCategory - string - rule category: 0: system rule; 1: user rule</li><li>Name - String - rule name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting order: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: CreateTime, ModifyTime, HostCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeFileTamperRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeFileTamperRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeFileTamperRulesResponseParams struct {
	// List of rules
	List []*FileTamperRuleInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeFileTamperRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeFileTamperRulesResponseParams `json:"Response"`
}

func (r *DescribeFileTamperRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeFileTamperRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeGeneralStatRequestParams struct {
	// CVM type
	// <li>CVM: Indicates Tencent CVM.</li>
	// <li>BM: indicates Blackstone physical machine</li>
	// <li>ECM: indicates edge computing server</li>
	// <li>LH: indicates Tencent Cloud Lighthouse</li>
	// <li>Other: Indicates Hybrid cloud machines.</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. Example: ap-guangzhou, ap-shanghai
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`
}

type DescribeGeneralStatRequest struct {
	*tchttp.BaseRequest
	
	// CVM type
	// <li>CVM: Indicates Tencent CVM.</li>
	// <li>BM: indicates Blackstone physical machine</li>
	// <li>ECM: indicates edge computing server</li>
	// <li>LH: indicates Tencent Cloud Lighthouse</li>
	// <li>Other: Indicates Hybrid cloud machines.</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. Example: ap-guangzhou, ap-shanghai
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`
}

func (r *DescribeGeneralStatRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeGeneralStatRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MachineType")
	delete(f, "MachineRegion")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeGeneralStatRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeGeneralStatResponseParams struct {
	// Total number of hosts
	MachinesAll *uint64 `json:"MachinesAll,omitnil,omitempty" name:"MachinesAll"`

	// Total number of hosts not installed with the CWPP client
	MachinesUninstalled *uint64 `json:"MachinesUninstalled,omitnil,omitempty" name:"MachinesUninstalled"`

	// Total number of CWPP clients
	AgentsAll *uint64 `json:"AgentsAll,omitnil,omitempty" name:"AgentsAll"`

	// Total number of online CWPP clients
	AgentsOnline *uint64 `json:"AgentsOnline,omitnil,omitempty" name:"AgentsOnline"`

	// Total number of CWPP clients that are offline and shut down
	AgentsOffline *uint64 `json:"AgentsOffline,omitnil,omitempty" name:"AgentsOffline"`

	// Total number of Pro Edition CWPP clients
	AgentsPro *uint64 `json:"AgentsPro,omitnil,omitempty" name:"AgentsPro"`

	// Total number of Basic Edition CWPP clients
	AgentsBasic *uint64 `json:"AgentsBasic,omitnil,omitempty" name:"AgentsBasic"`

	// Total number of prepaid Pro Edition CWPP clients that will expire in 7 days
	AgentsProExpireWithInSevenDays *uint64 `json:"AgentsProExpireWithInSevenDays,omitnil,omitempty" name:"AgentsProExpireWithInSevenDays"`

	// Total number of risky hosts
	RiskMachine *uint64 `json:"RiskMachine,omitnil,omitempty" name:"RiskMachine"`

	// Total number of hosts that are shut down
	Shutdown *uint64 `json:"Shutdown,omitnil,omitempty" name:"Shutdown"`

	// Total number of offline hosts
	Offline *uint64 `json:"Offline,omitnil,omitempty" name:"Offline"`

	// Number of Ultimate Edition hosts
	FlagshipMachineCnt *uint64 `json:"FlagshipMachineCnt,omitnil,omitempty" name:"FlagshipMachineCnt"`

	// protection days
	ProtectDays *uint64 `json:"ProtectDays,omitnil,omitempty" name:"ProtectDays"`

	// Number of hosts added in the last 15 days
	AddedOnTheFifteen *uint64 `json:"AddedOnTheFifteen,omitnil,omitempty" name:"AddedOnTheFifteen"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeGeneralStatResponse struct {
	*tchttp.BaseResponse
	Response *DescribeGeneralStatResponseParams `json:"Response"`
}

func (r *DescribeGeneralStatResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeGeneralStatResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHistoryAccountsRequestParams struct {
	// Yunjing client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Number of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Username - String - required: no - username</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeHistoryAccountsRequest struct {
	*tchttp.BaseRequest
	
	// Yunjing client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Number of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Username - String - required: no - username</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeHistoryAccountsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHistoryAccountsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHistoryAccountsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHistoryAccountsResponseParams struct {
	// Total number of records in the account change history list.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Array of account change history data.
	HistoryAccounts []*HistoryAccount `json:"HistoryAccounts,omitnil,omitempty" name:"HistoryAccounts"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeHistoryAccountsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeHistoryAccountsResponseParams `json:"Response"`
}

func (r *DescribeHistoryAccountsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHistoryAccountsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHistoryServiceRequestParams struct {

}

type DescribeHistoryServiceRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeHistoryServiceRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHistoryServiceRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHistoryServiceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHistoryServiceResponseParams struct {
	// 1: available for purchase; 2: specification adjustment only; 3: redirection to renewal management page only.
	BuyStatus *uint64 `json:"BuyStatus,omitnil,omitempty" name:"BuyStatus"`

	// Capacity purchased by the user, in GB
	InquireNum *uint64 `json:"InquireNum,omitnil,omitempty" name:"InquireNum"`

	// Expiration time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether automatic renewal is enabled. 0: initial value; 1: enabled; 2: disabled.
	IsAutoOpenRenew *uint64 `json:"IsAutoOpenRenew,omitnil,omitempty" name:"IsAutoOpenRenew"`

	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// 0: not activated; 1: normal; 2: isolated; 3: terminated.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeHistoryServiceResponse struct {
	*tchttp.BaseResponse
	Response *DescribeHistoryServiceResponseParams `json:"Response"`
}

func (r *DescribeHistoryServiceResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHistoryServiceResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHostInfoRequestParams struct {
	// Host QUUID array
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// UUIDs for querying. Leave this parameter blank if QUUIDs are used for querying.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`
}

type DescribeHostInfoRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID array
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// UUIDs for querying. Leave this parameter blank if QUUIDs are used for querying.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`
}

func (r *DescribeHostInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHostInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "QuuidList")
	delete(f, "Uuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHostInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHostInfoResponseParams struct {
	// Host and tag information
	HostInfoList []*HostTagInfo `json:"HostInfoList,omitnil,omitempty" name:"HostInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeHostInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeHostInfoResponseParams `json:"Response"`
}

func (r *DescribeHostInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHostInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHostLoginListRequestParams struct {
	// Number of items to be returned. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria. <li>Quuid - String - Required: No - CVM uuid</li> <li>uuid - String - Required: No - Host security unique uuid</li> <li>MachineName - String - Required: No - Host alias</li> <li>Ip - String - Required: No - Host Ip address</li> <li>InstanceID - String - Required: No - Host instance ID</li> <li>SrcIp - String - Required: No - Source Ip filter</li> <li>UserName - String - Required: No - UserName filter</li> <li>Status - String - Required: No - Status filtering: 2: Pending; 5: Whitelisted; 14: Fixed; 15: Ignored</li> <li>LoginTimeBegin - String - Required: No - Filter by modification time range, start time</li> <li>LoginTimeEnd - String - Required: No - Filter by modification time range, end time</li> <li>RiskLevel - String - Required: No - Status filtering: 0: High risk; 1: Suspicious</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests: asc - ascending order/desc - descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: LoginTime - occurrence time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeHostLoginListRequest struct {
	*tchttp.BaseRequest
	
	// Number of items to be returned. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria. <li>Quuid - String - Required: No - CVM uuid</li> <li>uuid - String - Required: No - Host security unique uuid</li> <li>MachineName - String - Required: No - Host alias</li> <li>Ip - String - Required: No - Host Ip address</li> <li>InstanceID - String - Required: No - Host instance ID</li> <li>SrcIp - String - Required: No - Source Ip filter</li> <li>UserName - String - Required: No - UserName filter</li> <li>Status - String - Required: No - Status filtering: 2: Pending; 5: Whitelisted; 14: Fixed; 15: Ignored</li> <li>LoginTimeBegin - String - Required: No - Filter by modification time range, start time</li> <li>LoginTimeEnd - String - Required: No - Filter by modification time range, end time</li> <li>RiskLevel - String - Required: No - Status filtering: 0: High risk; 1: Suspicious</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests: asc - ascending order/desc - descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: LoginTime - occurrence time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeHostLoginListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHostLoginListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHostLoginListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHostLoginListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Obtaining the List of Abnormal Logins
	HostLoginList []*HostLoginList `json:"HostLoginList,omitnil,omitempty" name:"HostLoginList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeHostLoginListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeHostLoginListResponseParams `json:"Response"`
}

func (r *DescribeHostLoginListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHostLoginListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHotVulTopRequestParams struct {

}

type DescribeHotVulTopRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeHotVulTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHotVulTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeHotVulTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeHotVulTopResponseParams struct {
	// Vulnerability information
	List []*VulStoreListInfo `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeHotVulTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeHotVulTopResponseParams `json:"Response"`
}

func (r *DescribeHotVulTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeHotVulTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIgnoreBaselineRuleRequestParams struct {
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Detection item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

type DescribeIgnoreBaselineRuleRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Detection item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

func (r *DescribeIgnoreBaselineRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIgnoreBaselineRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "RuleName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeIgnoreBaselineRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIgnoreBaselineRuleResponseParams struct {
	// List of ignored baseline check items
	IgnoreBaselineRuleList []*IgnoreBaselineRule `json:"IgnoreBaselineRuleList,omitnil,omitempty" name:"IgnoreBaselineRuleList"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeIgnoreBaselineRuleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeIgnoreBaselineRuleResponseParams `json:"Response"`
}

func (r *DescribeIgnoreBaselineRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIgnoreBaselineRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIgnoreHostAndItemConfigRequestParams struct {
	// <li>ItemId - int64 - required: no - item ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>HostId - string - whether required: no - host ID</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeIgnoreHostAndItemConfigRequest struct {
	*tchttp.BaseRequest
	
	// <li>ItemId - int64 - required: no - item ID</li>
	// <li>RuleId - int64 - required: no - rule ID</li>
	// <li>HostId - string - whether required: no - host ID</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeIgnoreHostAndItemConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIgnoreHostAndItemConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeIgnoreHostAndItemConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIgnoreHostAndItemConfigResponseParams struct {
	// Affected detection items
	ItemSet []*BaselineItemInfo `json:"ItemSet,omitnil,omitempty" name:"ItemSet"`

	// Affected hosts
	HostSet []*BaselineHost `json:"HostSet,omitnil,omitempty" name:"HostSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeIgnoreHostAndItemConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeIgnoreHostAndItemConfigResponseParams `json:"Response"`
}

func (r *DescribeIgnoreHostAndItemConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIgnoreHostAndItemConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIgnoreRuleEffectHostListRequestParams struct {
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Detection Item ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Filter criteria
	// <li>AliasName - String - host alias</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Host tag name
	TagNames []*string `json:"TagNames,omitnil,omitempty" name:"TagNames"`
}

type DescribeIgnoreRuleEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Detection Item ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Filter criteria
	// <li>AliasName - String - host alias</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Host tag name
	TagNames []*string `json:"TagNames,omitnil,omitempty" name:"TagNames"`
}

func (r *DescribeIgnoreRuleEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIgnoreRuleEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "RuleId")
	delete(f, "Filters")
	delete(f, "TagNames")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeIgnoreRuleEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIgnoreRuleEffectHostListResponseParams struct {
	// List of hosts affected by ignored check items
	IgnoreRuleEffectHostList []*IgnoreRuleEffectHostInfo `json:"IgnoreRuleEffectHostList,omitnil,omitempty" name:"IgnoreRuleEffectHostList"`

	// Total number of records for paging query
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeIgnoreRuleEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeIgnoreRuleEffectHostListResponseParams `json:"Response"`
}

func (r *DescribeIgnoreRuleEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIgnoreRuleEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeInjectRiskyServiceSwitchRequestParams struct {

}

type DescribeInjectRiskyServiceSwitchRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeInjectRiskyServiceSwitchRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeInjectRiskyServiceSwitchRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInjectRiskyServiceSwitchRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeInjectRiskyServiceSwitchResponseParams struct {
	// Whether to inject a Java Webshell into risk service. 0: If a user has not set it, it is not injected by default. 1: Inject. 2: A user specifies not to inject.
	// Note: This field may return null, indicating that no valid values can be obtained.
	JavaShellInjectRiskyServiceStatus *uint64 `json:"JavaShellInjectRiskyServiceStatus,omitnil,omitempty" name:"JavaShellInjectRiskyServiceStatus"`

	// Whether to inject the host RASP into risk service. 0: If a user has not set it, it is not injected by default. 1: Inject. 2: A user specifies not to inject.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RaspInjectRiskyServiceStatus *uint64 `json:"RaspInjectRiskyServiceStatus,omitnil,omitempty" name:"RaspInjectRiskyServiceStatus"`

	// Total number of risk services.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Risk Service List
	List []*RiskMainClass `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeInjectRiskyServiceSwitchResponse struct {
	*tchttp.BaseResponse
	Response *DescribeInjectRiskyServiceSwitchResponseParams `json:"Response"`
}

func (r *DescribeInjectRiskyServiceSwitchResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeInjectRiskyServiceSwitchResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellInfoRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeJavaMemShellInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeJavaMemShellInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeJavaMemShellInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellInfoResponseParams struct {
	// Java webshell event details
	Info *JavaMemShellDetail `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeJavaMemShellInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeJavaMemShellInfoResponseParams `json:"Response"`
}

func (r *DescribeJavaMemShellInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellListRequestParams struct {
	// Filtering criteria: InstanceID and IP
	// 
	// MachineName host name for fuzzy query; Type, status for precise match; CreateBeginTime, CreateEndTime for time period
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort column, strictly equal: Latest detection time RecentFoundTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeJavaMemShellListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: InstanceID and IP
	// 
	// MachineName host name for fuzzy query; Type, status for precise match; CreateBeginTime, CreateEndTime for time period
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort column, strictly equal: Latest detection time RecentFoundTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeJavaMemShellListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeJavaMemShellListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellListResponseParams struct {
	// Event list
	List []*JavaMemShellInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeJavaMemShellListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeJavaMemShellListResponseParams `json:"Response"`
}

func (r *DescribeJavaMemShellListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellPluginInfoRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter Criteria: Exact match of Pid, fuzzy match of MainClass
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeJavaMemShellPluginInfoRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter Criteria: Exact match of Pid, fuzzy match of MainClass
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeJavaMemShellPluginInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellPluginInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeJavaMemShellPluginInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellPluginInfoResponseParams struct {
	// Java Memory Trojan Plugin List
	List []*JavaMemShellPluginInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeJavaMemShellPluginInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeJavaMemShellPluginInfoResponseParams `json:"Response"`
}

func (r *DescribeJavaMemShellPluginInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellPluginInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellPluginListRequestParams struct {
	// Filtering criteria: InstanceID and IP
	// 
	// MachineName fuzzy query, JavaShellStatus, Exception exact match
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeJavaMemShellPluginListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: InstanceID and IP
	// 
	// MachineName fuzzy query, JavaShellStatus, Exception exact match
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeJavaMemShellPluginListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellPluginListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeJavaMemShellPluginListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeJavaMemShellPluginListResponseParams struct {
	// Java Memory Trojan Plugin List
	List []*JavaMemShellPluginSetting `json:"List,omitnil,omitempty" name:"List"`

	// Total
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeJavaMemShellPluginListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeJavaMemShellPluginListResponseParams `json:"Response"`
}

func (r *DescribeJavaMemShellPluginListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeJavaMemShellPluginListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseBindListRequestParams struct {
	// <p>License ID. The value is the value of the LicenseId parameter under the List object of the DescribeLicenseList API.</p>
	LicenseId *uint64 `json:"LicenseId,omitnil,omitempty" name:"LicenseId"`

	// <p>License type</p><p>Valid values:</p><ul><li>0: Pro Edition - pay-as-you-go</li><li>1: Pro Edition - monthly subscription (CWP)</li><li>2: Ultimate Edition - monthly subscription (CWP)</li><li>3: Lightweight Edition - LH monthly subscription</li><li>6: Pro Edition - monthly subscription (CSC)</li><li>7: Ultimate Edition - monthly subscription (CSC)</li></ul>
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// <p>Resource ID. The value is the value of the ResourceId parameter under the List object of the DescribeLicenseList API.</p>
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// <li>Fuzzy search by InstanceID, IP, or <p>MachineName</p></li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>The maximum number of entries. Default value: 10.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeLicenseBindListRequest struct {
	*tchttp.BaseRequest
	
	// <p>License ID. The value is the value of the LicenseId parameter under the List object of the DescribeLicenseList API.</p>
	LicenseId *uint64 `json:"LicenseId,omitnil,omitempty" name:"LicenseId"`

	// <p>License type</p><p>Valid values:</p><ul><li>0: Pro Edition - pay-as-you-go</li><li>1: Pro Edition - monthly subscription (CWP)</li><li>2: Ultimate Edition - monthly subscription (CWP)</li><li>3: Lightweight Edition - LH monthly subscription</li><li>6: Pro Edition - monthly subscription (CSC)</li><li>7: Ultimate Edition - monthly subscription (CSC)</li></ul>
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// <p>Resource ID. The value is the value of the ResourceId parameter under the List object of the DescribeLicenseList API.</p>
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// <li>Fuzzy search by InstanceID, IP, or <p>MachineName</p></li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>The maximum number of entries. Default value: 10.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeLicenseBindListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseBindListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LicenseId")
	delete(f, "LicenseType")
	delete(f, "ResourceId")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseBindListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseBindListResponseParams struct {
	// <p>Total quantity.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>List of bound machine information</p>
	List []*LicenseBindDetail `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseBindListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseBindListResponseParams `json:"Response"`
}

func (r *DescribeLicenseBindListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseBindListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseBindScheduleRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Limit number, 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter parameters
	// Status - binding progress status. 0 - in progress; 1 - completed; 2 - failed
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeLicenseBindScheduleRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Limit number, 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter parameters
	// Status - binding progress status. 0 - in progress; 1 - completed; 2 - failed
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeLicenseBindScheduleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseBindScheduleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseBindScheduleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseBindScheduleResponseParams struct {
	// Progress
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// Bound Task Details
	List []*LicenseBindTaskDetail `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseBindScheduleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseBindScheduleResponseParams `json:"Response"`
}

func (r *DescribeLicenseBindScheduleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseBindScheduleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseGeneralRequestParams struct {

}

type DescribeLicenseGeneralRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLicenseGeneralRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseGeneralRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseGeneralRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseGeneralResponseParams struct {
	// <p>Total number of licenses (including unavailable licenses such as isolated and expired ones)</p>
	LicenseCnt *uint64 `json:"LicenseCnt,omitnil,omitempty" name:"LicenseCnt"`

	// <p>Available licenses</p>
	AvailableLicenseCnt *uint64 `json:"AvailableLicenseCnt,omitnil,omitempty" name:"AvailableLicenseCnt"`

	// <p>Number of available Pro Edition licenses (including postpaid licenses)</p>
	AvailableProVersionLicenseCnt *uint64 `json:"AvailableProVersionLicenseCnt,omitnil,omitempty" name:"AvailableProVersionLicenseCnt"`

	// <p>Number of available Ultimate Edition licenses</p>
	AvailableFlagshipVersionLicenseCnt *uint64 `json:"AvailableFlagshipVersionLicenseCnt,omitnil,omitempty" name:"AvailableFlagshipVersionLicenseCnt"`

	// <p>Number of licenses expiring within 15 days</p>
	NearExpiryLicenseCnt *uint64 `json:"NearExpiryLicenseCnt,omitnil,omitempty" name:"NearExpiryLicenseCnt"`

	// <p>Number of expired licenses (excluding deleted records)</p>
	ExpireLicenseCnt *uint64 `json:"ExpireLicenseCnt,omitnil,omitempty" name:"ExpireLicenseCnt"`

	// <p>Automatic upgrade switch status. Default value: false. true: enabled; false: disabled.</p>
	AutoOpenStatus *bool `json:"AutoOpenStatus,omitnil,omitempty" name:"AutoOpenStatus"`

	// <p>PROVERSION_POSTPAY: Pro Edition - postpaid; PROVERSION_PREPAY: Pro Edition - prepaid; FLAGSHIP_PREPAY: Ultimate Edition - prepaid.</p>
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// <p>Whether automatic upgrade has been enabled before</p>
	IsOpenStatusHistory *bool `json:"IsOpenStatusHistory,omitnil,omitempty" name:"IsOpenStatusHistory"`

	// <p>Number of used licenses</p>
	UsedLicenseCnt *uint64 `json:"UsedLicenseCnt,omitnil,omitempty" name:"UsedLicenseCnt"`

	// <p>Number of unexpired licenses</p>
	NotExpiredLicenseCnt *uint64 `json:"NotExpiredLicenseCnt,omitnil,omitempty" name:"NotExpiredLicenseCnt"`

	// <p>Total number of Ultimate Edition licenses (valid orders)</p>
	FlagshipVersionLicenseCnt *uint64 `json:"FlagshipVersionLicenseCnt,omitnil,omitempty" name:"FlagshipVersionLicenseCnt"`

	// <p>Total number of Pro Edition licenses (valid orders)</p>
	ProVersionLicenseCnt *uint64 `json:"ProVersionLicenseCnt,omitnil,omitempty" name:"ProVersionLicenseCnt"`

	// <p>Lightweight edition total number of licenses (valid order licenses count)</p>
	CwpVersionLicenseCnt *uint64 `json:"CwpVersionLicenseCnt,omitnil,omitempty" name:"CwpVersionLicenseCnt"`

	// <p>Number of available Lightweight Edition licenses</p>
	AvailableLHLicenseCnt *uint64 `json:"AvailableLHLicenseCnt,omitnil,omitempty" name:"AvailableLHLicenseCnt"`

	// <p>Auto-purchase switch. true: enabled; false: disabled.</p>
	AutoRepurchaseSwitch *bool `json:"AutoRepurchaseSwitch,omitnil,omitempty" name:"AutoRepurchaseSwitch"`

	// <p>Whether auto-purchase orders are automatically renewed. true: enabled; false: disabled.</p>
	AutoRepurchaseRenewSwitch *bool `json:"AutoRepurchaseRenewSwitch,omitnil,omitempty" name:"AutoRepurchaseRenewSwitch"`

	// <p>Number of terminated orders</p>
	DestroyOrderNum *uint64 `json:"DestroyOrderNum,omitnil,omitempty" name:"DestroyOrderNum"`

	// <p>Auto-renewal switch for auto-purchase. true: enabled; false: disabled.</p>
	RepurchaseRenewSwitch *bool `json:"RepurchaseRenewSwitch,omitnil,omitempty" name:"RepurchaseRenewSwitch"`

	// <p>Whether to automatically bind RASP protection to newly added machines. false: disabled; true: enabled.</p>
	AutoBindRaspSwitch *bool `json:"AutoBindRaspSwitch,omitnil,omitempty" name:"AutoBindRaspSwitch"`

	// <p>Whether to automatically enable RASP protection for newly added machines. false: disabled; true: enabled.</p>
	AutoOpenRaspSwitch *bool `json:"AutoOpenRaspSwitch,omitnil,omitempty" name:"AutoOpenRaspSwitch"`

	// <p>Whether the auto-downgrade switch is enabled</p>
	AutoDowngradeSwitch *bool `json:"AutoDowngradeSwitch,omitnil,omitempty" name:"AutoDowngradeSwitch"`

	// <p>Number of available AI Protection Edition licenses</p>
	AvailableAISecurityLicenseCnt *uint64 `json:"AvailableAISecurityLicenseCnt,omitnil,omitempty" name:"AvailableAISecurityLicenseCnt"`

	// <p>Total number of AI Protection Edition licenses</p>
	AISecurityVersionLicenseCnt *uint64 `json:"AISecurityVersionLicenseCnt,omitnil,omitempty" name:"AISecurityVersionLicenseCnt"`

	// <p>Number of available licenses after combining application protection licenses with Ultimate Edition licenses</p>
	ApplicationAvailableLicenseCnt *uint64 `json:"ApplicationAvailableLicenseCnt,omitnil,omitempty" name:"ApplicationAvailableLicenseCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseGeneralResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseGeneralResponseParams `json:"Response"`
}

func (r *DescribeLicenseGeneralResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseGeneralResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseListRequestParams struct {
	// Take the intersection when filtering with multiple conditions.
	// <li> LicenseStatus authorization status information: 0 - not used; 1 - partially used; 2 - used up; 3 - unavailable; 4 - available</li>
	// <li> BuyTime: time of purchase</li>
	// <li> LicenseType authorization type. 0: Pro Edition-pay-as-you-go; 1: Pro Edition-yearly/monthly subscription; 2: Ultimate Edition-yearly/monthly subscription</li>
	// <li>DeadlineStatus expiration status: NotExpired -not expired; expire - expired (including terminated); nearexpiry - about to expire</li>
	// <li>ResourceId resource ID</li>
	// <li>Keywords IP filtering</li>
	// <li>PayMode payment mode. 0: pay-as-you-go; 1: yearly/monthly subscription</li>
	// <li>OrderStatus order status. 1: normal; 2: isolated; 3: terminated</li>
	// <li>DealNames sub-order number, with a maximum length of 10, exceeding this will result in a failure.</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit number, 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Tag filtering; filter by the platform's tag capabilities. In this case, you should pass in the tag key and tag value as an object.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// ASC for ascending order; DESC for descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Number of LicenseCnt authorizations.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeLicenseListRequest struct {
	*tchttp.BaseRequest
	
	// Take the intersection when filtering with multiple conditions.
	// <li> LicenseStatus authorization status information: 0 - not used; 1 - partially used; 2 - used up; 3 - unavailable; 4 - available</li>
	// <li> BuyTime: time of purchase</li>
	// <li> LicenseType authorization type. 0: Pro Edition-pay-as-you-go; 1: Pro Edition-yearly/monthly subscription; 2: Ultimate Edition-yearly/monthly subscription</li>
	// <li>DeadlineStatus expiration status: NotExpired -not expired; expire - expired (including terminated); nearexpiry - about to expire</li>
	// <li>ResourceId resource ID</li>
	// <li>Keywords IP filtering</li>
	// <li>PayMode payment mode. 0: pay-as-you-go; 1: yearly/monthly subscription</li>
	// <li>OrderStatus order status. 1: normal; 2: isolated; 3: terminated</li>
	// <li>DealNames sub-order number, with a maximum length of 10, exceeding this will result in a failure.</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit number, 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Tag filtering; filter by the platform's tag capabilities. In this case, you should pass in the tag key and tag value as an object.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// ASC for ascending order; DESC for descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Number of LicenseCnt authorizations.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeLicenseListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Tags")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Authorization quantity list information
	List []*LicenseDetail `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseListResponseParams `json:"Response"`
}

func (r *DescribeLicenseListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseRequestParams struct {

}

type DescribeLicenseRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLicenseRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseResponseParams struct {
	// Supported Features
	FunctionsEn []*string `json:"FunctionsEn,omitnil,omitempty" name:"FunctionsEn"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseResponseParams `json:"Response"`
}

func (r *DescribeLicenseResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseWhiteConfigRequestParams struct {
	// <p>Rule name, for example: cwp</p>
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

type DescribeLicenseWhiteConfigRequest struct {
	*tchttp.BaseRequest
	
	// <p>Rule name, for example: cwp</p>
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

func (r *DescribeLicenseWhiteConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseWhiteConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLicenseWhiteConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLicenseWhiteConfigResponseParams struct {
	// <p>Ultimate Edition configuration information</p>
	FlagShip *VersionWhiteConfig `json:"FlagShip,omitnil,omitempty" name:"FlagShip"`

	// <p>Pro Edition configuration information</p>
	Professional *VersionWhiteConfig `json:"Professional,omitnil,omitempty" name:"Professional"`

	// <p>Lightweight Edition configuration information</p>
	PrattWhitney *VersionWhiteConfig `json:"PrattWhitney,omitnil,omitempty" name:"PrattWhitney"`

	// <p>License package configuration message</p>
	RASP *VersionWhiteConfig `json:"RASP,omitnil,omitempty" name:"RASP"`

	// <p>Log analysis configuration information</p>
	LOG *VersionWhiteConfig `json:"LOG,omitnil,omitempty" name:"LOG"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLicenseWhiteConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLicenseWhiteConfigResponseParams `json:"Response"`
}

func (r *DescribeLicenseWhiteConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLicenseWhiteConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogDeliveryKafkaOptionsRequestParams struct {
	// Kafka instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`
}

type DescribeLogDeliveryKafkaOptionsRequest struct {
	*tchttp.BaseRequest
	
	// Kafka instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`
}

func (r *DescribeLogDeliveryKafkaOptionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogDeliveryKafkaOptionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "InstanceID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogDeliveryKafkaOptionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogDeliveryKafkaOptionsResponseParams struct {
	// Instance list
	InstanceList []*CKafkaInstanceInfo `json:"InstanceList,omitnil,omitempty" name:"InstanceList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogDeliveryKafkaOptionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogDeliveryKafkaOptionsResponseParams `json:"Response"`
}

func (r *DescribeLogDeliveryKafkaOptionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogDeliveryKafkaOptionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogExportsRequestParams struct {
	// Paging offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries per page. Default value: 20. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeLogExportsRequest struct {
	*tchttp.BaseRequest
	
	// Paging offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries per page. Default value: 20. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeLogExportsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogExportsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogExportsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogExportsResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of exported logs
	Exports []*ExportInfo `json:"Exports,omitnil,omitempty" name:"Exports"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogExportsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogExportsResponseParams `json:"Response"`
}

func (r *DescribeLogExportsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogExportsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogHistogramRequestParams struct {
	// Start time of logs to be queried, which is a Unix timestamp in milliseconds
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of logs to be queried, which is a Unix timestamp in milliseconds
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Query statement
	QueryString *string `json:"QueryString,omitnil,omitempty" name:"QueryString"`

	// Time interval, in ms
	Interval *int64 `json:"Interval,omitnil,omitempty" name:"Interval"`
}

type DescribeLogHistogramRequest struct {
	*tchttp.BaseRequest
	
	// Start time of logs to be queried, which is a Unix timestamp in milliseconds
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of logs to be queried, which is a Unix timestamp in milliseconds
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Query statement
	QueryString *string `json:"QueryString,omitnil,omitempty" name:"QueryString"`

	// Time interval, in ms
	Interval *int64 `json:"Interval,omitnil,omitempty" name:"Interval"`
}

func (r *DescribeLogHistogramRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogHistogramRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "QueryString")
	delete(f, "Interval")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogHistogramRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogHistogramResponseParams struct {
	// Result details of statistics within the period
	Data []*LogHistogram `json:"Data,omitnil,omitempty" name:"Data"`

	// Statistical period (unit: ms)
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`

	// Total number of logs that hit the keywords
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogHistogramResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogHistogramResponseParams `json:"Response"`
}

func (r *DescribeLogHistogramResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogHistogramResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogIndexRequestParams struct {

}

type DescribeLogIndexRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLogIndexRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogIndexRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogIndexRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogIndexResponseParams struct {
	// Whether effective
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`

	// Index rule
	Rule *RuleInfo `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Index modification time, which is initially the index creation time.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogIndexResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogIndexResponseParams `json:"Response"`
}

func (r *DescribeLogIndexResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogIndexResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogKafkaDeliverInfoRequestParams struct {

}

type DescribeLogKafkaDeliverInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLogKafkaDeliverInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogKafkaDeliverInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogKafkaDeliverInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogKafkaDeliverInfoResponseParams struct {
	// Instance environment
	KafkaEnvName *string `json:"KafkaEnvName,omitnil,omitempty" name:"KafkaEnvName"`

	// Instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Region
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Availability zone
	Az *string `json:"Az,omitnil,omitempty" name:"Az"`

	// Network
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Access method. 1: public network domain name access; 2: support environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Shipping status. 1: healthy; 2: alarm; 3: abnormal
	DeliverStatus *uint64 `json:"DeliverStatus,omitnil,omitempty" name:"DeliverStatus"`

	// Kafka edition
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`

	// Peak bandwidth
	BandWidth *int64 `json:"BandWidth,omitnil,omitempty" name:"BandWidth"`

	// Disk capacity
	DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Shipping type details.
	DeliverTypeDetails []*DeliverTypeDetails `json:"DeliverTypeDetails,omitnil,omitempty" name:"DeliverTypeDetails"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogKafkaDeliverInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogKafkaDeliverInfoResponseParams `json:"Response"`
}

func (r *DescribeLogKafkaDeliverInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogKafkaDeliverInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogStorageConfigRequestParams struct {

}

type DescribeLogStorageConfigRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLogStorageConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogStorageConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogStorageConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogStorageConfigResponseParams struct {
	// Storage type: string array
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`

	// Log retention time. The value 3640 indicates that the time is unlimited.
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`

	// Number of modifications made to Period this month.
	PeriodModifyCount *int64 `json:"PeriodModifyCount,omitnil,omitempty" name:"PeriodModifyCount"`

	// Log storage duration unit: year/month/day
	Granularity *string `json:"Granularity,omitnil,omitempty" name:"Granularity"`

	// Language type
	MsgLanguage *string `json:"MsgLanguage,omitnil,omitempty" name:"MsgLanguage"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogStorageConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogStorageConfigResponseParams `json:"Response"`
}

func (r *DescribeLogStorageConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogStorageConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogStorageRecordRequestParams struct {

}

type DescribeLogStorageRecordRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLogStorageRecordRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogStorageRecordRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogStorageRecordRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogStorageRecordResponseParams struct {
	// Storage record.
	Records []*LogStorageRecord `json:"Records,omitnil,omitempty" name:"Records"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogStorageRecordResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogStorageRecordResponseParams `json:"Response"`
}

func (r *DescribeLogStorageRecordResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogStorageRecordResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogStorageStatisticRequestParams struct {

}

type DescribeLogStorageStatisticRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLogStorageStatisticRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogStorageStatisticRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogStorageStatisticRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogStorageStatisticResponseParams struct {
	// Total capacity (unit: GB)
	TotalSize *uint64 `json:"TotalSize,omitnil,omitempty" name:"TotalSize"`

	// Used capacity (unit: GB)
	UsedSize *uint64 `json:"UsedSize,omitnil,omitempty" name:"UsedSize"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogStorageStatisticResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogStorageStatisticResponseParams `json:"Response"`
}

func (r *DescribeLogStorageStatisticResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogStorageStatisticResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogTypeRequestParams struct {

}

type DescribeLogTypeRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLogTypeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogTypeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLogTypeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLogTypeResponseParams struct {
	// CLS log type information
	Data *string `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLogTypeResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLogTypeResponseParams `json:"Response"`
}

func (r *DescribeLogTypeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLogTypeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginTypeGlobalConfRequestParams struct {

}

type DescribeLoginTypeGlobalConfRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeLoginTypeGlobalConfRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginTypeGlobalConfRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLoginTypeGlobalConfRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginTypeGlobalConfResponseParams struct {
	// <p>Whether to enable QR code log-in <li>0 No</li> <li>1 Yes</li> <li>9 Not set, same as 0 means not enabled</li></p>
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// <p>Scope <li>0: Selected hosts</li> <li>1: All hosts</li></p>
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// <p>Number of selected host configurations</p>
	IncludeHostCount *uint64 `json:"IncludeHostCount,omitnil,omitempty" name:"IncludeHostCount"`

	// <p>Number of excluded host configurations</p>
	ExcludeHostCount *uint64 `json:"ExcludeHostCount,omitnil,omitempty" name:"ExcludeHostCount"`

	// <p>List of selected QUUID configurations</p>
	IncludeQuuid []*string `json:"IncludeQuuid,omitnil,omitempty" name:"IncludeQuuid"`

	// <p>List of excluded QUUID configurations</p>
	ExcludeQuuid []*string `json:"ExcludeQuuid,omitnil,omitempty" name:"ExcludeQuuid"`

	// <p>Number of enabled machines</p>
	EnableCount *uint64 `json:"EnableCount,omitnil,omitempty" name:"EnableCount"`

	// <p>Number of disabled machines</p>
	DisableCount *uint64 `json:"DisableCount,omitnil,omitempty" name:"DisableCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLoginTypeGlobalConfResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLoginTypeGlobalConfResponseParams `json:"Response"`
}

func (r *DescribeLoginTypeGlobalConfResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginTypeGlobalConfResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginTypeHostRequestParams struct {
	// <li>Name - string - Required: No - Host name</li> <li>InstanceId - string - Required: No - Instance ID</li> <li>PublicIp - string - Required: No - Public IP address</li> <li>PrivateIp - string - Required: No - Private IP</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>The maximum number of entries. Default value: 10. Maximum value: 100.</p>
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Sort order: [ASC: ascending, DESC: descending]</p>
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// <p>Optional sorting column: [Id]</p>
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeLoginTypeHostRequest struct {
	*tchttp.BaseRequest
	
	// <li>Name - string - Required: No - Host name</li> <li>InstanceId - string - Required: No - Instance ID</li> <li>PublicIp - string - Required: No - Public IP address</li> <li>PrivateIp - string - Required: No - Private IP</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>The maximum number of entries. Default value: 10. Maximum value: 100.</p>
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Sort order: [ASC: ascending, DESC: descending]</p>
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// <p>Optional sorting column: [Id]</p>
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeLoginTypeHostRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginTypeHostRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLoginTypeHostRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginTypeHostResponseParams struct {
	// <p>Total.</p>
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// <p>Host list</p>
	List []*ClientSettingHost `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLoginTypeHostResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLoginTypeHostResponseParams `json:"Response"`
}

func (r *DescribeLoginTypeHostResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginTypeHostResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginWhiteCombinedListRequestParams struct {
	// <p>Number of items to return. The default number is 10, and the maximum number is 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Filter criteria.<li>IpOrAlias - String - Required: No - Host ip or alias filter</li><li>UserName - String - Required: No - UserName filter</li><li>SrcIP - String - Required: No - Source ip filter</li><li>Location - String - Required: No - Login Location filter</li><li>ModifyBeginTime - String - Required: No - Filter by modification time range, start time</li><li>ModifyEndTime - String - Required: No - Filter by modification time range, end time</li></p>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeLoginWhiteCombinedListRequest struct {
	*tchttp.BaseRequest
	
	// <p>Number of items to return. The default number is 10, and the maximum number is 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Filter criteria.<li>IpOrAlias - String - Required: No - Host ip or alias filter</li><li>UserName - String - Required: No - UserName filter</li><li>SrcIP - String - Required: No - Source ip filter</li><li>Location - String - Required: No - Login Location filter</li><li>ModifyBeginTime - String - Required: No - Filter by modification time range, start time</li><li>ModifyEndTime - String - Required: No - Filter by modification time range, end time</li></p>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeLoginWhiteCombinedListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginWhiteCombinedListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLoginWhiteCombinedListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginWhiteCombinedListResponseParams struct {
	// <p>Total quantity.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>Merged allowlist</p>
	LoginWhiteCombinedInfos []*LoginWhiteCombinedInfo `json:"LoginWhiteCombinedInfos,omitnil,omitempty" name:"LoginWhiteCombinedInfos"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLoginWhiteCombinedListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLoginWhiteCombinedListResponseParams `json:"Response"`
}

func (r *DescribeLoginWhiteCombinedListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginWhiteCombinedListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginWhiteHostListRequestParams struct {
	// <p>Allowlist ID</p>
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Number of items to return. Maximum value: 1000.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Filter criteria<li>IpOrAlias - String - Required: No - Host IP or alias filter</li></p>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeLoginWhiteHostListRequest struct {
	*tchttp.BaseRequest
	
	// <p>Allowlist ID</p>
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Number of items to return. Maximum value: 1000.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Filter criteria<li>IpOrAlias - String - Required: No - Host IP or alias filter</li></p>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeLoginWhiteHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginWhiteHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLoginWhiteHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginWhiteHostListResponseParams struct {
	// <p>Total.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>Server list</p>
	Hosts []*HostDesc `json:"Hosts,omitnil,omitempty" name:"Hosts"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLoginWhiteHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLoginWhiteHostListResponseParams `json:"Response"`
}

func (r *DescribeLoginWhiteHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginWhiteHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginWhiteListRequestParams struct {
	// Number of returned entries. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - keyword for search </li>
	// <li>UserName - String - required: no - username for filtering </li>
	// <li>ModifyBeginTime - String - required: no - modification start time for filtering </li>
	// <li>ModifyEndTime - String - required: no - modification end time for filtering </li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeLoginWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Number of returned entries. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - keyword for search </li>
	// <li>UserName - String - required: no - username for filtering </li>
	// <li>ModifyBeginTime - String - required: no - modification start time for filtering </li>
	// <li>ModifyEndTime - String - required: no - modification end time for filtering </li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeLoginWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeLoginWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeLoginWhiteListResponseParams struct {
	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Cross-region log-in allowlist array
	LoginWhiteLists []*LoginWhiteLists `json:"LoginWhiteLists,omitnil,omitempty" name:"LoginWhiteLists"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeLoginWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLoginWhiteListResponseParams `json:"Response"`
}

func (r *DescribeLoginWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeLoginWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineClearHistoryRequestParams struct {
	// <p>Filter conditions<br>When multiple conditions are used, Keywords and TimeBetween are intersected</p><li>Keywords: instance name, private IP, or public IP</li><li>TimeBetween: time range</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>The maximum number of entries. Default value: 10. Maximum value: 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Sort order: ASC for ascending, DESC for descending. Default: ASC</p>
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// <p>AgentLastOfflineTime: Time when the client was last offline<br>AutoClearTime: Cleanup time</p>
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeMachineClearHistoryRequest struct {
	*tchttp.BaseRequest
	
	// <p>Filter conditions<br>When multiple conditions are used, Keywords and TimeBetween are intersected</p><li>Keywords: instance name, private IP, or public IP</li><li>TimeBetween: time range</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>The maximum number of entries. Default value: 10. Maximum value: 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Sort order: ASC for ascending, DESC for descending. Default: ASC</p>
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// <p>AgentLastOfflineTime: Time when the client was last offline<br>AutoClearTime: Cleanup time</p>
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeMachineClearHistoryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineClearHistoryRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineClearHistoryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineClearHistoryResponseParams struct {
	// <p>Total quantity.</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// <p>List data</p>
	List []*MachineClearHistory `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineClearHistoryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineClearHistoryResponseParams `json:"Response"`
}

func (r *DescribeMachineClearHistoryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineClearHistoryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineDefenseCntRequestParams struct {
	// Filtering criteria
	// <li>Uuids - String - required: no - host UUID</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeMachineDefenseCntRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// <li>Uuids - String - required: no - host UUID</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeMachineDefenseCntRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineDefenseCntRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineDefenseCntRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineDefenseCntResponseParams struct {
	// Attack detection statistics
	AttackLogs *uint64 `json:"AttackLogs,omitnil,omitempty" name:"AttackLogs"`

	// Core file monitoring statistics
	FileTamper *uint64 `json:"FileTamper,omitnil,omitempty" name:"FileTamper"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineDefenseCntResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineDefenseCntResponseParams `json:"Response"`
}

func (r *DescribeMachineDefenseCntResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineDefenseCntResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineFileTamperRulesRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeMachineFileTamperRulesRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeMachineFileTamperRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineFileTamperRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineFileTamperRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineFileTamperRulesResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Query Details of Host-related Core File Monitoring Rules
	List []*MachineFileTamperRule `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineFileTamperRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineFileTamperRulesResponseParams `json:"Response"`
}

func (r *DescribeMachineFileTamperRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineFileTamperRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineGeneralRequestParams struct {

}

type DescribeMachineGeneralRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeMachineGeneralRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineGeneralRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineGeneralRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineGeneralResponseParams struct {
	// <p>Total number of assets</p>
	MachineCnt *uint64 `json:"MachineCnt,omitnil,omitempty" name:"MachineCnt"`

	// <p>Number of Tencent Cloud machines</p>
	//
	// Deprecated: TencentCloudMachineCnt is deprecated.
	TencentCloudMachineCnt *uint64 `json:"TencentCloudMachineCnt,omitnil,omitempty" name:"TencentCloudMachineCnt"`

	// <p>Number of Alibaba Cloud machines</p>
	//
	// Deprecated: AliCloudMachineCnt is deprecated.
	AliCloudMachineCnt *uint64 `json:"AliCloudMachineCnt,omitnil,omitempty" name:"AliCloudMachineCnt"`

	// <p>Number of Baidu Cloud machines</p>
	//
	// Deprecated: BaiduCloudMachineCnt is deprecated.
	BaiduCloudMachineCnt *uint64 `json:"BaiduCloudMachineCnt,omitnil,omitempty" name:"BaiduCloudMachineCnt"`

	// <p>Number of IDC machines</p>
	//
	// Deprecated: IDCMachineCnt is deprecated.
	IDCMachineCnt *uint64 `json:"IDCMachineCnt,omitnil,omitempty" name:"IDCMachineCnt"`

	// <p>Number of machines from other cloud service vendors</p>
	//
	// Deprecated: OtherCloudMachineCnt is deprecated.
	OtherCloudMachineCnt *uint64 `json:"OtherCloudMachineCnt,omitnil,omitempty" name:"OtherCloudMachineCnt"`

	// <p>Number of protected machines</p>
	ProtectMachineCnt *uint64 `json:"ProtectMachineCnt,omitnil,omitempty" name:"ProtectMachineCnt"`

	// <p>Number of protected Basic Edition machines</p>
	BaseMachineCnt *uint64 `json:"BaseMachineCnt,omitnil,omitempty" name:"BaseMachineCnt"`

	// <p>Number of protected Pro Edition machines</p>
	SpecialtyMachineCnt *uint64 `json:"SpecialtyMachineCnt,omitnil,omitempty" name:"SpecialtyMachineCnt"`

	// <p>Number of protected Ultimate Edition machines</p>
	FlagshipMachineCnt *uint64 `json:"FlagshipMachineCnt,omitnil,omitempty" name:"FlagshipMachineCnt"`

	// <p>Number of risky machines</p>
	RiskMachineCnt *uint64 `json:"RiskMachineCnt,omitnil,omitempty" name:"RiskMachineCnt"`

	// <p>Change in the number of risky machines compared with yesterday</p>
	CompareYesterdayRiskMachineCnt *int64 `json:"CompareYesterdayRiskMachineCnt,omitnil,omitempty" name:"CompareYesterdayRiskMachineCnt"`

	// <p>Change in the number of unprotected machines compared with yesterday</p>
	CompareYesterdayNotProtectMachineCnt *int64 `json:"CompareYesterdayNotProtectMachineCnt,omitnil,omitempty" name:"CompareYesterdayNotProtectMachineCnt"`

	// <p>Change in the number of machines expiring soon compared with yesterday</p>
	CompareYesterdayDeadlineMachineCnt *int64 `json:"CompareYesterdayDeadlineMachineCnt,omitnil,omitempty" name:"CompareYesterdayDeadlineMachineCnt"`

	// <p>Number of machines about to expire</p>
	DeadlineMachineCnt *uint64 `json:"DeadlineMachineCnt,omitnil,omitempty" name:"DeadlineMachineCnt"`

	// <p>Number of unprotected machines</p>
	NotProtectMachineCnt *uint64 `json:"NotProtectMachineCnt,omitnil,omitempty" name:"NotProtectMachineCnt"`

	// <p>Number of protected Lighthouse machines</p>
	LHGeneralDiscountCnt *uint64 `json:"LHGeneralDiscountCnt,omitnil,omitempty" name:"LHGeneralDiscountCnt"`

	// <p>Change in the number of newly added hosts compared with yesterday</p>
	CompareYesterdayMachineCnt *int64 `json:"CompareYesterdayMachineCnt,omitnil,omitempty" name:"CompareYesterdayMachineCnt"`

	// <p>Automatic cleanup time, maximum 720 hours, minimum 0, default 0, 0=disabled</p>
	MachineDestroyAfterOfflineHours *uint64 `json:"MachineDestroyAfterOfflineHours,omitnil,omitempty" name:"MachineDestroyAfterOfflineHours"`

	// <p>Cloud server type array</p>
	CloudFrom []*CloudFromCnt `json:"CloudFrom,omitnil,omitempty" name:"CloudFrom"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineGeneralResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineGeneralResponseParams `json:"Response"`
}

func (r *DescribeMachineGeneralResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineGeneralResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineInfoRequestParams struct {
	// CWP agent `Uuid`.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DescribeMachineInfoRequest struct {
	*tchttp.BaseRequest
	
	// CWP agent `Uuid`.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DescribeMachineInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineInfoResponseParams struct {
	// Server IP.
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Days under protection by CWP
	ProtectDays *uint64 `json:"ProtectDays,omitnil,omitempty" name:"ProtectDays"`

	// OS.
	MachineOs *string `json:"MachineOs,omitnil,omitempty" name:"MachineOs"`

	// Server name.
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Status.
	// <li>ONLINE: online</li>
	// <li>OFFLINE: offline</li>
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Unique ID of CVM or BM instance.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Public IP of server.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// CVM or BM instance `Uuid`.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// CWP agent `Uuid`.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Whether CWP Pro is activated.
	// <li>true: yes</li>
	// <li>false: no</li>
	IsProVersion *bool `json:"IsProVersion,omitnil,omitempty" name:"IsProVersion"`

	// CWP Pro activation time.
	ProVersionOpenDate *string `json:"ProVersionOpenDate,omitnil,omitempty" name:"ProVersionOpenDate"`

	// Server type.
	// <li>CVM: CVM</li>
	// <li>BM: BM</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Server region, such as ap-guangzhou or ap-shanghai
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Server status.
	// <li>POSTPAY: post-paid, i.e., pay-as-you-go </li>
	PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"`

	// Number of trojans left for free scan.
	FreeMalwaresLeft *uint64 `json:"FreeMalwaresLeft,omitnil,omitempty" name:"FreeMalwaresLeft"`

	// Number of vulnerability left for free scan.
	FreeVulsLeft *uint64 `json:"FreeVulsLeft,omitnil,omitempty" name:"FreeVulsLeft"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineInfoResponseParams `json:"Response"`
}

func (r *DescribeMachineInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineLicenseDetailRequestParams struct {
	// Host QUUID
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type DescribeMachineLicenseDetailRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *DescribeMachineLicenseDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineLicenseDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineLicenseDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineLicenseDetailResponseParams struct {
	// Authorization information
	MachineLicense []*MachineLicenseDetail `json:"MachineLicense,omitnil,omitempty" name:"MachineLicense"`

	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineLicenseDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineLicenseDetailResponseParams `json:"Response"`
}

func (r *DescribeMachineLicenseDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineLicenseDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineOsListRequestParams struct {

}

type DescribeMachineOsListRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeMachineOsListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineOsListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineOsListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineOsListResponseParams struct {
	// <p>Operating system list</p>
	List []*OsName `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineOsListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineOsListResponseParams `json:"Response"`
}

func (r *DescribeMachineOsListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineOsListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineRegionListRequestParams struct {

}

type DescribeMachineRegionListRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeMachineRegionListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineRegionListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineRegionListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineRegionListResponseParams struct {
	// CVM type region list
	RegionList []*RegionListDetail `json:"RegionList,omitnil,omitempty" name:"RegionList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineRegionListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineRegionListResponseParams `json:"Response"`
}

func (r *DescribeMachineRegionListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineRegionListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineRegionsRequestParams struct {

}

type DescribeMachineRegionsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeMachineRegionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineRegionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineRegionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineRegionsResponseParams struct {
	// List of Cloud Virtual Machine regions
	CVM []*RegionInfo `json:"CVM,omitnil,omitempty" name:"CVM"`

	// List of BM machine regions
	BM []*RegionInfo `json:"BM,omitnil,omitempty" name:"BM"`

	// List of Lighthouse regions
	LH []*RegionInfo `json:"LH,omitnil,omitempty" name:"LH"`

	// List of Edge Computing Machine regions
	ECM []*RegionInfo `json:"ECM,omitnil,omitempty" name:"ECM"`

	// List of Hybrid Cloud regions
	Other []*RegionInfo `json:"Other,omitnil,omitempty" name:"Other"`

	// List of all regions (including above regions)
	ALL []*RegionInfo `json:"ALL,omitnil,omitempty" name:"ALL"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineRegionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineRegionsResponseParams `json:"Response"`
}

func (r *DescribeMachineRegionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineRegionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineRiskCntRequestParams struct {
	// Filter criteria
	// <li>Uuids- String - required: no - host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeMachineRiskCntRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Uuids- String - required: no - host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeMachineRiskCntRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineRiskCntRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineRiskCntRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineRiskCntResponseParams struct {
	// Cross-region log-in
	HostLogin *uint64 `json:"HostLogin,omitnil,omitempty" name:"HostLogin"`

	// Password cracking
	BruteAttack *uint64 `json:"BruteAttack,omitnil,omitempty" name:"BruteAttack"`

	// Malicious request
	MaliciousRequest *uint64 `json:"MaliciousRequest,omitnil,omitempty" name:"MaliciousRequest"`

	// Reverse Shell
	ReverseShell *uint64 `json:"ReverseShell,omitnil,omitempty" name:"ReverseShell"`

	// High-risk command
	Bash *uint64 `json:"Bash,omitnil,omitempty" name:"Bash"`

	// Local privilege escalation
	PrivilegeEscalation *uint64 `json:"PrivilegeEscalation,omitnil,omitempty" name:"PrivilegeEscalation"`

	// Trojan
	Malware *uint64 `json:"Malware,omitnil,omitempty" name:"Malware"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineRiskCntResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineRiskCntResponseParams `json:"Response"`
}

func (r *DescribeMachineRiskCntResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineRiskCntResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineSnapshotRequestParams struct {
	// CVM ID collection
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Inquiry snapshot type: 0 - latest one; 1 - all
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Number of Pagination
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeMachineSnapshotRequest struct {
	*tchttp.BaseRequest
	
	// CVM ID collection
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Inquiry snapshot type: 0 - latest one; 1 - all
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Number of Pagination
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeMachineSnapshotRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineSnapshotRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuids")
	delete(f, "Type")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachineSnapshotRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachineSnapshotResponseParams struct {
	// List of host snapshot
	List []*MachineSnapshotInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Whether snapshots created in the last 24 hours exist
	SnapshotCheck *bool `json:"SnapshotCheck,omitnil,omitempty" name:"SnapshotCheck"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachineSnapshotResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachineSnapshotResponseParams `json:"Response"`
}

func (r *DescribeMachineSnapshotResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachineSnapshotResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachinesRequestParams struct {
	// <p>Machine zone type<br>CVM: Cloud Virtual Machine<br>BM: Blackstone<br>ECM: Edge Computing Machine<br>LH: Lighthouse<br>Other: Hybrid cloud zone</p>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// <p>Machine region, for example, ap-guangzhou or ap-shanghai. For non-Tencent Cloud hosts, use ap-others.</p>
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// <p>Number of returned results. The default number is 10, and the maximum value is 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Filter criteria.</p><li>Ips - String - Required: No - Query by IP</li><li>Names - String - Required: No - Query by instance name</li><li>InstanceIds - String - Required: No - Query by instance id</li><li>Version - String - Required: No - Current protection edition (PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Version | Flagship: Ultimate Edition | ProtectedMachines: Pro Edition + Ultimate Edition)</li><li>Risk - String - Required: No - Risk host (yes)</li><li>Os - String - Required: No - Operating system (DescribeMachineOsList API value). Each filter criterion only supports one value and does not support multiple values or relationship query.</li><li>Quuid - String - Required: No - Cloud server UUID. Maximum 100 entries.</li><li>AddedOnTheFifteen - String - Required: No - Query only hosts added within the last 15 days (1: yes)</li><li>TagId - String - Required: No - Query host list associated with the specified tag</li><li>AgentStatus - String - Required: No - ALL: All; ONLINE: Under protection; OFFLINE: Offline; UNINSTALLED: Not installed</li><li>MachineStatus - String - Required: No - ALL: All; RUNNING: Running; STOPPED: Shut down; EXPIRED: Pending recycling</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>List of business IDs to which the machines belong</p>
	ProjectIds []*uint64 `json:"ProjectIds,omitnil,omitempty" name:"ProjectIds"`

	// <p>APPID of the machine</p>
	MachineAppId *uint64 `json:"MachineAppId,omitnil,omitempty" name:"MachineAppId"`
}

type DescribeMachinesRequest struct {
	*tchttp.BaseRequest
	
	// <p>Machine zone type<br>CVM: Cloud Virtual Machine<br>BM: Blackstone<br>ECM: Edge Computing Machine<br>LH: Lighthouse<br>Other: Hybrid cloud zone</p>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// <p>Machine region, for example, ap-guangzhou or ap-shanghai. For non-Tencent Cloud hosts, use ap-others.</p>
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// <p>Number of returned results. The default number is 10, and the maximum value is 100.</p>
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Offset. Default value: 0.</p>
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <p>Filter criteria.</p><li>Ips - String - Required: No - Query by IP</li><li>Names - String - Required: No - Query by instance name</li><li>InstanceIds - String - Required: No - Query by instance id</li><li>Version - String - Required: No - Current protection edition (PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Version | Flagship: Ultimate Edition | ProtectedMachines: Pro Edition + Ultimate Edition)</li><li>Risk - String - Required: No - Risk host (yes)</li><li>Os - String - Required: No - Operating system (DescribeMachineOsList API value). Each filter criterion only supports one value and does not support multiple values or relationship query.</li><li>Quuid - String - Required: No - Cloud server UUID. Maximum 100 entries.</li><li>AddedOnTheFifteen - String - Required: No - Query only hosts added within the last 15 days (1: yes)</li><li>TagId - String - Required: No - Query host list associated with the specified tag</li><li>AgentStatus - String - Required: No - ALL: All; ONLINE: Under protection; OFFLINE: Offline; UNINSTALLED: Not installed</li><li>MachineStatus - String - Required: No - ALL: All; RUNNING: Running; STOPPED: Shut down; EXPIRED: Pending recycling</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// <p>List of business IDs to which the machines belong</p>
	ProjectIds []*uint64 `json:"ProjectIds,omitnil,omitempty" name:"ProjectIds"`

	// <p>APPID of the machine</p>
	MachineAppId *uint64 `json:"MachineAppId,omitnil,omitempty" name:"MachineAppId"`
}

func (r *DescribeMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MachineType")
	delete(f, "MachineRegion")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "ProjectIds")
	delete(f, "MachineAppId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachinesResponseParams struct {
	// <p>Host list</p>
	Machines []*Machine `json:"Machines,omitnil,omitempty" name:"Machines"`

	// <p>Number of hosts</p>
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachinesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachinesResponseParams `json:"Response"`
}

func (r *DescribeMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachinesSimpleRequestParams struct {
	// Type of the machine's zone
	// CVM: Cloud Virtual Machine
	// BM: BM
	// ECM: Edge Computing Machine
	// LH: Lighthouse
	// Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. For example, ap-guangzhou, ap-shanghai. For non-Tencent Cloud hosts, use ap-others.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Keywords - String - required: no - keywords for querying </li>
	// <li>Version - String required: no - current protection edition ( PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Edition | Flagship: Ultimate Edition | ProtectedMachines: Pro + Ultimate Editions | UnFlagship: Non-Ultimate Edition | PRO_POST_PAY: Pro Edition in pay-as-you-go mode | PRO_PRE_PAY: Pro Edition in yearly/monthly subscription mode)</li>
	// <li>TagId - String - required: no - tag ID </li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// ID list of businesses to which machines belong
	ProjectIds []*uint64 `json:"ProjectIds,omitnil,omitempty" name:"ProjectIds"`
}

type DescribeMachinesSimpleRequest struct {
	*tchttp.BaseRequest
	
	// Type of the machine's zone
	// CVM: Cloud Virtual Machine
	// BM: BM
	// ECM: Edge Computing Machine
	// LH: Lighthouse
	// Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. For example, ap-guangzhou, ap-shanghai. For non-Tencent Cloud hosts, use ap-others.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Keywords - String - required: no - keywords for querying </li>
	// <li>Version - String required: no - current protection edition ( PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Edition | Flagship: Ultimate Edition | ProtectedMachines: Pro + Ultimate Editions | UnFlagship: Non-Ultimate Edition | PRO_POST_PAY: Pro Edition in pay-as-you-go mode | PRO_PRE_PAY: Pro Edition in yearly/monthly subscription mode)</li>
	// <li>TagId - String - required: no - tag ID </li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// ID list of businesses to which machines belong
	ProjectIds []*uint64 `json:"ProjectIds,omitnil,omitempty" name:"ProjectIds"`
}

func (r *DescribeMachinesSimpleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachinesSimpleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MachineType")
	delete(f, "MachineRegion")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "ProjectIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMachinesSimpleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMachinesSimpleResponseParams struct {
	// Host list
	Machines []*MachineSimple `json:"Machines,omitnil,omitempty" name:"Machines"`

	// Number of Hosts
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMachinesSimpleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMachinesSimpleResponseParams `json:"Response"`
}

func (r *DescribeMachinesSimpleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMachinesSimpleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalWareListRequestParams struct {
	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status: 4 - pending; 5 -- trusted; 6 - isolated; 10 - isolation in progress; 11 - recovering from isolation; 14 - processed</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Detection sorting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeMalWareListRequest struct {
	*tchttp.BaseRequest
	
	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status: 4 - pending; 5 -- trusted; 6 - isolated; 10 - isolation in progress; 11 - recovering from isolation; 14 - processed</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Detection sorting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeMalWareListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalWareListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalWareListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalWareListResponseParams struct {
	// Trojan List
	MalWareList []*MalWareList `json:"MalWareList,omitnil,omitempty" name:"MalWareList"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalWareListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalWareListResponseParams `json:"Response"`
}

func (r *DescribeMalWareListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalWareListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMaliciousRequestWhiteListRequestParams struct {
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// 
	// <li>Domain - String - baseline name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeMaliciousRequestWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// 
	// <li>Domain - String - baseline name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeMaliciousRequestWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMaliciousRequestWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMaliciousRequestWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMaliciousRequestWhiteListResponseParams struct {
	// List of allowlist information
	List []*MaliciousRequestWhiteListInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMaliciousRequestWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMaliciousRequestWhiteListResponseParams `json:"Response"`
}

func (r *DescribeMaliciousRequestWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMaliciousRequestWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareFileRequestParams struct {
	// Trojan record ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeMalwareFileRequest struct {
	*tchttp.BaseRequest
	
	// Trojan record ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeMalwareFileRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareFileRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareFileRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareFileResponseParams struct {
	// Trojan file download link
	FileUrl *string `json:"FileUrl,omitnil,omitempty" name:"FileUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareFileResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareFileResponseParams `json:"Response"`
}

func (r *DescribeMalwareFileResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareFileResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareInfoRequestParams struct {
	// Unique ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeMalwareInfoRequest struct {
	*tchttp.BaseRequest
	
	// Unique ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeMalwareInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareInfoResponseParams struct {
	// Malicious file details
	MalwareInfo *MalwareInfo `json:"MalwareInfo,omitnil,omitempty" name:"MalwareInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareInfoResponseParams `json:"Response"`
}

func (r *DescribeMalwareInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareRiskOverviewRequestParams struct {

}

type DescribeMalwareRiskOverviewRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeMalwareRiskOverviewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareRiskOverviewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareRiskOverviewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareRiskOverviewResponseParams struct {
	// None
	Data *MalwareRiskOverview `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareRiskOverviewResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareRiskOverviewResponseParams `json:"Response"`
}

func (r *DescribeMalwareRiskOverviewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareRiskOverviewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareRiskWarningRequestParams struct {

}

type DescribeMalwareRiskWarningRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeMalwareRiskWarningRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareRiskWarningRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareRiskWarningRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareRiskWarningResponseParams struct {
	// Whether automatic scanning is enabled. True: enabled; false: disabled.
	IsCheckRisk *bool `json:"IsCheckRisk,omitnil,omitempty" name:"IsCheckRisk"`

	// List of risky files
	List []*MalwareRisk `json:"List,omitnil,omitempty" name:"List"`

	// Whether to show the prompt. True: show prompt; false: do not show prompt.
	IsPop *bool `json:"IsPop,omitnil,omitempty" name:"IsPop"`

	// Information on Abnormal Process List
	ProcessList []*MalwareRisk `json:"ProcessList,omitnil,omitempty" name:"ProcessList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareRiskWarningResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareRiskWarningResponseParams `json:"Response"`
}

func (r *DescribeMalwareRiskWarningResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareRiskWarningResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareTimingScanSettingRequestParams struct {
	// <p>Product type. 0:CWP (default); 1:CSC</p>
	ProductType *int64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

type DescribeMalwareTimingScanSettingRequest struct {
	*tchttp.BaseRequest
	
	// <p>Product type. 0:CWP (default); 1:CSC</p>
	ProductType *int64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

func (r *DescribeMalwareTimingScanSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareTimingScanSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ProductType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareTimingScanSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareTimingScanSettingResponseParams struct {
	// <p>Detection mode. 0: full disk detection; 1: rapid detection</p>
	CheckPattern *uint64 `json:"CheckPattern,omitnil,omitempty" name:"CheckPattern"`

	// <p>Start time of the detection window</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>Timeout end time of the detection window</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>Whether all servers are selected. 1: All; 2: Custom</p>
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// <p>A string array of host QUUIDs, required when custom servers are selected</p>
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// <p>Monitoring mode. 0: standard; 1: deep</p>
	MonitoringPattern *uint64 `json:"MonitoringPattern,omitnil,omitempty" name:"MonitoringPattern"`

	// <p>Cycle. 1: Daily</p>
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// <p>Scheduled detection switch. 0: off; 1: on</p>
	EnableScan *int64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// <p>Unique ID</p>
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Real-time monitoring. 0: off; 1: on</p>
	RealTimeMonitoring *int64 `json:"RealTimeMonitoring,omitnil,omitempty" name:"RealTimeMonitoring"`

	// <p>Whether to isolate automatically: 1 - yes; 0 - no</p>
	AutoIsolation *uint64 `json:"AutoIsolation,omitnil,omitempty" name:"AutoIsolation"`

	// <p>Timeout for one-click scanning, for example, 1800 seconds</p>
	ClickTimeout *uint64 `json:"ClickTimeout,omitnil,omitempty" name:"ClickTimeout"`

	// <p>Whether to terminate the process: 1: terminate; 0: not terminate. It is effective only if automatic isolation is enabled.</p>
	KillProcess *uint64 `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// <p>1: Standard mode (reports only critical and high-risk items); 2: Enhanced mode (reports critical, high-risk, and medium-risk items); 3: Strict mode (reports critical, high-, medium-, and low-risk items, plus prompt items)</p>
	EngineType *uint64 `json:"EngineType,omitnil,omitempty" name:"EngineType"`

	// <p>Heuristic engine. 0: off; 1: on</p>
	EnableInspiredEngine *uint64 `json:"EnableInspiredEngine,omitnil,omitempty" name:"EnableInspiredEngine"`

	// <p>Whether malicious process termination is enabled [0: disabled, 1: enabled]</p>
	EnableMemShellScan *uint64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`

	// <p>Protection mode. 0: Standard; 1: Critical-period protection</p>
	ProtectMode *uint64 `json:"ProtectMode,omitnil,omitempty" name:"ProtectMode"`

	// <p>Scan scope. 0: Malicious files other than script files; 1: All malicious files</p>
	ProtectFileScope *uint64 `json:"ProtectFileScope,omitnil,omitempty" name:"ProtectFileScope"`

	// <p>Cleanup switch. 0: off; 1: on</p>
	DoClean *uint64 `json:"DoClean,omitnil,omitempty" name:"DoClean"`

	// <p>Selected hosts for isolation</p>
	QuaraUuids []*string `json:"QuaraUuids,omitnil,omitempty" name:"QuaraUuids"`

	// <p>Isolation scope selected by the user. 0: Full isolation by default; 1: Custom</p>
	QuaraScope *uint64 `json:"QuaraScope,omitnil,omitempty" name:"QuaraScope"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareTimingScanSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareTimingScanSettingResponseParams `json:"Response"`
}

func (r *DescribeMalwareTimingScanSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareTimingScanSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareWhiteListAffectListRequestParams struct {
	// Allowlist rule ID
	WhiteListId *uint64 `json:"WhiteListId,omitnil,omitempty" name:"WhiteListId"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostIp - String - required: no - host IP query</li>
	// <li>FileName - String - required: no - file name query</li>
	// <li>FileDirectory - String - required: no - file directory query </li>
	// <li>FileExtension - String - required: no - file extension query</li>
	// <li>Mode - String - required: no - rule type: 0 MD5; 1 customize</li>
	// <li>Md5 - String - required: no - MD5 query</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting column: [CreateTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeMalwareWhiteListAffectListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist rule ID
	WhiteListId *uint64 `json:"WhiteListId,omitnil,omitempty" name:"WhiteListId"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostIp - String - required: no - host IP query</li>
	// <li>FileName - String - required: no - file name query</li>
	// <li>FileDirectory - String - required: no - file directory query </li>
	// <li>FileExtension - String - required: no - file extension query</li>
	// <li>Mode - String - required: no - rule type: 0 MD5; 1 customize</li>
	// <li>Md5 - String - required: no - MD5 query</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting column: [CreateTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeMalwareWhiteListAffectListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareWhiteListAffectListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "WhiteListId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareWhiteListAffectListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareWhiteListAffectListResponseParams struct {
	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of events affected by allowlist rules
	AffectList []*MalwareWhiteListAffectEvent `json:"AffectList,omitnil,omitempty" name:"AffectList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareWhiteListAffectListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareWhiteListAffectListResponseParams `json:"Response"`
}

func (r *DescribeMalwareWhiteListAffectListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareWhiteListAffectListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareWhiteListRequestParams struct {
	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostIp - String - required: no - host IP query</li>
	// <li>FileName - String - required: no - file name query</li>
	// <li>FileDirectory - String - required: no - file directory query </li>
	// <li>FileExtension - String - required: no - file extension query</li>
	// <li>Mode - String - required: no - rule type: 0 MD5; 1 customize</li>
	// <li>Md5 - String - required: no - MD5 query</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting columns: [EventsCount | CreateTime | ModifyTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeMalwareWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>HostIp - String - required: no - host IP query</li>
	// <li>FileName - String - required: no - file name query</li>
	// <li>FileDirectory - String - required: no - file directory query </li>
	// <li>FileExtension - String - required: no - file extension query</li>
	// <li>Mode - String - required: no - rule type: 0 MD5; 1 customize</li>
	// <li>Md5 - String - required: no - MD5 query</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting columns: [EventsCount | CreateTime | ModifyTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeMalwareWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMalwareWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMalwareWhiteListResponseParams struct {
	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of allowlist
	WhiteList []*MalwareWhiteListInfo `json:"WhiteList,omitnil,omitempty" name:"WhiteList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMalwareWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMalwareWhiteListResponseParams `json:"Response"`
}

func (r *DescribeMalwareWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMalwareWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMemShellRulesRequestParams struct {
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeMemShellRulesRequest struct {
	*tchttp.BaseRequest
	
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeMemShellRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMemShellRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeMemShellRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMemShellRulesResponseParams struct {
	// List content
	List []*MemShellRule `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeMemShellRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMemShellRulesResponseParams `json:"Response"`
}

func (r *DescribeMemShellRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMemShellRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetAttackSettingRequestParams struct {
	// <p>Product type. 0:CWP; 1:CSC</p>
	ProductType *uint64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

type DescribeNetAttackSettingRequest struct {
	*tchttp.BaseRequest
	
	// <p>Product type. 0:CWP; 1:CSC</p>
	ProductType *uint64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

func (r *DescribeNetAttackSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetAttackSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ProductType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetAttackSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetAttackSettingResponseParams struct {
	// <p>0: Disable network attack detection; 1: Enable network attack detection</p>
	NetAttackEnable *uint64 `json:"NetAttackEnable,omitnil,omitempty" name:"NetAttackEnable"`

	// <p>0: Newly added alert events are pending by default; 1: newly added alert events are processed by default; 3: newly added alert events are ignored by default</p>
	NetAttackAlarmStatus *uint64 `json:"NetAttackAlarmStatus,omitnil,omitempty" name:"NetAttackAlarmStatus"`

	// <p>1 - All Ultimate Edition hosts; 0 - hosts in InstanceIds list</p>
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// <p>Selected hosts</p>
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// <p>Custom excluded hosts</p>
	ExcludeInstanceIds []*string `json:"ExcludeInstanceIds,omitnil,omitempty" name:"ExcludeInstanceIds"`

	// <p>Automatically include newly added assets. 0: No; 1: Yes</p>
	AutoInclude *uint64 `json:"AutoInclude,omitnil,omitempty" name:"AutoInclude"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetAttackSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetAttackSettingResponseParams `json:"Response"`
}

func (r *DescribeNetAttackSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetAttackSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetAttackWhiteListRequestParams struct {
	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>IP - String - required: no - query by host IP</li>
	// <li>SrcIP- String - required: no - query by allowlisted IP</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting column: [CreateTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeNetAttackWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// <li>IP - String - required: no - query by host IP</li>
	// <li>SrcIP- String - required: no - query by allowlisted IP</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting column: [CreateTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeNetAttackWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetAttackWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetAttackWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetAttackWhiteListResponseParams struct {
	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Allowlist
	WhiteList []*NetAttackWhiteRule `json:"WhiteList,omitnil,omitempty" name:"WhiteList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetAttackWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetAttackWhiteListResponseParams `json:"Response"`
}

func (r *DescribeNetAttackWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetAttackWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOpenPortStatisticsRequestParams struct {
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Port - Uint64 - whether required: no - port number</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeOpenPortStatisticsRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Port - Uint64 - whether required: no - port number</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeOpenPortStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOpenPortStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOpenPortStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOpenPortStatisticsResponseParams struct {
	// Total number of lists of port statistics
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of port statistics
	OpenPortStatistics []*OpenPortStatistics `json:"OpenPortStatistics,omitnil,omitempty" name:"OpenPortStatistics"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOpenPortStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOpenPortStatisticsResponseParams `json:"Response"`
}

func (r *DescribeOpenPortStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOpenPortStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOverviewStatisticsRequestParams struct {

}

type DescribeOverviewStatisticsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeOverviewStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOverviewStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeOverviewStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeOverviewStatisticsResponseParams struct {
	// Number of servers online
	OnlineMachineNum *uint64 `json:"OnlineMachineNum,omitnil,omitempty" name:"OnlineMachineNum"`

	// Number of professional servers
	ProVersionMachineNum *uint64 `json:"ProVersionMachineNum,omitnil,omitempty" name:"ProVersionMachineNum"`

	// Number of Trojan files
	MalwareNum *uint64 `json:"MalwareNum,omitnil,omitempty" name:"MalwareNum"`

	// Number of cross-region log-in
	NonlocalLoginNum *uint64 `json:"NonlocalLoginNum,omitnil,omitempty" name:"NonlocalLoginNum"`

	// Number of successful brute force cracking
	BruteAttackSuccessNum *uint64 `json:"BruteAttackSuccessNum,omitnil,omitempty" name:"BruteAttackSuccessNum"`

	// Number of vulnerabilities
	VulNum *uint64 `json:"VulNum,omitnil,omitempty" name:"VulNum"`

	// Number of security baselines
	BaseLineNum *uint64 `json:"BaseLineNum,omitnil,omitempty" name:"BaseLineNum"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeOverviewStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOverviewStatisticsResponseParams `json:"Response"`
}

func (r *DescribeOverviewStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeOverviewStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePatchEffectHostListRequestParams struct {
	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Pagination limit, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination offset.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria:  
	// <li>HostVersion : uint64 data type Optional Version information : 0-Basic version 1-Pro edition 2-Flagship edition 3-Lite edition</li>
	// <li>InstanceState: string type, optional. Host status: "PENDING": creating; "LAUNCH_FAILED": creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": to be terminated; "TERMINATING": terminating; "UNKNOWN": unknown (for non-Tencent Cloud machines and offline client)</li>
	// <li>Status - uint64 - optional - processing Status: 0 - pending; 1 - ignored; 3 - fixed</li>
	// <li>HostName: string type optional host name</li>
	// <li>InstanceID : string type optional host id</li>
	// <li>IpAddress: string type optional The ip address of the host</li>
	// <li>Uuid : string type optional host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribePatchEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Pagination limit, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination offset.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria:  
	// <li>HostVersion : uint64 data type Optional Version information : 0-Basic version 1-Pro edition 2-Flagship edition 3-Lite edition</li>
	// <li>InstanceState: string type, optional. Host status: "PENDING": creating; "LAUNCH_FAILED": creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": to be terminated; "TERMINATING": terminating; "UNKNOWN": unknown (for non-Tencent Cloud machines and offline client)</li>
	// <li>Status - uint64 - optional - processing Status: 0 - pending; 1 - ignored; 3 - fixed</li>
	// <li>HostName: string type optional host name</li>
	// <li>InstanceID : string type optional host id</li>
	// <li>IpAddress: string type optional The ip address of the host</li>
	// <li>Uuid : string type optional host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribePatchEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePatchEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "KbId")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePatchEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePatchEffectHostListResponseParams struct {
	// Total number of affected hosts
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Affected host list of the patch
	PatchEffectHostList []*PatchEffectHostList `json:"PatchEffectHostList,omitnil,omitempty" name:"PatchEffectHostList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePatchEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribePatchEffectHostListResponseParams `json:"Response"`
}

func (r *DescribePatchEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePatchEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePatchInfoRequestParams struct {
	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

type DescribePatchInfoRequest struct {
	*tchttp.BaseRequest
	
	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

func (r *DescribePatchInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePatchInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "KbId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePatchInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePatchInfoResponseParams struct {
	// kb No.
	KbNo *string `json:"KbNo,omitnil,omitempty" name:"KbNo"`

	// kb name
	PatchName *string `json:"PatchName,omitnil,omitempty" name:"PatchName"`

	// kb release date
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Reference link
	ReferUrl *string `json:"ReferUrl,omitnil,omitempty" name:"ReferUrl"`

	// Number of vulnerabilities
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// List of vulnerability details associated with the patch
	RelateVulInfoList []*RelateVulInfo `json:"RelateVulInfoList,omitnil,omitempty" name:"RelateVulInfoList"`

	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Associated vulnerability CveId, multiple IDs split by ","
	RelateVulCveId *string `json:"RelateVulCveId,omitnil,omitempty" name:"RelateVulCveId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePatchInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribePatchInfoResponseParams `json:"Response"`
}

func (r *DescribePatchInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePatchInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePrivilegeEventInfoRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribePrivilegeEventInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribePrivilegeEventInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePrivilegeEventInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrivilegeEventInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePrivilegeEventInfoResponseParams struct {
	// Local privilege escalation details
	PrivilegeEventInfo *PrivilegeEventInfo `json:"PrivilegeEventInfo,omitnil,omitempty" name:"PrivilegeEventInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePrivilegeEventInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribePrivilegeEventInfoResponseParams `json:"Response"`
}

func (r *DescribePrivilegeEventInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePrivilegeEventInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePrivilegeRulesRequestParams struct {
	// Number of returns, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribePrivilegeRulesRequest struct {
	*tchttp.BaseRequest
	
	// Number of returns, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribePrivilegeRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePrivilegeRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePrivilegeRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePrivilegeRulesResponseParams struct {
	// List content
	List []*PrivilegeRule `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePrivilegeRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribePrivilegeRulesResponseParams `json:"Response"`
}

func (r *DescribePrivilegeRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePrivilegeRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProVersionInfoRequestParams struct {

}

type DescribeProVersionInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeProVersionInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProVersionInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProVersionInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProVersionInfoResponseParams struct {
	// Payment details for [Pro Edition - pay-as-you-go] yesterday (the actual bill prevails).
	PostPayCost *uint64 `json:"PostPayCost,omitnil,omitempty" name:"PostPayCost"`

	// Whether the Pro Edition is automatically activated on the new host
	IsAutoOpenProVersion *bool `json:"IsAutoOpenProVersion,omitnil,omitempty" name:"IsAutoOpenProVersion"`

	// Number of hosts with Pro Edition.
	ProVersionNum *uint64 `json:"ProVersionNum,omitnil,omitempty" name:"ProVersionNum"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeProVersionInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeProVersionInfoResponseParams `json:"Response"`
}

func (r *DescribeProVersionInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProVersionInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProVersionStatusRequestParams struct {
	// CWPP client UUID. If the value is all, it indicates all hosts.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DescribeProVersionStatusRequest struct {
	*tchttp.BaseRequest
	
	// CWPP client UUID. If the value is all, it indicates all hosts.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DescribeProVersionStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProVersionStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProVersionStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProVersionStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeProVersionStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeProVersionStatusResponseParams `json:"Response"`
}

func (r *DescribeProVersionStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProVersionStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProcessStatisticsRequestParams struct {
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>ProcessName - String - required: no - process name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeProcessStatisticsRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>ProcessName - String - required: no - process name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeProcessStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProcessStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProcessStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProcessStatisticsResponseParams struct {
	// Total number of records in the process statistics list
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Array of list of counted processes
	ProcessStatistics []*ProcessStatistics `json:"ProcessStatistics,omitnil,omitempty" name:"ProcessStatistics"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeProcessStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeProcessStatisticsResponseParams `json:"Response"`
}

func (r *DescribeProcessStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProcessStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProductStatusRequestParams struct {

}

type DescribeProductStatusRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeProductStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProductStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeProductStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeProductStatusResponseParams struct {
	// API call response status code
	ReturnCode *uint64 `json:"ReturnCode,omitnil,omitempty" name:"ReturnCode"`

	// API call response information
	ReturnMsg *string `json:"ReturnMsg,omitnil,omitempty" name:"ReturnMsg"`

	// Protection status and trial information
	Data *ProductStatusInfo `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeProductStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeProductStatusResponseParams `json:"Response"`
}

func (r *DescribeProductStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeProductStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePublicProxyInstallCommandRequestParams struct {
	// List of Nginx host IP addresses, separated by commas
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`
}

type DescribePublicProxyInstallCommandRequest struct {
	*tchttp.BaseRequest
	
	// List of Nginx host IP addresses, separated by commas
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`
}

func (r *DescribePublicProxyInstallCommandRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePublicProxyInstallCommandRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ip")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePublicProxyInstallCommandRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePublicProxyInstallCommandResponseParams struct {
	// Nginx Installation Command
	NginxCommand *string `json:"NginxCommand,omitnil,omitempty" name:"NginxCommand"`

	// Keepalived Installation Command
	KeepAliveCommand *string `json:"KeepAliveCommand,omitnil,omitempty" name:"KeepAliveCommand"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePublicProxyInstallCommandResponse struct {
	*tchttp.BaseResponse
	Response *DescribePublicProxyInstallCommandResponseParams `json:"Response"`
}

func (r *DescribePublicProxyInstallCommandResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePublicProxyInstallCommandResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseBackupListRequestParams struct {
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Status - Int - required: no - query by ransom status: 0: not ransomed; 1: ransomed</li>
	// <li>CreateTimeBegin - string - required: no - start of creation time</li>
	// <li>CreateTimeEnd - string - required: no - end of creation time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRansomDefenseBackupListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Status - Int - required: no - query by ransom status: 0: not ransomed; 1: ransomed</li>
	// <li>CreateTimeBegin - string - required: no - start of creation time</li>
	// <li>CreateTimeEnd - string - required: no - end of creation time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRansomDefenseBackupListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseBackupListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseBackupListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseBackupListResponseParams struct {
	// Backup list
	List []*RansomDefenseBackup `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseBackupListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseBackupListResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseBackupListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseBackupListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseEventsListRequestParams struct {
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>HostName- string- host name</li>
	// <li>Status - Uint64: 0 - pending; 1 processed; 2 -trusted</li>
	// <li>HostIp - String - host IP</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Event Creation Start Time
	CreateBeginTime *string `json:"CreateBeginTime,omitnil,omitempty" name:"CreateBeginTime"`

	// Incident creation end time
	CreateEndTime *string `json:"CreateEndTime,omitnil,omitempty" name:"CreateEndTime"`
}

type DescribeRansomDefenseEventsListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>HostName- string- host name</li>
	// <li>Status - Uint64: 0 - pending; 1 processed; 2 -trusted</li>
	// <li>HostIp - String - host IP</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Event Creation Start Time
	CreateBeginTime *string `json:"CreateBeginTime,omitnil,omitempty" name:"CreateBeginTime"`

	// Incident creation end time
	CreateEndTime *string `json:"CreateEndTime,omitnil,omitempty" name:"CreateEndTime"`
}

func (r *DescribeRansomDefenseEventsListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseEventsListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	delete(f, "CreateBeginTime")
	delete(f, "CreateEndTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseEventsListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseEventsListResponseParams struct {
	// Event list
	List []*RansomDefenseEvent `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseEventsListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseEventsListResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseEventsListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseEventsListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseMachineListRequestParams struct {
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Ips - String - required: no - query by IP</li>
	// <li>MachineNames - String - required: no - query by instance name</li>
	// <li>Names - String - required: no - query by policy name</li>
	// <li>Status - String - required: no - policy status: 0: backup in progress; 1: backup successful; 2: backup failed; 9: no backup</li>
	// <li>LastBackupStatus - String - required: no - last backup status: 0: backup in progress; 1: backup succeeded; 2: backup failed; 9: no backup</li>
	// <li>LastBackupTimeBegin - String - required: no - start of the last backup time</li>
	// <li>LastBackupTimeEnd - String - required: no - end of the last backup time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, support CreateTime, LastBackupTime, BackupCount.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRansomDefenseMachineListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum quantity is 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Ips - String - required: no - query by IP</li>
	// <li>MachineNames - String - required: no - query by instance name</li>
	// <li>Names - String - required: no - query by policy name</li>
	// <li>Status - String - required: no - policy status: 0: backup in progress; 1: backup successful; 2: backup failed; 9: no backup</li>
	// <li>LastBackupStatus - String - required: no - last backup status: 0: backup in progress; 1: backup succeeded; 2: backup failed; 9: no backup</li>
	// <li>LastBackupTimeBegin - String - required: no - start of the last backup time</li>
	// <li>LastBackupTimeEnd - String - required: no - end of the last backup time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, support CreateTime, LastBackupTime, BackupCount.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRansomDefenseMachineListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseMachineListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseMachineListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseMachineListResponseParams struct {
	// List of hosts
	List []*RansomDefenseStrategyMachineBackupInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseMachineListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseMachineListResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseMachineListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseMachineListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseMachineStrategyInfoRequestParams struct {
	// Host Quuid List
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type DescribeRansomDefenseMachineStrategyInfoRequest struct {
	*tchttp.BaseRequest
	
	// Host Quuid List
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *DescribeRansomDefenseMachineStrategyInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseMachineStrategyInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseMachineStrategyInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseMachineStrategyInfoResponseParams struct {
	// List of Policy IDs. 0 indicates no policy is bound.
	StrategyIds []*uint64 `json:"StrategyIds,omitnil,omitempty" name:"StrategyIds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseMachineStrategyInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseMachineStrategyInfoResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseMachineStrategyInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseMachineStrategyInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseRollBackTaskListRequestParams struct {
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Ips- string- string- host name</li>
	// <li>Status - Uint64: 0 - in progress; 1 - succeeded; 2 failed</li>
	// <li>Names - String - host name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, support CreateTime, ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRansomDefenseRollBackTaskListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Ips- string- string- host name</li>
	// <li>Status - Uint64: 0 - in progress; 1 - succeeded; 2 failed</li>
	// <li>Names - String - host name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, support CreateTime, ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRansomDefenseRollBackTaskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseRollBackTaskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseRollBackTaskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseRollBackTaskListResponseParams struct {
	// Task list
	List []*RansomDefenseRollbackTask `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseRollBackTaskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseRollBackTaskListResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseRollBackTaskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseRollBackTaskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStateRequestParams struct {

}

type DescribeRansomDefenseStateRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeRansomDefenseStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStateResponseParams struct {
	// Number of Activated Defense Policies
	StrategyCount *uint64 `json:"StrategyCount,omitnil,omitempty" name:"StrategyCount"`

	// Number of Protected Machines
	MachineCount *uint64 `json:"MachineCount,omitnil,omitempty" name:"MachineCount"`

	// Total snapshot capacity
	SnapshotSize *uint64 `json:"SnapshotSize,omitnil,omitempty" name:"SnapshotSize"`

	// Number of Backup Recovery Tasks
	RollBackTaskCount *uint64 `json:"RollBackTaskCount,omitnil,omitempty" name:"RollBackTaskCount"`

	// Number of Snapshot Creation Tasks in Progress
	ProgressingSnapshotTaskCount *uint64 `json:"ProgressingSnapshotTaskCount,omitnil,omitempty" name:"ProgressingSnapshotTaskCount"`

	// Number of Backup Recovery Tasks in Progress
	ProgressingRollBackTaskCount *uint64 `json:"ProgressingRollBackTaskCount,omitnil,omitempty" name:"ProgressingRollBackTaskCount"`

	// Total Number of Machines
	MachineTotal *uint64 `json:"MachineTotal,omitnil,omitempty" name:"MachineTotal"`

	// Total number of policies
	StrategyTotal *uint64 `json:"StrategyTotal,omitnil,omitempty" name:"StrategyTotal"`

	// Account Status. 0 - Without Overdue Payment; 1 - With Overdue Payment
	BalanceStatus *uint64 `json:"BalanceStatus,omitnil,omitempty" name:"BalanceStatus"`

	// Number of Backed-Up Hosts
	BackupMachineCount *uint64 `json:"BackupMachineCount,omitnil,omitempty" name:"BackupMachineCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseStateResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseStateResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStrategyDetailRequestParams struct {
	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRansomDefenseStrategyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRansomDefenseStrategyDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStrategyDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseStrategyDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStrategyDetailResponseParams struct {
	// Policy details
	Strategy *RansomDefenseStrategyDetail `json:"Strategy,omitnil,omitempty" name:"Strategy"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseStrategyDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseStrategyDetailResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseStrategyDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStrategyDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStrategyListRequestParams struct {
	// Pagination parameter (maximum quantity: 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Ips - String - required: no - IP addresses for querying </li>
	// <li>MachineNames - String - required: no - instance names for querying </li>
	// <li>Names - String - required: no - anti-ransomware policy names for querying </li>
	// <li>Dirs - String - required: no - bait directory </li>
	// <li>Status - String - required: no - policy status: 0: disabled; 1: enabled </li>
	// <li>BackupType - String - required: no - backup mode: 0: weekly; 1: daily </li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order: ASC and DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRansomDefenseStrategyListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameter (maximum quantity: 100)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria
	// <li>Ips - String - required: no - IP addresses for querying </li>
	// <li>MachineNames - String - required: no - instance names for querying </li>
	// <li>Names - String - required: no - anti-ransomware policy names for querying </li>
	// <li>Dirs - String - required: no - bait directory </li>
	// <li>Status - String - required: no - policy status: 0: disabled; 1: enabled </li>
	// <li>BackupType - String - required: no - backup mode: 0: weekly; 1: daily </li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order: ASC and DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRansomDefenseStrategyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStrategyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseStrategyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStrategyListResponseParams struct {
	// Policy List
	List []*RansomDefenseStrategy `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseStrategyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseStrategyListResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseStrategyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStrategyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStrategyMachinesRequestParams struct {
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Ips- string- string- host name</li>
	// <li>Status - Uint64: 0 - unbound; 1 bound</li>
	// <li>Names - String - host name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Anti-Ransomware Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRansomDefenseStrategyMachinesRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameters (The maximum number is 100.)
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination parameter
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Ips- string- string- host name</li>
	// <li>Status - Uint64: 0 - unbound; 1 bound</li>
	// <li>Names - String - host name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Anti-Ransomware Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRansomDefenseStrategyMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStrategyMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseStrategyMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseStrategyMachinesResponseParams struct {
	// List of hosts
	List []*RansomDefenseStrategyMachineDetail `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseStrategyMachinesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseStrategyMachinesResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseStrategyMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseStrategyMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseTrendRequestParams struct {

}

type DescribeRansomDefenseTrendRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeRansomDefenseTrendRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseTrendRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRansomDefenseTrendRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRansomDefenseTrendResponseParams struct {
	// Number of Ransom Incidents
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Number of Affected Industries
	IndustryCount *uint64 `json:"IndustryCount,omitnil,omitempty" name:"IndustryCount"`

	// Number of Companies with Ransom Protection
	CompanyCount *uint64 `json:"CompanyCount,omitnil,omitempty" name:"CompanyCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRansomDefenseTrendResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRansomDefenseTrendResponseParams `json:"Response"`
}

func (r *DescribeRansomDefenseTrendResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRansomDefenseTrendResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventCWPRequestParams struct {
	// Filter criteria: Keywords: ip or hostname, VulKeywords vulnerability name or CveId for fuzzy query; AttackTypeKeywords attack type for fuzzy query; Quuid, VulId, EventType, Status for precise match, CreateBeginTime, CreateEndTime time period query.
	// Source is case-sensitive for memory shell injection and vulnerability defense, rasp: vulnerability defense, memshell_inject: memory shell injection
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort columns, which are strictly equal: CreateTime for creation time, MergeTime for merge time, and Count for event count
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRaspEventCWPRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria: Keywords: ip or hostname, VulKeywords vulnerability name or CveId for fuzzy query; AttackTypeKeywords attack type for fuzzy query; Quuid, VulId, EventType, Status for precise match, CreateBeginTime, CreateEndTime time period query.
	// Source is case-sensitive for memory shell injection and vulnerability defense, rasp: vulnerability defense, memshell_inject: memory shell injection
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort columns, which are strictly equal: CreateTime for creation time, MergeTime for merge time, and Count for event count
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRaspEventCWPRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventCWPRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspEventCWPRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventCWPResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Vulnerability Defense Event List
	List []*RaspEvent `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspEventCWPResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspEventCWPResponseParams `json:"Response"`
}

func (r *DescribeRaspEventCWPResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventCWPResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventDetailCWPRequestParams struct {
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRaspEventDetailCWPRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRaspEventDetailCWPRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventDetailCWPRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspEventDetailCWPRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventDetailCWPResponseParams struct {
	// Application protection event details
	Data *RaspEventDetail `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspEventDetailCWPResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspEventDetailCWPResponseParams `json:"Response"`
}

func (r *DescribeRaspEventDetailCWPResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventDetailCWPResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventDetailTCSSRequestParams struct {
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRaspEventDetailTCSSRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRaspEventDetailTCSSRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventDetailTCSSRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspEventDetailTCSSRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventDetailTCSSResponseParams struct {
	// Application protection event details
	Data *RaspEventDetail `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspEventDetailTCSSResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspEventDetailTCSSResponseParams `json:"Response"`
}

func (r *DescribeRaspEventDetailTCSSResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventDetailTCSSResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventTCSSRequestParams struct {
	// Filter criteria: Keywords: ip or hostname, VulKeywords vulnerability name or CveId for fuzzy query; AttackTypeKeywords attack type for fuzzy query; Quuid, VulId, EventType, Status for precise match, CreateBeginTime, CreateEndTime time period query
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort columns, which are strictly equal: CreateTime for creation time, MergeTime for merge time, and Count for event count
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRaspEventTCSSRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria: Keywords: ip or hostname, VulKeywords vulnerability name or CveId for fuzzy query; AttackTypeKeywords attack type for fuzzy query; Quuid, VulId, EventType, Status for precise match, CreateBeginTime, CreateEndTime time period query
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort columns, which are strictly equal: CreateTime for creation time, MergeTime for merge time, and Count for event count
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRaspEventTCSSRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventTCSSRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspEventTCSSRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspEventTCSSResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Vulnerability Defense Event List
	List []*RaspEvent `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspEventTCSSResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspEventTCSSResponseParams `json:"Response"`
}

func (r *DescribeRaspEventTCSSResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspEventTCSSResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspLicenseListRequestParams struct {
	// Filter criteria
	// -AssetType Asset type (CWP Host security asset, TCSS_HOST Container host node, TCSS_EKS Container super node)
	// -PluginStatus Plug-in status (Normal, Abnormal, Inactive)
	// -ProtectionSwitch (Enable, Disable)
	// -ProtectionVersion Protection edition (Rasp authorization package, Unauthorized)
	// -Instance ID
	// -Instance name
	// -InstanceIP Instance IP (private IP address/public network IP)
	// -Node ID of the container node
	// -NodeName Container node name
	// -Container Cluster ID
	// -Cluster name of the container cluster
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: ASC, DESC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort value
	// -Latest update time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRaspLicenseListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// -AssetType Asset type (CWP Host security asset, TCSS_HOST Container host node, TCSS_EKS Container super node)
	// -PluginStatus Plug-in status (Normal, Abnormal, Inactive)
	// -ProtectionSwitch (Enable, Disable)
	// -ProtectionVersion Protection edition (Rasp authorization package, Unauthorized)
	// -Instance ID
	// -Instance name
	// -InstanceIP Instance IP (private IP address/public network IP)
	// -Node ID of the container node
	// -NodeName Container node name
	// -Container Cluster ID
	// -Cluster name of the container cluster
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: ASC, DESC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort value
	// -Latest update time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRaspLicenseListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspLicenseListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspLicenseListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspLicenseListResponseParams struct {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// array object
	List []*RaspLicenseList `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspLicenseListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspLicenseListResponseParams `json:"Response"`
}

func (r *DescribeRaspLicenseListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspLicenseListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspMaxCpuRequestParams struct {

}

type DescribeRaspMaxCpuRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeRaspMaxCpuRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspMaxCpuRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspMaxCpuRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspMaxCpuResponseParams struct {
	// rasp current maximum cpu limitation, larger than 0, less than or equal to 100, default 100 indicates no restriction
	RaspMaxCpu *uint64 `json:"RaspMaxCpu,omitnil,omitempty" name:"RaspMaxCpu"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspMaxCpuResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspMaxCpuResponseParams `json:"Response"`
}

func (r *DescribeRaspMaxCpuResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspMaxCpuResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspMemShellDetailTCSSRequestParams struct {
	// Java Webshell event id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRaspMemShellDetailTCSSRequest struct {
	*tchttp.BaseRequest
	
	// Java Webshell event id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRaspMemShellDetailTCSSRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspMemShellDetailTCSSRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspMemShellDetailTCSSRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspMemShellDetailTCSSResponseParams struct {
	// Event details
	Data *RaspMemShellDetail `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspMemShellDetailTCSSResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspMemShellDetailTCSSResponseParams `json:"Response"`
}

func (r *DescribeRaspMemShellDetailTCSSResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspMemShellDetailTCSSResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspMemShellListTCSSRequestParams struct {
	// Filter criteria: InstanceID, IP, MachineName host name fuzzy query, Type, Status for precise match, CreateBeginTime, CreateEndTime time period
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRaspMemShellListTCSSRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria: InstanceID, IP, MachineName host name fuzzy query, Type, Status for precise match, CreateBeginTime, CreateEndTime time period
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRaspMemShellListTCSSRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspMemShellListTCSSRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspMemShellListTCSSRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspMemShellListTCSSResponseParams struct {
	// Event list
	List []*RaspMemShellEvent `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspMemShellListTCSSResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspMemShellListTCSSResponseParams `json:"Response"`
}

func (r *DescribeRaspMemShellListTCSSResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspMemShellListTCSSResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspPluginListRequestParams struct {
	// Asset type
	// -CWP host security asset
	// -TCSS_HOST container host node
	// -TCSS_EKS Container Super Node
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Machine unique ID
	QUUID *string `json:"QUUID,omitnil,omitempty" name:"QUUID"`

	// Filter parameters
	// PluginStatus Plug-in status (Injecting, Injected successfully, Timed out, Plug-in exit, Injection failure)
	// process PID
	// Main class name of the process
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeRaspPluginListRequest struct {
	*tchttp.BaseRequest
	
	// Asset type
	// -CWP host security asset
	// -TCSS_HOST container host node
	// -TCSS_EKS Container Super Node
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Machine unique ID
	QUUID *string `json:"QUUID,omitnil,omitempty" name:"QUUID"`

	// Filter parameters
	// PluginStatus Plug-in status (Injecting, Injected successfully, Timed out, Plug-in exit, Injection failure)
	// process PID
	// Main class name of the process
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeRaspPluginListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspPluginListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AssetType")
	delete(f, "QUUID")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspPluginListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspPluginListResponseParams struct {
	// List details
	List []*RaspLicensePlugin `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspPluginListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspPluginListResponseParams `json:"Response"`
}

func (r *DescribeRaspPluginListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspPluginListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspRuleVulsRequestParams struct {
	// Filter criteria. Name=WhiteType is required. 0: indicates a list of vulnerabilities with custom scope. 1: indicates a list of all request ranges.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries to be returned. Default value: 10. Maximum value: 1000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeRaspRuleVulsRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria. Name=WhiteType is required. 0: indicates a list of vulnerabilities with custom scope. 1: indicates a list of all request ranges.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries to be returned. Default value: 10. Maximum value: 1000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeRaspRuleVulsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspRuleVulsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspRuleVulsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspRuleVulsResponseParams struct {
	// List content
	List []*RaspRuleVul `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspRuleVulsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspRuleVulsResponseParams `json:"Response"`
}

func (r *DescribeRaspRuleVulsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspRuleVulsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspRulesRequestParams struct {
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeRaspRulesRequest struct {
	*tchttp.BaseRequest
	
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeRaspRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRaspRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRaspRulesResponseParams struct {
	// List content
	List []*RaspRule `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRaspRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRaspRulesResponseParams `json:"Response"`
}

func (r *DescribeRaspRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRaspRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRecommendedProtectCpuRequestParams struct {

}

type DescribeRecommendedProtectCpuRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeRecommendedProtectCpuRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRecommendedProtectCpuRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecommendedProtectCpuRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRecommendedProtectCpuResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRecommendedProtectCpuResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRecommendedProtectCpuResponseParams `json:"Response"`
}

func (r *DescribeRecommendedProtectCpuResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRecommendedProtectCpuResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventInfoRequestParams struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeReverseShellEventInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeReverseShellEventInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellEventInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellEventInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventInfoResponseParams struct {
	// Reverse shell details
	ReverseShellEventInfo *ReverseShellEventInfo `json:"ReverseShellEventInfo,omitnil,omitempty" name:"ReverseShellEventInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellEventInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellEventInfoResponseParams `json:"Response"`
}

func (r *DescribeReverseShellEventInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellEventInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventsRequestParams struct {
	// Number of returns, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (host's private IP address|process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests. asc: ascending order; desc: descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. CreateTime: occurrence time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeReverseShellEventsRequest struct {
	*tchttp.BaseRequest
	
	// Number of returns, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (host's private IP address|process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests. asc: ascending order; desc: descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. CreateTime: occurrence time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeReverseShellEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventsResponseParams struct {
	// List content
	List []*ReverseShell `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellEventsResponseParams `json:"Response"`
}

func (r *DescribeReverseShellEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellRulesAggregationRequestParams struct {
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeReverseShellRulesAggregationRequest struct {
	*tchttp.BaseRequest
	
	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeReverseShellRulesAggregationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellRulesAggregationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellRulesAggregationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellRulesAggregationResponseParams struct {
	// List content
	List []*ReverseShellRuleAggregation `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellRulesAggregationResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellRulesAggregationResponseParams `json:"Response"`
}

func (r *DescribeReverseShellRulesAggregationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellRulesAggregationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellRulesRequestParams struct {
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - whether required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeReverseShellRulesRequest struct {
	*tchttp.BaseRequest
	
	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>Keywords - String - whether required: no - keyword (process name)</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeReverseShellRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellRulesResponseParams struct {
	// List content
	List []*ReverseShellRule `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellRulesResponseParams `json:"Response"`
}

func (r *DescribeReverseShellRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellSystemPolicyConfigRequestParams struct {
	// <p>Product type. 0:CWP (default); 1:CSC</p>
	ProductType *int64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

type DescribeReverseShellSystemPolicyConfigRequest struct {
	*tchttp.BaseRequest
	
	// <p>Product type. 0:CWP (default); 1:CSC</p>
	ProductType *int64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

func (r *DescribeReverseShellSystemPolicyConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellSystemPolicyConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ProductType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellSystemPolicyConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellSystemPolicyConfigResponseParams struct {
	// <p>Display intranet alerts</p>
	InnerNetAlarmShow *bool `json:"InnerNetAlarmShow,omitnil,omitempty" name:"InnerNetAlarmShow"`

	// <p>Display intranet IP addresses</p>
	InnerIPShow *bool `json:"InnerIPShow,omitnil,omitempty" name:"InnerIPShow"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellSystemPolicyConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellSystemPolicyConfigResponseParams `json:"Response"`
}

func (r *DescribeReverseShellSystemPolicyConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellSystemPolicyConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskBatchStatusRequestParams struct {
	// Operation event type. MALWARE: virus scanning; HOST_LOGIN: abnormal log-in; BRUTE_ATTACK: password cracking; MALICIOUS_REQUEST: malicious request; BASH_EVENT: high-risk command; PRIVILEGE_EVENT: local privilege escalation; REVERSE_SHELL: reverse shell.
	RiskType *string `json:"RiskType,omitnil,omitempty" name:"RiskType"`
}

type DescribeRiskBatchStatusRequest struct {
	*tchttp.BaseRequest
	
	// Operation event type. MALWARE: virus scanning; HOST_LOGIN: abnormal log-in; BRUTE_ATTACK: password cracking; MALICIOUS_REQUEST: malicious request; BASH_EVENT: high-risk command; PRIVILEGE_EVENT: local privilege escalation; REVERSE_SHELL: reverse shell.
	RiskType *string `json:"RiskType,omitnil,omitempty" name:"RiskType"`
}

func (r *DescribeRiskBatchStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskBatchStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RiskType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskBatchStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskBatchStatusResponseParams struct {
	// Handling: deletion operation in progress
	// Pending: no tasks are being executed
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskBatchStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskBatchStatusResponseParams `json:"Response"`
}

func (r *DescribeRiskBatchStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskBatchStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsEventInfoRequestParams struct {
	// Malicious request event ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRiskDnsEventInfoRequest struct {
	*tchttp.BaseRequest
	
	// Malicious request event ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRiskDnsEventInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsEventInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskDnsEventInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsEventInfoResponseParams struct {
	// Malicious request event details
	Info *RiskDnsEvent `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskDnsEventInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskDnsEventInfoResponseParams `json:"Response"`
}

func (r *DescribeRiskDnsEventInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsEventInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsEventListRequestParams struct {
	// <li>MachineName  Host name</li>
	// 
	// 
	// 
	// Instance ID  
	// 
	//  
	// 
	// IP    Private IP address or public IP address - Required: No - Filter by host IP or alias</li>
	// <li>HostId - String - required: no - host ID</li>
	// <li>AgentId - String - required: no - client ID</li>
	// <li>PolicyType - String - required: no - policy type: 0 - system policy; 1 - user-defined policy</li>
	// <li>Domain - String - Required: No - Domain name (URL-encode the Domain name first, then base64 it)</li>
	// <li>HandleStatus - String - required: no - filter by status: 0 - pending; 2 - trusted; 3 - untrusted</li>
	// <li>BeginTime - String - Required: no - start time of last access</li>
	// <li>EndTime - String - required: no - end time of last access</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: sort by number of requests [asc: ascending order|desc: descending order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [AccessCount: number of requests|LastTime: last request time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRiskDnsEventListRequest struct {
	*tchttp.BaseRequest
	
	// <li>MachineName  Host name</li>
	// 
	// 
	// 
	// Instance ID  
	// 
	//  
	// 
	// IP    Private IP address or public IP address - Required: No - Filter by host IP or alias</li>
	// <li>HostId - String - required: no - host ID</li>
	// <li>AgentId - String - required: no - client ID</li>
	// <li>PolicyType - String - required: no - policy type: 0 - system policy; 1 - user-defined policy</li>
	// <li>Domain - String - Required: No - Domain name (URL-encode the Domain name first, then base64 it)</li>
	// <li>HandleStatus - String - required: no - filter by status: 0 - pending; 2 - trusted; 3 - untrusted</li>
	// <li>BeginTime - String - Required: no - start time of last access</li>
	// <li>EndTime - String - required: no - end time of last access</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting method: sort by number of requests [asc: ascending order|desc: descending order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [AccessCount: number of requests|LastTime: last request time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRiskDnsEventListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsEventListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskDnsEventListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsEventListResponseParams struct {
	// Malicious Request Event List
	List []*RiskDnsEvent `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskDnsEventListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskDnsEventListResponseParams `json:"Response"`
}

func (r *DescribeRiskDnsEventListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsEventListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsInfoRequestParams struct {
	// Malicious request - event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeRiskDnsInfoRequest struct {
	*tchttp.BaseRequest
	
	// Malicious request - event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeRiskDnsInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskDnsInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsInfoResponseParams struct {
	// Malicious request event details
	RiskDnsInfo *RiskDnsList `json:"RiskDnsInfo,omitnil,omitempty" name:"RiskDnsInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskDnsInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskDnsInfoResponseParams `json:"Response"`
}

func (r *DescribeRiskDnsInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsListRequestParams struct {
	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>Url - String - required: no - filter by URL</li>
	// <li>Status - String - required: no - filter by status: 0: pending; 2: trusted; 3: untrusted</li>
	// <li>MergeBeginTime - String - required: no - start time of the last access</li>
	// <li>MergeEndTime - String - required: no - end time of the last access</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests: asc - ascending order/desc - descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: AccessCount - number of requests; LastTime - last request time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRiskDnsListRequest struct {
	*tchttp.BaseRequest
	
	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>Url - String - required: no - filter by URL</li>
	// <li>Status - String - required: no - filter by status: 0: pending; 2: trusted; 3: untrusted</li>
	// <li>MergeBeginTime - String - required: no - start time of the last access</li>
	// <li>MergeEndTime - String - required: no - end time of the last access</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: sort by number of requests: asc - ascending order/desc - descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: AccessCount - number of requests; LastTime - last request time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRiskDnsListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskDnsListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsListResponseParams struct {
	// Arrays of malicious request lists
	RiskDnsList []*RiskDnsList `json:"RiskDnsList,omitnil,omitempty" name:"RiskDnsList"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskDnsListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskDnsListResponseParams `json:"Response"`
}

func (r *DescribeRiskDnsListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsPolicyListRequestParams struct {
	// <li>PolicyType - int - required: no - policy type</li>
	// <li>PolicyName - string - required: no - policy name</li>
	// <li>Domain - string - required: no - domain name (URL encoding and then Base64 encoding on the domain name)</li>
	// <li>PolicyAction - int - required: no - policy action</li>
	// <li>IsEnabled - int - required: no - whether the policy is enabled</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [HostScope|UpdateTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRiskDnsPolicyListRequest struct {
	*tchttp.BaseRequest
	
	// <li>PolicyType - int - required: no - policy type</li>
	// <li>PolicyName - string - required: no - policy name</li>
	// <li>Domain - string - required: no - domain name (URL encoding and then Base64 encoding on the domain name)</li>
	// <li>PolicyAction - int - required: no - policy action</li>
	// <li>IsEnabled - int - required: no - whether the policy is enabled</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [HostScope|UpdateTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRiskDnsPolicyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsPolicyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskDnsPolicyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskDnsPolicyListResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List
	List []*RiskDnsPolicy `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskDnsPolicyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskDnsPolicyListResponseParams `json:"Response"`
}

func (r *DescribeRiskDnsPolicyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskDnsPolicyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskProcessEventsRequestParams struct {
	// Filtering criteria
	// <li>HostId - String - required: no - host ID</li>
	// <li>IpOrName - String - required: no - host IP or host name</li>
	// <li>VirusName - String - required: no - virus name</li>
	// <li>ProcessId - String - required: no - process ID</li>
	// <li>FilePath - String - required: no - process path</li>
	// <li>BeginTime - String - required: no - process startup time - begin</li>
	// <li>BeginTime - String - required: no - process startup time - end</li>
	// <li>Status - String - required: no - status for filtering: 0: pending; 1: scanning; 2: scanned; 3: exited; 4: trusted</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting order: [ASC|DESC]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// [StartTime: Process start time | DetectTime: Last detection time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRiskProcessEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// <li>HostId - String - required: no - host ID</li>
	// <li>IpOrName - String - required: no - host IP or host name</li>
	// <li>VirusName - String - required: no - virus name</li>
	// <li>ProcessId - String - required: no - process ID</li>
	// <li>FilePath - String - required: no - process path</li>
	// <li>BeginTime - String - required: no - process startup time - begin</li>
	// <li>BeginTime - String - required: no - process startup time - end</li>
	// <li>Status - String - required: no - status for filtering: 0: pending; 1: scanning; 2: scanned; 3: exited; 4: trusted</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting order: [ASC|DESC]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// [StartTime: Process start time | DetectTime: Last detection time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRiskProcessEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskProcessEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskProcessEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskProcessEventsResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of Exceptional Processes
	List []*RiskProcessEvent `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskProcessEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskProcessEventsResponseParams `json:"Response"`
}

func (r *DescribeRiskProcessEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskProcessEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSafeInfoRequestParams struct {

}

type DescribeSafeInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSafeInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSafeInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSafeInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSafeInfoResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSafeInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSafeInfoResponseParams `json:"Response"`
}

func (r *DescribeSafeInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSafeInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanMalwareScheduleRequestParams struct {

}

type DescribeScanMalwareScheduleRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScanMalwareScheduleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanMalwareScheduleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScanMalwareScheduleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanMalwareScheduleResponseParams struct {
	// Scan progress (unit: %)
	Schedule *int64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// Number of risk files, which is only available after the scan is completed.
	RiskFileNumber *int64 `json:"RiskFileNumber,omitnil,omitempty" name:"RiskFileNumber"`

	// Whether scan in progress
	IsSchedule *bool `json:"IsSchedule,omitnil,omitempty" name:"IsSchedule"`

	// 0 - never scanned; 1 - scan in progress; 2 - scan completed; 3 - stop in progress; 4 - stop completed
	ScanStatus *uint64 `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScanMalwareScheduleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanMalwareScheduleResponseParams `json:"Response"`
}

func (r *DescribeScanMalwareScheduleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanMalwareScheduleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanScheduleRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DescribeScanScheduleRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *DescribeScanScheduleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanScheduleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScanScheduleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanScheduleResponseParams struct {
	// Detection progress
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScanScheduleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanScheduleResponseParams `json:"Response"`
}

func (r *DescribeScanScheduleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanScheduleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanStateRequestParams struct {
	// Module type. Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Filter parameters
	// <li>StrategyId: Baseline policy ID, which is required only if ModuleType is set to Baseline</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeScanStateRequest struct {
	*tchttp.BaseRequest
	
	// Module type. Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Filter parameters
	// <li>StrategyId: Baseline policy ID, which is required only if ModuleType is set to Baseline</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeScanStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanStateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ModuleType")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScanStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanStateResponseParams struct {
	// 0 - never scanned; 1 - scan in progress; 2 - scan completed; 3 - stop in progress; 4 - stop completed
	ScanState *uint64 `json:"ScanState,omitnil,omitempty" name:"ScanState"`

	// Scan progress
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Vulnerability ID of task scan
	VulId []*uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// 0 - one-click detection; 1 - regular detection
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Scan start time
	ScanBeginTime *string `json:"ScanBeginTime,omitnil,omitempty" name:"ScanBeginTime"`

	// Number of vulnerabilities scanned
	RiskEventCount *uint64 `json:"RiskEventCount,omitnil,omitempty" name:"RiskEventCount"`

	// Scan end time
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// Task scan KB No.
	KBNumber []*string `json:"KBNumber,omitnil,omitempty" name:"KBNumber"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScanStateResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanStateResponseParams `json:"Response"`
}

func (r *DescribeScanStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanTaskDetailsRequestParams struct {
	// Module type. Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeScanTaskDetailsRequest struct {
	*tchttp.BaseRequest
	
	// Module type. Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeScanTaskDetailsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanTaskDetailsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ModuleType")
	delete(f, "TaskId")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScanTaskDetailsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanTaskDetailsResponseParams struct {
	// List of scan task information
	ScanTaskDetailList []*ScanTaskDetails `json:"ScanTaskDetailList,omitnil,omitempty" name:"ScanTaskDetailList"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Total number of scanned machines
	ScanMachineCount *uint64 `json:"ScanMachineCount,omitnil,omitempty" name:"ScanMachineCount"`

	// Number of machines with risks detected
	RiskMachineCount *uint64 `json:"RiskMachineCount,omitnil,omitempty" name:"RiskMachineCount"`

	// Scan start time
	ScanBeginTime *string `json:"ScanBeginTime,omitnil,omitempty" name:"ScanBeginTime"`

	// Scan end time
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// Scan time
	ScanTime *uint64 `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scan progress
	ScanProgress *uint64 `json:"ScanProgress,omitnil,omitempty" name:"ScanProgress"`

	// Remaining scan time
	ScanLeftTime *uint64 `json:"ScanLeftTime,omitnil,omitempty" name:"ScanLeftTime"`

	// Scan content
	ScanContent []*string `json:"ScanContent,omitnil,omitempty" name:"ScanContent"`

	// Vulnerability information
	VulInfo []*VulDetailInfo `json:"VulInfo,omitnil,omitempty" name:"VulInfo"`

	// Number of risk events
	RiskEventCount *uint64 `json:"RiskEventCount,omitnil,omitempty" name:"RiskEventCount"`

	// 0 - one-click detection; 1 - regular detection
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// whether all tasks are being stopped (true: yes)
	StoppingAll *bool `json:"StoppingAll,omitnil,omitempty" name:"StoppingAll"`

	// Number of vulnerabilities scanned
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// Scan info when scanning kb separately
	PatchInfo []*PatchInfoDetail `json:"PatchInfo,omitnil,omitempty" name:"PatchInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScanTaskDetailsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanTaskDetailsResponseParams `json:"Response"`
}

func (r *DescribeScanTaskDetailsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanTaskDetailsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanTaskStatusRequestParams struct {
	// Module type: Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`
}

type DescribeScanTaskStatusRequest struct {
	*tchttp.BaseRequest
	
	// Module type: Malware (Trojan), Vul (vulnerability), and Baseline are currently available.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`
}

func (r *DescribeScanTaskStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanTaskStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ModuleType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScanTaskStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanTaskStatusResponseParams struct {
	// Task scan status list
	State *TaskStatus `json:"State,omitnil,omitempty" name:"State"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScanTaskStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanTaskStatusResponseParams `json:"Response"`
}

func (r *DescribeScanTaskStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanTaskStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanVulSettingRequestParams struct {

}

type DescribeScanVulSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScanVulSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanVulSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScanVulSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanVulSettingResponseParams struct {
	// Vulnerability type: 1 - web-cms vulnerabilities; 2 - application vulnerabilities; 4 - Linux software vulnerabilities; 5 - Windows system vulnerabilities
	VulCategories *string `json:"VulCategories,omitnil,omitempty" name:"VulCategories"`

	// Severity level: 1 - low-risk; 2 - medium-risk; 3 - high-risk; 4 - critical (multiple selections are separated by English commas)
	VulLevels *string `json:"VulLevels,omitnil,omitempty" name:"VulLevels"`

	// Regular detection interval (days)
	TimerInterval *uint64 `json:"TimerInterval,omitnil,omitempty" name:"TimerInterval"`

	// Regular detection time, such as 00:00
	TimerTime *string `json:"TimerTime,omitnil,omitempty" name:"TimerTime"`

	// Whether an emergency vulnerability: 0 - no; 1 - yes
	VulEmergency *uint64 `json:"VulEmergency,omitnil,omitempty" name:"VulEmergency"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Whether enabled
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// One-click scan timeout duration, such as 1800 seconds
	ClickTimeout *uint64 `json:"ClickTimeout,omitnil,omitempty" name:"ClickTimeout"`

	// If empty, scan all Pro Edition, Flagship Edition, and Lite hosts by default. If not empty, only scan selected hosts.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0: version comparison, 2: version comparison + POC.
	ScanMethod *uint64 `json:"ScanMethod,omitnil,omitempty" name:"ScanMethod"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScanVulSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanVulSettingResponseParams `json:"Response"`
}

func (r *DescribeScanVulSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanVulSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenAttackHotspotRequestParams struct {

}

type DescribeScreenAttackHotspotRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenAttackHotspotRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenAttackHotspotRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenAttackHotspotRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenAttackHotspotResponseParams struct {
	// Attack hotspot list
	List []*ScreenAttackHotspot `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenAttackHotspotResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenAttackHotspotResponseParams `json:"Response"`
}

func (r *DescribeScreenAttackHotspotResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenAttackHotspotResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenBroadcastsRequestParams struct {

}

type DescribeScreenBroadcastsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenBroadcastsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenBroadcastsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenBroadcastsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenBroadcastsResponseParams struct {
	// Broadcasting article list
	List []*ScreenBroadcasts `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenBroadcastsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenBroadcastsResponseParams `json:"Response"`
}

func (r *DescribeScreenBroadcastsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenBroadcastsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenDefenseTrendsRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeScreenDefenseTrendsRequest struct {
	*tchttp.BaseRequest
	
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

func (r *DescribeScreenDefenseTrendsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenDefenseTrendsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenDefenseTrendsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenDefenseTrendsResponseParams struct {
	// Trend charts of detailed statistics data
	TrendsChart []*ScreenTrendsChart `json:"TrendsChart,omitnil,omitempty" name:"TrendsChart"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenDefenseTrendsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenDefenseTrendsResponseParams `json:"Response"`
}

func (r *DescribeScreenDefenseTrendsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenDefenseTrendsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenEmergentMsgRequestParams struct {

}

type DescribeScreenEmergentMsgRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenEmergentMsgRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenEmergentMsgRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenEmergentMsgRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenEmergentMsgResponseParams struct {
	// Notification content
	MessageInfo []*ScreenEmergentMsg `json:"MessageInfo,omitnil,omitempty" name:"MessageInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenEmergentMsgResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenEmergentMsgResponseParams `json:"Response"`
}

func (r *DescribeScreenEmergentMsgResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenEmergentMsgResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenEventsCntRequestParams struct {
	// Data type: 0 - total number of pending risks; 1: total number of affected assets. The default is 0.
	BusinessType *uint64 `json:"BusinessType,omitnil,omitempty" name:"BusinessType"`
}

type DescribeScreenEventsCntRequest struct {
	*tchttp.BaseRequest
	
	// Data type: 0 - total number of pending risks; 1: total number of affected assets. The default is 0.
	BusinessType *uint64 `json:"BusinessType,omitnil,omitempty" name:"BusinessType"`
}

func (r *DescribeScreenEventsCntRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenEventsCntRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BusinessType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenEventsCntRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenEventsCntResponseParams struct {
	// Event statistics details
	Info []*ScreenEventsCnt `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenEventsCntResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenEventsCntResponseParams `json:"Response"`
}

func (r *DescribeScreenEventsCntResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenEventsCntResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenGeneralStatRequestParams struct {

}

type DescribeScreenGeneralStatRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenGeneralStatRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenGeneralStatRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenGeneralStatRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenGeneralStatResponseParams struct {
	// Value of name: online, shutdown/offline, not installed
	// Value: indicates the corresponding quantity
	Machines []*ScreenNameValue `json:"Machines,omitnil,omitempty" name:"Machines"`

	// Value of name: Ultimate Edition, Pro Edition, Basic Edition
	// Value: indicates the corresponding number
	Protection []*ScreenNameValue `json:"Protection,omitnil,omitempty" name:"Protection"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenGeneralStatResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenGeneralStatResponseParams `json:"Response"`
}

func (r *DescribeScreenGeneralStatResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenGeneralStatResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenHostInvasionRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type DescribeScreenHostInvasionRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

func (r *DescribeScreenHostInvasionRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenHostInvasionRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenHostInvasionRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenHostInvasionResponseParams struct {
	// List of network attack event
	DefendAttackLog []*ScreenDefendAttackLog `json:"DefendAttackLog,omitnil,omitempty" name:"DefendAttackLog"`

	// List of intrusion detection event
	InvasionEvents []*ScreenInvasion `json:"InvasionEvents,omitnil,omitempty" name:"InvasionEvents"`

	// List of vulnerability event
	Vul []*ScreenVulInfo `json:"Vul,omitnil,omitempty" name:"Vul"`

	// List of baseline events
	Baseline []*ScreenBaselineInfo `json:"Baseline,omitnil,omitempty" name:"Baseline"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenHostInvasionResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenHostInvasionResponseParams `json:"Response"`
}

func (r *DescribeScreenHostInvasionResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenHostInvasionResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenMachineRegionsRequestParams struct {

}

type DescribeScreenMachineRegionsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenMachineRegionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenMachineRegionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenMachineRegionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenMachineRegionsResponseParams struct {
	// List details
	List []*ScreenRegionInfo `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenMachineRegionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenMachineRegionsResponseParams `json:"Response"`
}

func (r *DescribeScreenMachineRegionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenMachineRegionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenMachinesRequestParams struct {
	// Host region
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Private IP address or host alias
	MachineIpOrAlias *string `json:"MachineIpOrAlias,omitnil,omitempty" name:"MachineIpOrAlias"`

	// Risky host type. 0: all types; 1: risky host; 2: host with potential risks; 3: host that is shut down or offline; 4: host with no risk.
	SecurityStatus *uint64 `json:"SecurityStatus,omitnil,omitempty" name:"SecurityStatus"`
}

type DescribeScreenMachinesRequest struct {
	*tchttp.BaseRequest
	
	// Host region
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Private IP address or host alias
	MachineIpOrAlias *string `json:"MachineIpOrAlias,omitnil,omitempty" name:"MachineIpOrAlias"`

	// Risky host type. 0: all types; 1: risky host; 2: host with potential risks; 3: host that is shut down or offline; 4: host with no risk.
	SecurityStatus *uint64 `json:"SecurityStatus,omitnil,omitempty" name:"SecurityStatus"`
}

func (r *DescribeScreenMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MachineRegion")
	delete(f, "MachineIpOrAlias")
	delete(f, "SecurityStatus")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenMachinesResponseParams struct {
	// List details
	List []*ScreenRegionMachines `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenMachinesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenMachinesResponseParams `json:"Response"`
}

func (r *DescribeScreenMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenProtectionCntRequestParams struct {

}

type DescribeScreenProtectionCntRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenProtectionCntRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenProtectionCntRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenProtectionCntRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenProtectionCntResponseParams struct {
	// Introduction of CWPP protection engine 
	List []*ScreenProtectionCnt `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenProtectionCntResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenProtectionCntResponseParams `json:"Response"`
}

func (r *DescribeScreenProtectionCntResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenProtectionCntResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenProtectionStatRequestParams struct {

}

type DescribeScreenProtectionStatRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeScreenProtectionStatRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenProtectionStatRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenProtectionStatRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenProtectionStatResponseParams struct {
	// File scanning status. 0: never detected, or asset payment situation; 1: detected and malicious files exist; 2: detected and isolation protection is not enabled; 3: detected and protection is enabled with no risk.
	// Brute force crack status. 0: protection not enabled or asset payment situation; 1: protection enabled; 2: events pending to be processed exist
	// Vulnerability scan status. 0: never detected, or 0 asset payment situation; 1: vulnerability risks exist; 2: no risk
	// Baseline detection status. 0: never detected, or 0 asset payment situation; 1: baseline risks exist; 2: no risk
	Info []*ScreenProtection `json:"Info,omitnil,omitempty" name:"Info"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenProtectionStatResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenProtectionStatResponseParams `json:"Response"`
}

func (r *DescribeScreenProtectionStatResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenProtectionStatResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenRiskAssetsTopRequestParams struct {
	// Statistics type: 0: potential threat; 1: compromised; 2: vulnerability; 3: baseline
	BusinessType *uint64 `json:"BusinessType,omitnil,omitempty" name:"BusinessType"`
}

type DescribeScreenRiskAssetsTopRequest struct {
	*tchttp.BaseRequest
	
	// Statistics type: 0: potential threat; 1: compromised; 2: vulnerability; 3: baseline
	BusinessType *uint64 `json:"BusinessType,omitnil,omitempty" name:"BusinessType"`
}

func (r *DescribeScreenRiskAssetsTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenRiskAssetsTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BusinessType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeScreenRiskAssetsTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScreenRiskAssetsTopResponseParams struct {
	// Name: Display host ip and region. value: Number of events.
	Chart []*ScreenNameValue `json:"Chart,omitnil,omitempty" name:"Chart"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeScreenRiskAssetsTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScreenRiskAssetsTopResponseParams `json:"Response"`
}

func (r *DescribeScreenRiskAssetsTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScreenRiskAssetsTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSearchLogsRequestParams struct {

}

type DescribeSearchLogsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSearchLogsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSearchLogsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSearchLogsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSearchLogsResponseParams struct {
	// Search history. The latest 10 entries will be kept.
	Data []*string `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSearchLogsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSearchLogsResponseParams `json:"Response"`
}

func (r *DescribeSearchLogsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSearchLogsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSearchTemplatesRequestParams struct {
	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeSearchTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Quantity of returns. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeSearchTemplatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSearchTemplatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSearchTemplatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSearchTemplatesResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Template list
	List []*SearchTemplate `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSearchTemplatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSearchTemplatesResponseParams `json:"Response"`
}

func (r *DescribeSearchTemplatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSearchTemplatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityBroadcastInfoRequestParams struct {
	// Article ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeSecurityBroadcastInfoRequest struct {
	*tchttp.BaseRequest
	
	// Article ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeSecurityBroadcastInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityBroadcastInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityBroadcastInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityBroadcastInfoResponseParams struct {
	// Security report article details
	BroadcastInfo *BroadcastInfo `json:"BroadcastInfo,omitnil,omitempty" name:"BroadcastInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecurityBroadcastInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityBroadcastInfoResponseParams `json:"Response"`
}

func (r *DescribeSecurityBroadcastInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityBroadcastInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityBroadcastsRequestParams struct {
	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of records to return, which is 10 by default, and 0 = all.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter release date: start time
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// Filter release date: end time
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`

	// Filter by security report type. 0 - emergency notification; 1 - feature update; 2 - industry honor; 3 - version release; 4 - practical tutorial.
	BroadcastType *string `json:"BroadcastType,omitnil,omitempty" name:"BroadcastType"`
}

type DescribeSecurityBroadcastsRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of records to return, which is 10 by default, and 0 = all.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter release date: start time
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// Filter release date: end time
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`

	// Filter by security report type. 0 - emergency notification; 1 - feature update; 2 - industry honor; 3 - version release; 4 - practical tutorial.
	BroadcastType *string `json:"BroadcastType,omitnil,omitempty" name:"BroadcastType"`
}

func (r *DescribeSecurityBroadcastsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityBroadcastsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "BeginDate")
	delete(f, "EndDate")
	delete(f, "BroadcastType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityBroadcastsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityBroadcastsResponseParams struct {
	// List
	List []*Broadcasts `json:"List,omitnil,omitempty" name:"List"`

	// Total count.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecurityBroadcastsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityBroadcastsResponseParams `json:"Response"`
}

func (r *DescribeSecurityBroadcastsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityBroadcastsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityDynamicsRequestParams struct {
	// Number of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeSecurityDynamicsRequest struct {
	*tchttp.BaseRequest
	
	// Number of returns. The maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeSecurityDynamicsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityDynamicsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityDynamicsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityDynamicsResponseParams struct {
	// Security event message array
	SecurityDynamics []*SecurityDynamic `json:"SecurityDynamics,omitnil,omitempty" name:"SecurityDynamics"`

	// Total number of records
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecurityDynamicsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityDynamicsResponseParams `json:"Response"`
}

func (r *DescribeSecurityDynamicsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityDynamicsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityEventStatRequestParams struct {
	// This API has no filtering criteria.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeSecurityEventStatRequest struct {
	*tchttp.BaseRequest
	
	// This API has no filtering criteria.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeSecurityEventStatRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityEventStatRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityEventStatRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityEventStatResponseParams struct {
	// Trojan event statistics
	MalwareStat *EventStat `json:"MalwareStat,omitnil,omitempty" name:"MalwareStat"`

	// Statistics of cross-region log-in events
	HostLoginStat *EventStat `json:"HostLoginStat,omitnil,omitempty" name:"HostLoginStat"`

	// Statistics of brute force cracking events
	BruteAttackStat *EventStat `json:"BruteAttackStat,omitnil,omitempty" name:"BruteAttackStat"`

	// Malicious request event statistics
	MaliciousRequestStat *EventStat `json:"MaliciousRequestStat,omitnil,omitempty" name:"MaliciousRequestStat"`

	// Statistics of local privilege escalation events
	PrivilegeStat *EventStat `json:"PrivilegeStat,omitnil,omitempty" name:"PrivilegeStat"`

	// Reverse shell event statistics
	ReverseShellStat *EventStat `json:"ReverseShellStat,omitnil,omitempty" name:"ReverseShellStat"`

	// Statistics of high-risk command events
	HighRiskBashStat *EventStat `json:"HighRiskBashStat,omitnil,omitempty" name:"HighRiskBashStat"`

	// Network attack event statistics
	AttackLogsStat *EventStat `json:"AttackLogsStat,omitnil,omitempty" name:"AttackLogsStat"`

	// Statistics of high-risk vulnerability events
	VulHighStat *EventStat `json:"VulHighStat,omitnil,omitempty" name:"VulHighStat"`

	// Statistics of medium-risk vulnerability events
	VulNormalStat *EventStat `json:"VulNormalStat,omitnil,omitempty" name:"VulNormalStat"`

	// Statistics of low-risk vulnerability events
	VulLowStat *EventStat `json:"VulLowStat,omitnil,omitempty" name:"VulLowStat"`

	// Statistics of high-risk baseline vulnerability events
	BaselineHighStat *EventStat `json:"BaselineHighStat,omitnil,omitempty" name:"BaselineHighStat"`

	// Statistics of medium-risk baseline vulnerability events
	BaselineNormalStat *EventStat `json:"BaselineNormalStat,omitnil,omitempty" name:"BaselineNormalStat"`

	// Statistics of low-risk baseline vulnerability events
	BaselineLowStat *EventStat `json:"BaselineLowStat,omitnil,omitempty" name:"BaselineLowStat"`

	// Total number of machines with unfixed security events
	MachineTotalAffectNum *uint64 `json:"MachineTotalAffectNum,omitnil,omitempty" name:"MachineTotalAffectNum"`

	// Total number of machines with unfixed intrusion security events
	InvasionTotalAffectNum *uint64 `json:"InvasionTotalAffectNum,omitnil,omitempty" name:"InvasionTotalAffectNum"`

	// Total number of machines with unfixed vulnerability security events
	VulTotalAffectNum *uint64 `json:"VulTotalAffectNum,omitnil,omitempty" name:"VulTotalAffectNum"`

	// Total number of machines with unfixed baseline security events
	BaseLineTotalAffectNum *uint64 `json:"BaseLineTotalAffectNum,omitnil,omitempty" name:"BaseLineTotalAffectNum"`

	// Total number of machines with unfixed network attack security events
	CyberAttackTotalAffectNum *uint64 `json:"CyberAttackTotalAffectNum,omitnil,omitempty" name:"CyberAttackTotalAffectNum"`

	// Critical vulnerability event statistics
	VulRiskStat *EventStat `json:"VulRiskStat,omitnil,omitempty" name:"VulRiskStat"`

	// Statistics of critical baseline vulnerability events
	BaselineRiskStat *EventStat `json:"BaselineRiskStat,omitnil,omitempty" name:"BaselineRiskStat"`

	// Statistics on the number of vulnerabilities
	VulStat *EventStat `json:"VulStat,omitnil,omitempty" name:"VulStat"`

	// Security score
	Score *uint64 `json:"Score,omitnil,omitempty" name:"Score"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecurityEventStatResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityEventStatResponseParams `json:"Response"`
}

func (r *DescribeSecurityEventStatResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityEventStatResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityEventsCntRequestParams struct {

}

type DescribeSecurityEventsCntRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecurityEventsCntRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityEventsCntRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityEventsCntRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityEventsCntResponseParams struct {
	// Trojan file-related risk event
	Malware *SecurityEventInfo `json:"Malware,omitnil,omitempty" name:"Malware"`

	// Log-in audit-related risk event
	HostLogin *SecurityEventInfo `json:"HostLogin,omitnil,omitempty" name:"HostLogin"`

	// Password cracking-related risk event
	BruteAttack *SecurityEventInfo `json:"BruteAttack,omitnil,omitempty" name:"BruteAttack"`

	// Malicious request-related risk event
	RiskDns *SecurityEventInfo `json:"RiskDns,omitnil,omitempty" name:"RiskDns"`

	// High-risk command-related risk event
	Bash *SecurityEventInfo `json:"Bash,omitnil,omitempty" name:"Bash"`

	// Local privilege escalation-related risk event
	PrivilegeRules *SecurityEventInfo `json:"PrivilegeRules,omitnil,omitempty" name:"PrivilegeRules"`

	// Reverse Shell-related risk event
	ReverseShell *SecurityEventInfo `json:"ReverseShell,omitnil,omitempty" name:"ReverseShell"`

	// Application vulnerability-related risk event
	SysVul *SecurityEventInfo `json:"SysVul,omitnil,omitempty" name:"SysVul"`

	// Web application vulnerability-related risk event
	WebVul *SecurityEventInfo `json:"WebVul,omitnil,omitempty" name:"WebVul"`

	// Emergency vulnerability-related risk event
	EmergencyVul *SecurityEventInfo `json:"EmergencyVul,omitnil,omitempty" name:"EmergencyVul"`

	// Security baseline-related risk event
	BaseLine *SecurityEventInfo `json:"BaseLine,omitnil,omitempty" name:"BaseLine"`

	// Attack detection-related risk event
	AttackLogs *SecurityEventInfo `json:"AttackLogs,omitnil,omitempty" name:"AttackLogs"`

	// Number of affected machines
	EffectMachineCount *uint64 `json:"EffectMachineCount,omitnil,omitempty" name:"EffectMachineCount"`

	// Total of number of events
	EventsCount *uint64 `json:"EventsCount,omitnil,omitempty" name:"EventsCount"`

	// Total of Windows system vulnerability events
	WindowVul *SecurityEventInfo `json:"WindowVul,omitnil,omitempty" name:"WindowVul"`

	// Total of linux system vulnerability events
	LinuxVul *SecurityEventInfo `json:"LinuxVul,omitnil,omitempty" name:"LinuxVul"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecurityEventsCntResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityEventsCntResponseParams `json:"Response"`
}

func (r *DescribeSecurityEventsCntResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityEventsCntResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityTrendsRequestParams struct {
	// Start time. Example: 2021-07-10
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time. Example: 2021-07-10
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

type DescribeSecurityTrendsRequest struct {
	*tchttp.BaseRequest
	
	// Start time. Example: 2021-07-10
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time. Example: 2021-07-10
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

func (r *DescribeSecurityTrendsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityTrendsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BeginDate")
	delete(f, "EndDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecurityTrendsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityTrendsResponseParams struct {
	// Array of counted Trojan events
	Malwares []*SecurityTrend `json:"Malwares,omitnil,omitempty" name:"Malwares"`

	// Array of counted cross-region log-in events
	NonLocalLoginPlaces []*SecurityTrend `json:"NonLocalLoginPlaces,omitnil,omitempty" name:"NonLocalLoginPlaces"`

	// Array of counted password cracking events
	BruteAttacks []*SecurityTrend `json:"BruteAttacks,omitnil,omitempty" name:"BruteAttacks"`

	// Array of counted vulnerabilities
	Vuls []*SecurityTrend `json:"Vuls,omitnil,omitempty" name:"Vuls"`

	// Array of counted baselines
	BaseLines []*SecurityTrend `json:"BaseLines,omitnil,omitempty" name:"BaseLines"`

	// Array of counted malicious requests
	MaliciousRequests []*SecurityTrend `json:"MaliciousRequests,omitnil,omitempty" name:"MaliciousRequests"`

	// Array of counted high-risk command
	HighRiskBashs []*SecurityTrend `json:"HighRiskBashs,omitnil,omitempty" name:"HighRiskBashs"`

	// Array of counted reverse shell
	ReverseShells []*SecurityTrend `json:"ReverseShells,omitnil,omitempty" name:"ReverseShells"`

	// Array of counted local privilege escalation
	PrivilegeEscalations []*SecurityTrend `json:"PrivilegeEscalations,omitnil,omitempty" name:"PrivilegeEscalations"`

	// Array of counted network attacks
	CyberAttacks []*SecurityTrend `json:"CyberAttacks,omitnil,omitempty" name:"CyberAttacks"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecurityTrendsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityTrendsResponseParams `json:"Response"`
}

func (r *DescribeSecurityTrendsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityTrendsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeServersAndRiskAndFirstInfoRequestParams struct {

}

type DescribeServersAndRiskAndFirstInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeServersAndRiskAndFirstInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeServersAndRiskAndFirstInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeServersAndRiskAndFirstInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeServersAndRiskAndFirstInfoResponseParams struct {
	// Number of risky files
	RiskFileCount *uint64 `json:"RiskFileCount,omitnil,omitempty" name:"RiskFileCount"`

	// New risky files today
	AddRiskFileCount *uint64 `json:"AddRiskFileCount,omitnil,omitempty" name:"AddRiskFileCount"`

	// Number of affected servers
	ServersCount *uint64 `json:"ServersCount,omitnil,omitempty" name:"ServersCount"`

	// Whether it is in trial. true: yes; false: no.
	IsFirstCheck *bool `json:"IsFirstCheck,omitnil,omitempty" name:"IsFirstCheck"`

	// Last Trojan detection time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeServersAndRiskAndFirstInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeServersAndRiskAndFirstInfoResponseParams `json:"Response"`
}

func (r *DescribeServersAndRiskAndFirstInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeServersAndRiskAndFirstInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShellPolicyListRequestParams struct {
	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [UpdateTime].
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeShellPolicyListRequest struct {
	*tchttp.BaseRequest
	
	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column: [UpdateTime].
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeShellPolicyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShellPolicyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeShellPolicyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeShellPolicyListResponseParams struct {
	// List data
	List []*ShellPolicyList `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeShellPolicyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShellPolicyListResponseParams `json:"Response"`
}

func (r *DescribeShellPolicyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeShellPolicyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSkillInfoRequestParams struct {
	// <p>Event ID.</p>
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DescribeSkillInfoRequest struct {
	*tchttp.BaseRequest
	
	// <p>Event ID.</p>
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *DescribeSkillInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSkillInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSkillInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSkillInfoResponseParams struct {
	// <p>skill information list</p>
	SkillInfoList []*SkillInfo `json:"SkillInfoList,omitnil,omitempty" name:"SkillInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSkillInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSkillInfoResponseParams `json:"Response"`
}

func (r *DescribeSkillInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSkillInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStrategyExistRequestParams struct {
	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`
}

type DescribeStrategyExistRequest struct {
	*tchttp.BaseRequest
	
	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`
}

func (r *DescribeStrategyExistRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStrategyExistRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeStrategyExistRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeStrategyExistResponseParams struct {
	// Whether the policy exists. 1: yes; 0: no.
	IfExist *uint64 `json:"IfExist,omitnil,omitempty" name:"IfExist"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeStrategyExistResponse struct {
	*tchttp.BaseResponse
	Response *DescribeStrategyExistResponseParams `json:"Response"`
}

func (r *DescribeStrategyExistResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeStrategyExistResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTagMachinesRequestParams struct {
	// Tag ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeTagMachinesRequest struct {
	*tchttp.BaseRequest
	
	// Tag ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeTagMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTagMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTagMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTagMachinesResponseParams struct {
	// List data
	List []*TagMachine `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTagMachinesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTagMachinesResponseParams `json:"Response"`
}

func (r *DescribeTagMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTagMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTagsRequestParams struct {
	// CVM type
	// <li>CVM: indicates Cloud Virtual Machine</li>
	// <li>BM: indicates Blackstone Physical Machine</li>
	// <li>ECM: indicates Edge Computing Server</li>
	// <li>LH: indicates Tencent Cloud Lighthouse</li>
	// <li>Other: indicates hybrid CVMs</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Region where the machine is located, such as ap-guangzhou.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Filter criteria
	// <li>Keywords - String - required: no - query by keywords (machine name/machine IP)</li>
	// <li>Status - String - required: no - client online status (OFFLINE: offline | ONLINE: online | UNINSTALLED: uninstalled | SHUTDOWN: shut down)</li>
	// <li>Version - String - required: no - current protection version (PRO_VERSION: Professional edition | BASIC_VERSION: Basic edition)</li>
	// <li>Risk - String - required: no - risky host (yes)</li>
	// <li>Os - String - required: no - operating system (DescribeMachineOsList API value)</li>
	// Each filtering criterion supports only one value; queries of multiple values with OR relationship are not supported.</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeTagsRequest struct {
	*tchttp.BaseRequest
	
	// CVM type
	// <li>CVM: indicates Cloud Virtual Machine</li>
	// <li>BM: indicates Blackstone Physical Machine</li>
	// <li>ECM: indicates Edge Computing Server</li>
	// <li>LH: indicates Tencent Cloud Lighthouse</li>
	// <li>Other: indicates hybrid CVMs</li>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Region where the machine is located, such as ap-guangzhou.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Filter criteria
	// <li>Keywords - String - required: no - query by keywords (machine name/machine IP)</li>
	// <li>Status - String - required: no - client online status (OFFLINE: offline | ONLINE: online | UNINSTALLED: uninstalled | SHUTDOWN: shut down)</li>
	// <li>Version - String - required: no - current protection version (PRO_VERSION: Professional edition | BASIC_VERSION: Basic edition)</li>
	// <li>Risk - String - required: no - risky host (yes)</li>
	// <li>Os - String - required: no - operating system (DescribeMachineOsList API value)</li>
	// Each filtering criterion supports only one value; queries of multiple values with OR relationship are not supported.</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeTagsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTagsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MachineType")
	delete(f, "MachineRegion")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTagsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTagsResponseParams struct {
	// List information
	List []*Tag `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTagsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTagsResponseParams `json:"Response"`
}

func (r *DescribeTagsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTagsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTrialReportRequestParams struct {

}

type DescribeTrialReportRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeTrialReportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTrialReportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTrialReportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTrialReportResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTrialReportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTrialReportResponseParams `json:"Response"`
}

func (r *DescribeTrialReportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTrialReportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUndoVulCountsRequestParams struct {
	// Vulnerability category. 1: web-cms vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to apply emergency vulnerability detection: YES - yes
	IfEmergency *string `json:"IfEmergency,omitnil,omitempty" name:"IfEmergency"`
}

type DescribeUndoVulCountsRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability category. 1: web-cms vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to apply emergency vulnerability detection: YES - yes
	IfEmergency *string `json:"IfEmergency,omitnil,omitempty" name:"IfEmergency"`
}

func (r *DescribeUndoVulCountsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUndoVulCountsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulCategory")
	delete(f, "IfEmergency")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeUndoVulCountsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUndoVulCountsResponseParams struct {
	// Number of unfixed vulnerabilities
	UndoVulCount *uint64 `json:"UndoVulCount,omitnil,omitempty" name:"UndoVulCount"`

	// Number of Unprocessed Hosts
	UndoHostCount *int64 `json:"UndoHostCount,omitnil,omitempty" name:"UndoHostCount"`

	// Number of Standard Edition hosts
	NotProfessionCount *uint64 `json:"NotProfessionCount,omitnil,omitempty" name:"NotProfessionCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeUndoVulCountsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeUndoVulCountsResponseParams `json:"Response"`
}

func (r *DescribeUndoVulCountsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUndoVulCountsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUsersConfigRequestParams struct {
	// Configuration name
	// <li>license_monitor authorization monitoring configuration. 0: off; 1: on</li>
	ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"`
}

type DescribeUsersConfigRequest struct {
	*tchttp.BaseRequest
	
	// Configuration name
	// <li>license_monitor authorization monitoring configuration. 0: off; 1: on</li>
	ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"`
}

func (r *DescribeUsersConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUsersConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ConfigName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeUsersConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUsersConfigResponseParams struct {
	// Configuration value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeUsersConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeUsersConfigResponseParams `json:"Response"`
}

func (r *DescribeUsersConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUsersConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUsualLoginPlacesRequestParams struct {
	// CWPP client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DescribeUsualLoginPlacesRequest struct {
	*tchttp.BaseRequest
	
	// CWPP client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *DescribeUsualLoginPlacesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUsualLoginPlacesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeUsualLoginPlacesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUsualLoginPlacesResponseParams struct {
	// Array of frequently used log-in locations
	UsualLoginPlaces []*UsualPlace `json:"UsualLoginPlaces,omitnil,omitempty" name:"UsualLoginPlaces"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeUsualLoginPlacesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeUsualLoginPlacesResponseParams `json:"Response"`
}

func (r *DescribeUsualLoginPlacesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUsualLoginPlacesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVdbAndPocInfoRequestParams struct {

}

type DescribeVdbAndPocInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVdbAndPocInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVdbAndPocInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVdbAndPocInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVdbAndPocInfoResponseParams struct {
	// Virus database update time
	VdbUpdateTime *string `json:"VdbUpdateTime,omitnil,omitempty" name:"VdbUpdateTime"`

	// Vulnerability database update time
	PocUpdateTime *string `json:"PocUpdateTime,omitnil,omitempty" name:"PocUpdateTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVdbAndPocInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVdbAndPocInfoResponseParams `json:"Response"`
}

func (r *DescribeVdbAndPocInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVdbAndPocInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVersionCompareChartRequestParams struct {

}

type DescribeVersionCompareChartRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVersionCompareChartRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVersionCompareChartRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVersionCompareChartRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVersionCompareChartResponseParams struct {
	// json string
	Data *string `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVersionCompareChartResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVersionCompareChartResponseParams `json:"Response"`
}

func (r *DescribeVersionCompareChartResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVersionCompareChartResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVersionStatisticsRequestParams struct {

}

type DescribeVersionStatisticsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVersionStatisticsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVersionStatisticsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVersionStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVersionStatisticsResponseParams struct {
	// Number of Basic editions
	BasicVersionNum *uint64 `json:"BasicVersionNum,omitnil,omitempty" name:"BasicVersionNum"`

	// Number of Professional editions
	ProVersionNum *uint64 `json:"ProVersionNum,omitnil,omitempty" name:"ProVersionNum"`

	// Number of Ultimate editions
	UltimateVersionNum *uint64 `json:"UltimateVersionNum,omitnil,omitempty" name:"UltimateVersionNum"`

	// Number of lightweight editions
	GeneralVersionNum *uint64 `json:"GeneralVersionNum,omitnil,omitempty" name:"GeneralVersionNum"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVersionStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVersionStatisticsResponseParams `json:"Response"`
}

func (r *DescribeVersionStatisticsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVersionStatisticsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVertexDetailRequestParams struct {
	// Point ID list
	VertexIds []*string `json:"VertexIds,omitnil,omitempty" name:"VertexIds"`

	// Event ID
	IncidentId *string `json:"IncidentId,omitnil,omitempty" name:"IncidentId"`

	// The name of the table where the event occurred
	TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"`
}

type DescribeVertexDetailRequest struct {
	*tchttp.BaseRequest
	
	// Point ID list
	VertexIds []*string `json:"VertexIds,omitnil,omitempty" name:"VertexIds"`

	// Event ID
	IncidentId *string `json:"IncidentId,omitnil,omitempty" name:"IncidentId"`

	// The name of the table where the event occurred
	TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"`
}

func (r *DescribeVertexDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVertexDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VertexIds")
	delete(f, "IncidentId")
	delete(f, "TableName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVertexDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVertexDetailResponseParams struct {
	// Attribute information of the specified node list.
	VertexDetails []*VertexDetail `json:"VertexDetails,omitnil,omitempty" name:"VertexDetails"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVertexDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVertexDetailResponseParams `json:"Response"`
}

func (r *DescribeVertexDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVertexDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulCountByDatesRequestParams struct {
	// Number of past days for data query. Subtract 1 from the actual number of days and fill in the value.
	LastDays []*uint64 `json:"LastDays,omitnil,omitempty" name:"LastDays"`

	// Vulnerability category. 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether the vulnerabilities are emergency vulnerabilities. yes: yes.
	IfEmergency *string `json:"IfEmergency,omitnil,omitempty" name:"IfEmergency"`
}

type DescribeVulCountByDatesRequest struct {
	*tchttp.BaseRequest
	
	// Number of past days for data query. Subtract 1 from the actual number of days and fill in the value.
	LastDays []*uint64 `json:"LastDays,omitnil,omitempty" name:"LastDays"`

	// Vulnerability category. 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether the vulnerabilities are emergency vulnerabilities. yes: yes.
	IfEmergency *string `json:"IfEmergency,omitnil,omitempty" name:"IfEmergency"`
}

func (r *DescribeVulCountByDatesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulCountByDatesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LastDays")
	delete(f, "VulCategory")
	delete(f, "IfEmergency")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulCountByDatesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulCountByDatesResponseParams struct {
	// Obtain the vulnerability count for corresponding days in batch
	VulCount []*uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// Obtain the number of hosts for corresponding days in batch
	HostCount []*uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulCountByDatesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulCountByDatesResponseParams `json:"Response"`
}

func (r *DescribeVulCountByDatesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulCountByDatesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulCveIdInfoRequestParams struct {
	// Vulnerability cve_id list
	CveIds []*string `json:"CveIds,omitnil,omitempty" name:"CveIds"`
}

type DescribeVulCveIdInfoRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability cve_id list
	CveIds []*string `json:"CveIds,omitnil,omitempty" name:"CveIds"`
}

func (r *DescribeVulCveIdInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulCveIdInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CveIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulCveIdInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulCveIdInfoResponseParams struct {
	// Detail list
	List []*VulInfoByCveId `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulCveIdInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulCveIdInfoResponseParams `json:"Response"`
}

func (r *DescribeVulCveIdInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulCveIdInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceEventRequestParams struct {
	// Filtering criteria: Keywords for IP or host name; VulKeywords vulnerability name or CveId for fuzzy query; Quuid, VulId, EventType, Status for precise match; CreateBeginTime, CreateEndTime for time period query
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method, case insensitive: ASC for ascending order; DESC for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort columns, which are strictly equal: CreateTime for creation time, MergeTime for merge time, and Count for event count
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulDefenceEventRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: Keywords for IP or host name; VulKeywords vulnerability name or CveId for fuzzy query; Quuid, VulId, EventType, Status for precise match; CreateBeginTime, CreateEndTime for time period query
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method, case insensitive: ASC for ascending order; DESC for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort columns, which are strictly equal: CreateTime for creation time, MergeTime for merge time, and Count for event count
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulDefenceEventRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceEventRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceEventRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceEventResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Vulnerability Defense Event List
	List []*VulDefenceEvent `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceEventResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceEventResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceEventResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceEventResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceListRequestParams struct {
	// Filtering criteria: Level; Keywords
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column (strictly equal): PublishTime for release time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulDefenceListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: Level; Keywords
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column (strictly equal): PublishTime for release time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulDefenceListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceListResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Vulnerability defense list
	List []*VulDefenceRangeDetail `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceListResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceOverviewCountRequestParams struct {

}

type DescribeVulDefenceOverviewCountRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulDefenceOverviewCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceOverviewCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceOverviewCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceOverviewCountResponseParams struct {
	// number of policies
	StrategyCount *uint64 `json:"StrategyCount,omitnil,omitempty" name:"StrategyCount"`

	// Number of enabled policies.
	StrategyOpenCount *uint64 `json:"StrategyOpenCount,omitnil,omitempty" name:"StrategyOpenCount"`

	// Number of supported defense vulnerabilities.
	SupportDefenceVulCount *uint64 `json:"SupportDefenceVulCount,omitnil,omitempty" name:"SupportDefenceVulCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceOverviewCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceOverviewCountResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceOverviewCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceOverviewCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceOverviewRequestParams struct {

}

type DescribeVulDefenceOverviewRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulDefenceOverviewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceOverviewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceOverviewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceOverviewResponseParams struct {
	// Vulnerability defense overview information
	Overview *VulDefenceOverview `json:"Overview,omitnil,omitempty" name:"Overview"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceOverviewResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceOverviewResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceOverviewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceOverviewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginDetailRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criterion. Keywords: IP address or host name. Exception and Status support precise match.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeVulDefencePluginDetailRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criterion. Keywords: IP address or host name. Exception and Status support precise match.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeVulDefencePluginDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefencePluginDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginDetailResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of detailed information on the vulnerability defense plugin
	List []*VulDefencePluginDetail `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefencePluginDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefencePluginDetailResponseParams `json:"Response"`
}

func (r *DescribeVulDefencePluginDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginExceptionCountRequestParams struct {

}

type DescribeVulDefencePluginExceptionCountRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulDefencePluginExceptionCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginExceptionCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefencePluginExceptionCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginExceptionCountResponseParams struct {
	// Number of plugin exceptions
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefencePluginExceptionCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefencePluginExceptionCountResponseParams `json:"Response"`
}

func (r *DescribeVulDefencePluginExceptionCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginExceptionCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginStatusRequestParams struct {
	// Filter criteria
	// <li>Keywords - String - required: no - host IP address or alias for filtering</li>
	// <li>Exception - String - required: no - plugin status: 0: normal; 1: abnormal; 2: no Java process injection</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method, case insensitive: ASC for ascending order; DESC for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column (exact match). CreateTime: creation time; ModifyTime: update time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulDefencePluginStatusRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Keywords - String - required: no - host IP address or alias for filtering</li>
	// <li>Exception - String - required: no - plugin status: 0: normal; 1: abnormal; 2: no Java process injection</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting method, case insensitive: ASC for ascending order; DESC for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting column (exact match). CreateTime: creation time; ModifyTime: update time.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulDefencePluginStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefencePluginStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginStatusResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of host vulnerability defense plugin information
	List []*VulDefencePluginStatus `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefencePluginStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefencePluginStatusResponseParams `json:"Response"`
}

func (r *DescribeVulDefencePluginStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceSettingListRequestParams struct {
	// Filter condition: Switch, Keywords.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeVulDefenceSettingListRequest struct {
	*tchttp.BaseRequest
	
	// Filter condition: Switch, Keywords.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Data offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Data limit
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeVulDefenceSettingListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceSettingListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceSettingListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceSettingListResponseParams struct {
	// Total number of data
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Vulnerability defense settings list.
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*VulDefenceSetting `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceSettingListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceSettingListResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceSettingListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceSettingListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceSettingRequestParams struct {

}

type DescribeVulDefenceSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulDefenceSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceSettingResponseParams struct {
	// Defense switch: 0 - off; 1 - on
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scope of impact: 1 - all ultimate edition hosts across the network; 0 - hosts in the QUUID list
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Affected host quuid list
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Current number of ultimate edition hosts
	FlagshipCount *uint64 `json:"FlagshipCount,omitnil,omitempty" name:"FlagshipCount"`

	// Affected host ID list.
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// Whether new ultimate edition hosts automatically join: 1 - yes; 0 - no
	AutoInclude *uint64 `json:"AutoInclude,omitnil,omitempty" name:"AutoInclude"`

	// Excluded host ID list.
	ExcludeInstanceIds []*string `json:"ExcludeInstanceIds,omitnil,omitempty" name:"ExcludeInstanceIds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceSettingResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulEffectHostListRequestParams struct {
	// Pagination limit, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Filter criteria:
	// <li>AliasName - String - host name for filtering</li>
	// <li>TagIds - String - array of host tag IDs separated by commas</li>
	// <li>Status - String - status: 0: pending; 1: ignored; 3: fixed; 5: detecting; 6: fixing; 8: fixing failed</li>
	// <li>Uuid - String array - UUID array</li>
	// <li>Version - String array - paid edition array: "Flagship": Ultimate Edition; "PRO_VERSION": Pro Edition; "BASIC_VERSION": Basic Edition</li>
	// <li>InstanceState - String array - instance status array: "PENDING": creating; "LAUNCH_FAILED": creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": to be terminated; "TERMINATING": terminating; "UNKNOWN": unknown (for non-Tencent Cloud machines and offline client) </li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeVulEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination limit, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Filter criteria:
	// <li>AliasName - String - host name for filtering</li>
	// <li>TagIds - String - array of host tag IDs separated by commas</li>
	// <li>Status - String - status: 0: pending; 1: ignored; 3: fixed; 5: detecting; 6: fixing; 8: fixing failed</li>
	// <li>Uuid - String array - UUID array</li>
	// <li>Version - String array - paid edition array: "Flagship": Ultimate Edition; "PRO_VERSION": Pro Edition; "BASIC_VERSION": Basic Edition</li>
	// <li>InstanceState - String array - instance status array: "PENDING": creating; "LAUNCH_FAILED": creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": to be terminated; "TERMINATING": terminating; "UNKNOWN": unknown (for non-Tencent Cloud machines and offline client) </li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeVulEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "VulId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulEffectHostListResponseParams struct {
	// Total number of lists
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of affected hosts
	VulEffectHostList []*VulEffectHostList `json:"VulEffectHostList,omitnil,omitempty" name:"VulEffectHostList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulEffectHostListResponseParams `json:"Response"`
}

func (r *DescribeVulEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulEffectModulesRequestParams struct {
	// Number of entries on each page. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Paging offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Filter criteria:
	// <li>Uuid - String array - Uuid string array</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeVulEffectModulesRequest struct {
	*tchttp.BaseRequest
	
	// Number of entries on each page. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Paging offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Filter criteria:
	// <li>Uuid - String array - Uuid string array</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeVulEffectModulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulEffectModulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "VulId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulEffectModulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulEffectModulesResponseParams struct {
	// Total number of lists
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of affected hosts
	VulEffectModuleInfo []*VulEffectModuleInfo `json:"VulEffectModuleInfo,omitnil,omitempty" name:"VulEffectModuleInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulEffectModulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulEffectModulesResponseParams `json:"Response"`
}

func (r *DescribeVulEffectModulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulEffectModulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulEmergentMsgRequestParams struct {

}

type DescribeVulEmergentMsgRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulEmergentMsgRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulEmergentMsgRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulEmergentMsgRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulEmergentMsgResponseParams struct {
	// Vulnerability emergency notification data
	EmergentMsgList []*VulEmergentMsgInfo `json:"EmergentMsgList,omitnil,omitempty" name:"EmergentMsgList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulEmergentMsgResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulEmergentMsgResponseParams `json:"Response"`
}

func (r *DescribeVulEmergentMsgResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulEmergentMsgResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulFixStatusRequestParams struct {
	// Task ID. This parameter can be left blank if VulId is specified.
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Vulnerability ID. This parameter can be left blank if FixId is specified.
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Host QUUID. This parameter can be used together with VulId to query the details of the last fixing task on a specific host.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Patch id
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

type DescribeVulFixStatusRequest struct {
	*tchttp.BaseRequest
	
	// Task ID. This parameter can be left blank if VulId is specified.
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Vulnerability ID. This parameter can be left blank if FixId is specified.
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Host QUUID. This parameter can be used together with VulId to query the details of the last fixing task on a specific host.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Patch id
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

func (r *DescribeVulFixStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulFixStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FixId")
	delete(f, "VulId")
	delete(f, "Quuid")
	delete(f, "KbId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulFixStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulFixStatusResponseParams struct {
	// Fixing start time
	FixStartTime *string `json:"FixStartTime,omitnil,omitempty" name:"FixStartTime"`

	// Fixing end time. If this parameter is left blank, fixing is not ended.
	FixEndTime *string `json:"FixEndTime,omitnil,omitempty" name:"FixEndTime"`

	// Number of successfully fixed hosts
	FixSuccessCnt *uint64 `json:"FixSuccessCnt,omitnil,omitempty" name:"FixSuccessCnt"`

	// Number of hosts failed to be fixed
	FixFailCnt *uint64 `json:"FixFailCnt,omitnil,omitempty" name:"FixFailCnt"`

	// Total number of hosts
	HostCnt *uint64 `json:"HostCnt,omitnil,omitempty" name:"HostCnt"`

	// Fixing task ID
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Status list of snapshots to be fixed
	SnapshotList []*VulFixStatusSnapshotInfo `json:"SnapshotList,omitnil,omitempty" name:"SnapshotList"`

	// Details list of vulnerabilities to be fixed
	VulFixList []*VulFixStatusInfo `json:"VulFixList,omitnil,omitempty" name:"VulFixList"`

	// Snapshot creation progress (0-100)
	SnapshotProgress *uint64 `json:"SnapshotProgress,omitnil,omitempty" name:"SnapshotProgress"`

	// Fixing progress (0-100).
	FixProgress *uint64 `json:"FixProgress,omitnil,omitempty" name:"FixProgress"`

	// Estimated remaining time (seconds)
	RemainingTime *uint64 `json:"RemainingTime,omitnil,omitempty" name:"RemainingTime"`

	// Whether the snapshot is retried. 0: no; 1: yes.
	IsRetrySnapshot *uint64 `json:"IsRetrySnapshot,omitnil,omitempty" name:"IsRetrySnapshot"`

	// Snapshot creation failures
	SnapshotFailCnt *uint64 `json:"SnapshotFailCnt,omitnil,omitempty" name:"SnapshotFailCnt"`

	// Whether to allow retry 0: not allowed 1: allowed
	IsAllowRetry *uint64 `json:"IsAllowRetry,omitnil,omitempty" name:"IsAllowRetry"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulFixStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulFixStatusResponseParams `json:"Response"`
}

func (r *DescribeVulFixStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulFixStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulHostCountScanTimeRequestParams struct {

}

type DescribeVulHostCountScanTimeRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulHostCountScanTimeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulHostCountScanTimeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulHostCountScanTimeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulHostCountScanTimeResponseParams struct {
	// Total number of vulnerabilities
	TotalVulCount *uint64 `json:"TotalVulCount,omitnil,omitempty" name:"TotalVulCount"`

	// Number of hosts affected by vulnerabilities
	VulHostCount *uint64 `json:"VulHostCount,omitnil,omitempty" name:"VulHostCount"`

	// Scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Whether the detection is carried out for the first time
	IfFirstScan *bool `json:"IfFirstScan,omitnil,omitempty" name:"IfFirstScan"`

	// ID of the ongoing task. The value is 0 if no such task exists.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Last vulnerability fixing time
	LastFixTime *string `json:"LastFixTime,omitnil,omitempty" name:"LastFixTime"`

	// Whether vulnerabilities supporting automatic fixing exist
	hadAutoFixVul *bool `json:"hadAutoFixVul,omitnil,omitempty" name:"hadAutoFixVul"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulHostCountScanTimeResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulHostCountScanTimeResponseParams `json:"Response"`
}

func (r *DescribeVulHostCountScanTimeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulHostCountScanTimeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulHostTopRequestParams struct {
	// Obtain top values: 1-100
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// 1: web-cms vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities; 6: emergency vulnerabilities. If it is left blank or set to 0, the total statistics of vulnerabilities 1, 2, 4, and 5 are returned.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to count only critical vulnerabilities: 1: only critical vulnerabilities; 0: all vulnerabilities
	IsFollowVul *uint64 `json:"IsFollowVul,omitnil,omitempty" name:"IsFollowVul"`
}

type DescribeVulHostTopRequest struct {
	*tchttp.BaseRequest
	
	// Obtain top values: 1-100
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// 1: web-cms vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities; 6: emergency vulnerabilities. If it is left blank or set to 0, the total statistics of vulnerabilities 1, 2, 4, and 5 are returned.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to count only critical vulnerabilities: 1: only critical vulnerabilities; 0: all vulnerabilities
	IsFollowVul *uint64 `json:"IsFollowVul,omitnil,omitempty" name:"IsFollowVul"`
}

func (r *DescribeVulHostTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulHostTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Top")
	delete(f, "VulCategory")
	delete(f, "IsFollowVul")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulHostTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulHostTopResponseParams struct {
	// List of top server risks
	VulHostTopList []*VulHostTopInfo `json:"VulHostTopList,omitnil,omitempty" name:"VulHostTopList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulHostTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulHostTopResponseParams `json:"Response"`
}

func (r *DescribeVulHostTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulHostTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulInfoCvssRequestParams struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Compatible with application protection vulnerability defense container perspective alerts for vulnerability details. Host perspective is selected by default. Optional fields. Source=tcss indicates container perspective vulnerability details. The backend converts VulId to VulId in host vul_vuls.
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`
}

type DescribeVulInfoCvssRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Compatible with application protection vulnerability defense container perspective alerts for vulnerability details. Host perspective is selected by default. Optional fields. Source=tcss indicates container perspective vulnerability details. The backend converts VulId to VulId in host vul_vuls.
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`
}

func (r *DescribeVulInfoCvssRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulInfoCvssRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulId")
	delete(f, "Source")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulInfoCvssRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulInfoCvssResponseParams struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	VulLevel *uint64 `json:"VulLevel,omitnil,omitempty" name:"VulLevel"`

	// Vulnerability Classification: 1: Web-CMS Vulnerability 2: Application Vulnerabilities 4: Linux Software Vulnerabilities 5: Windows System Vulnerabilities
	VulType *uint64 `json:"VulType,omitnil,omitempty" name:"VulType"`

	// Vulnerability Description Information
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Fixing solution
	RepairPlan *string `json:"RepairPlan,omitnil,omitempty" name:"RepairPlan"`

	// Vulnerability CVEID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Reference link
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// CVSS Information
	CVSS *string `json:"CVSS,omitnil,omitempty" name:"CVSS"`

	// Release time
	PublicDate *string `json:"PublicDate,omitnil,omitempty" name:"PublicDate"`

	// CVSS Score
	CvssScore *uint64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// CVSS Details
	CveInfo *string `json:"CveInfo,omitnil,omitempty" name:"CveInfo"`

	// CVSS score, floating point type
	CvssScoreFloat *float64 `json:"CvssScoreFloat,omitnil,omitempty" name:"CvssScoreFloat"`

	// Vulnerability Tags, Separated by Multiple Commas
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Number of Attacks Defended
	DefenseAttackCount *uint64 `json:"DefenseAttackCount,omitnil,omitempty" name:"DefenseAttackCount"`

	// Total Number of Successful Network Repairs. Returns 0 by default for unsupported auto-repair vulnerabilities.
	SuccessFixCount *uint64 `json:"SuccessFixCount,omitnil,omitempty" name:"SuccessFixCount"`

	// Repair support: 0 - Neither Windows nor Linux supports for repair; 1 - Both Windows and Linux support for repair; 2 - Only Linux supports for repair; 3 - Only Windows supports for repair.
	FixSwitch *int64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`

	// Support defense: 0-no support 1-support
	SupportDefence *int64 `json:"SupportDefence,omitnil,omitempty" name:"SupportDefence"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulInfoCvssResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulInfoCvssResponseParams `json:"Response"`
}

func (r *DescribeVulInfoCvssResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulInfoCvssResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLabelsRequestParams struct {

}

type DescribeVulLabelsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulLabelsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLabelsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulLabelsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLabelsResponseParams struct {
	// Tag list
	List []*string `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulLabelsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulLabelsResponseParams `json:"Response"`
}

func (r *DescribeVulLabelsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLabelsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLevelCountRequestParams struct {
	// 1: web CMS vulnerability; 2: application vulnerability; 3: security baseline; 4: Linux software vulnerability; 5: Windows system vulnerability; 6: emergency vulnerability. If this parameter is left blank or set to 0, the statistics data of all vulnerabilities of types 1, 2, 4, and 5 is returned.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to count only critical vulnerabilities. 1: only critical vulnerabilities; 0: all vulnerabilities.
	IsFollowVul *uint64 `json:"IsFollowVul,omitnil,omitempty" name:"IsFollowVul"`
}

type DescribeVulLevelCountRequest struct {
	*tchttp.BaseRequest
	
	// 1: web CMS vulnerability; 2: application vulnerability; 3: security baseline; 4: Linux software vulnerability; 5: Windows system vulnerability; 6: emergency vulnerability. If this parameter is left blank or set to 0, the statistics data of all vulnerabilities of types 1, 2, 4, and 5 is returned.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to count only critical vulnerabilities. 1: only critical vulnerabilities; 0: all vulnerabilities.
	IsFollowVul *uint64 `json:"IsFollowVul,omitnil,omitempty" name:"IsFollowVul"`
}

func (r *DescribeVulLevelCountRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLevelCountRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulCategory")
	delete(f, "IsFollowVul")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulLevelCountRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLevelCountResponseParams struct {
	// Statistical Result
	VulLevelList []*VulLevelInfo `json:"VulLevelList,omitnil,omitempty" name:"VulLevelList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulLevelCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulLevelCountResponseParams `json:"Response"`
}

func (r *DescribeVulLevelCountResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLevelCountResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulListRequestParams struct {
	// Number of returns, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering conditions. <li>Status - String - required: no - processing status.  0 - pending processing; 1 - allowlisted; 2 - deleted; 3 - fixed; 5 - detecting; 6 - fixing; 8 - fixing failed.</li><li>ModifyTime - String - required: no - last occurrence time.</li><li>Uuid- String - required: no - Query by host UUID.</li><li>VulName- String -</li><li>VulCategory- String - required: no - vulnerability category. 1: Web-CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability.</li><li>IsSupportDefense - int- required: no - whether defense is supported. 0: not supported; 1: supported.</li><li>Labels- string- required: no - search by tag.</li><li>IsSupportAutoFix- string- required: no - whether automatic fixing is supported. 0: not supported; 1: supported.</li><li>CvssScore- string- required: no - lower limit of CVSS score.</li><li>AttackLevel- string- required: no - lower limit of attack level.</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field: Level, LastTime, and HostCount
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order: desc and asc. Default value: asc.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeVulListRequest struct {
	*tchttp.BaseRequest
	
	// Number of returns, with the maximum value being 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which defaults to 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering conditions. <li>Status - String - required: no - processing status.  0 - pending processing; 1 - allowlisted; 2 - deleted; 3 - fixed; 5 - detecting; 6 - fixing; 8 - fixing failed.</li><li>ModifyTime - String - required: no - last occurrence time.</li><li>Uuid- String - required: no - Query by host UUID.</li><li>VulName- String -</li><li>VulCategory- String - required: no - vulnerability category. 1: Web-CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability.</li><li>IsSupportDefense - int- required: no - whether defense is supported. 0: not supported; 1: supported.</li><li>Labels- string- required: no - search by tag.</li><li>IsSupportAutoFix- string- required: no - whether automatic fixing is supported. 0: not supported; 1: supported.</li><li>CvssScore- string- required: no - lower limit of CVSS score.</li><li>AttackLevel- string- required: no - lower limit of attack level.</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field: Level, LastTime, and HostCount
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order: desc and asc. Default value: asc.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulListResponseParams struct {
	// List of vulnerabilities
	VulInfoList []*VulInfoList `json:"VulInfoList,omitnil,omitempty" name:"VulInfoList"`

	// Total number of vulnerabilities
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Total number of key vulnerabilities
	FollowVulCount *uint64 `json:"FollowVulCount,omitnil,omitempty" name:"FollowVulCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulListResponseParams `json:"Response"`
}

func (r *DescribeVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulOverviewRequestParams struct {

}

type DescribeVulOverviewRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulOverviewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulOverviewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulOverviewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulOverviewResponseParams struct {
	// Statistics on focused vulnerabilities
	FollowVul *VulOverview `json:"FollowVul,omitnil,omitempty" name:"FollowVul"`

	// Statistics on all vulnerabilities
	AllVul *VulOverview `json:"AllVul,omitnil,omitempty" name:"AllVul"`

	// Statistics on affected hosts
	EffectHost *VulOverview `json:"EffectHost,omitnil,omitempty" name:"EffectHost"`

	// Statistics on vulnerability attack event (past 1 month)
	VulAttackEvent *VulOverview `json:"VulAttackEvent,omitnil,omitempty" name:"VulAttackEvent"`

	// Statistics on defended attacks (past 1 month)
	VulDefenceEvent *VulOverview `json:"VulDefenceEvent,omitnil,omitempty" name:"VulDefenceEvent"`

	// Vulnerability database statistics
	VulStore *VulOverview `json:"VulStore,omitnil,omitempty" name:"VulStore"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulOverviewResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulOverviewResponseParams `json:"Response"`
}

func (r *DescribeVulOverviewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulOverviewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulStoreListRequestParams struct {
	// <li>VulName- string - required: no - vulnerability name</li>
	// <li>CveId- string - required: no - cveid</li>
	// <li>VulCategory- string - required: no - vulnerability category: 1: WEB-CMS vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities</li>
	// <li>Method- string - required: no - detection method: 0: version comparison; 1: POC detection</li>
	// <li>SupportDefense - string - required: no - whether the defense is supported: 0: no; 1: yes</li>
	// <li>FixSwitch - string - required: no - whether automatic fixing is supported: 0: no; 1: yes</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting columns: [PublishDate].
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulStoreListRequest struct {
	*tchttp.BaseRequest
	
	// <li>VulName- string - required: no - vulnerability name</li>
	// <li>CveId- string - required: no - cveid</li>
	// <li>VulCategory- string - required: no - vulnerability category: 1: WEB-CMS vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities</li>
	// <li>Method- string - required: no - detection method: 0: version comparison; 1: POC detection</li>
	// <li>SupportDefense - string - required: no - whether the defense is supported: 0: no; 1: yes</li>
	// <li>FixSwitch - string - required: no - whether automatic fixing is supported: 0: no; 1: yes</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, which is 0 by default.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting columns: [PublishDate].
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulStoreListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulStoreListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulStoreListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulStoreListResponseParams struct {
	// Vulnerability information
	List []*VulStoreListInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Remaining Searches for Today
	Remaining *uint64 `json:"Remaining,omitnil,omitempty" name:"Remaining"`

	// Free Search Count
	FreeSearchTimes *uint64 `json:"FreeSearchTimes,omitnil,omitempty" name:"FreeSearchTimes"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulStoreListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulStoreListResponseParams `json:"Response"`
}

func (r *DescribeVulStoreListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulStoreListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTopRequestParams struct {
	// Top servers by vulnerability risks. The specific number is in the range of 1 to 100.
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability; 6: emergency vulnerability. If this parameter is left blank or set to 0, the statistical data of all these types of vulnerabilities is returned.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to count only focused vulnerabilities. 1: count only focused vulnerabilities; 0: count all vulnerabilities.
	IsFollowVul *uint64 `json:"IsFollowVul,omitnil,omitempty" name:"IsFollowVul"`
}

type DescribeVulTopRequest struct {
	*tchttp.BaseRequest
	
	// Top servers by vulnerability risks. The specific number is in the range of 1 to 100.
	Top *uint64 `json:"Top,omitnil,omitempty" name:"Top"`

	// 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability; 6: emergency vulnerability. If this parameter is left blank or set to 0, the statistical data of all these types of vulnerabilities is returned.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Whether to count only focused vulnerabilities. 1: count only focused vulnerabilities; 0: count all vulnerabilities.
	IsFollowVul *uint64 `json:"IsFollowVul,omitnil,omitempty" name:"IsFollowVul"`
}

func (r *DescribeVulTopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Top")
	delete(f, "VulCategory")
	delete(f, "IsFollowVul")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulTopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTopResponseParams struct {
	// List of top vulnerabilities.
	VulTopList []*VulTopInfo `json:"VulTopList,omitnil,omitempty" name:"VulTopList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulTopResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulTopResponseParams `json:"Response"`
}

func (r *DescribeVulTopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTrendRequestParams struct {

}

type DescribeVulTrendRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulTrendRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTrendRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulTrendRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTrendResponseParams struct {
	// Number of vulnerability exploitation attacks in the past six months
	VulEventCount *uint64 `json:"VulEventCount,omitnil,omitempty" name:"VulEventCount"`

	// Number of new vulnerability exploitation attacks in the past six months
	IncreaseVulEventCount *uint64 `json:"IncreaseVulEventCount,omitnil,omitempty" name:"IncreaseVulEventCount"`

	// Notable vulnerabilities attacked in the past six months
	HotVulCount *uint64 `json:"HotVulCount,omitnil,omitempty" name:"HotVulCount"`

	// New notable vulnerabilities attacked in the past six months
	IncreaseHotVulCount *uint64 `json:"IncreaseHotVulCount,omitnil,omitempty" name:"IncreaseHotVulCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulTrendResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulTrendResponseParams `json:"Response"`
}

func (r *DescribeVulTrendResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTrendResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWarningHostConfigRequestParams struct {
	// Alarm type
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Limit per Page, 0 for no paging.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination offset. The default is 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeWarningHostConfigRequest struct {
	*tchttp.BaseRequest
	
	// Alarm type
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Limit per Page, 0 for no paging.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination offset. The default is 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *DescribeWarningHostConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWarningHostConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWarningHostConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWarningHostConfigResponseParams struct {
	// Alarm Host Range Type. 0: All Hosts; 1: By Project; 2: By Tencent Cloud Tag; 3: By Host Security Tag; 4: Custom Hosts
	HostRange *int64 `json:"HostRange,omitnil,omitempty" name:"HostRange"`

	// List of Project or Tag Names, empty for custom hosts
	ItemLabels []*string `json:"ItemLabels,omitnil,omitempty" name:"ItemLabels"`

	// Machine list
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Total Number of Machine Lists
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of Project or Tag IDs, empty for custom hosts
	ItemLabelIds []*string `json:"ItemLabelIds,omitnil,omitempty" name:"ItemLabelIds"`

	// List of machines to be excluded.
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWarningHostConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWarningHostConfigResponseParams `json:"Response"`
}

func (r *DescribeWarningHostConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWarningHostConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWarningListRequestParams struct {

}

type DescribeWarningListRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeWarningListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWarningListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWarningListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWarningListResponseParams struct {
	// Obtain Alarm List
	WarningInfoList []*WarningInfoObj `json:"WarningInfoList,omitnil,omitempty" name:"WarningInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWarningListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWarningListResponseParams `json:"Response"`
}

func (r *DescribeWarningListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWarningListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookPolicyRequestParams struct {
	// Filter criteria
	Filter []*Filter `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Offset, which defaults to 0
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeWebHookPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	Filter []*Filter `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Offset, which defaults to 0
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeWebHookPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filter")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWebHookPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookPolicyResponseParams struct {
	// Policy List
	List []*WebHookPolicy `json:"List,omitnil,omitempty" name:"List"`

	// Number of policy lists
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWebHookPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWebHookPolicyResponseParams `json:"Response"`
}

func (r *DescribeWebHookPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookReceiverRequestParams struct {
	// Filter criteria
	Filter []*Filter `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Offset, which defaults to 0
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeWebHookReceiverRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	Filter []*Filter `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Offset, which defaults to 0
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeWebHookReceiverRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookReceiverRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filter")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWebHookReceiverRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookReceiverResponseParams struct {
	// Alarm recipient list
	List []*WebHookReceiver `json:"List,omitnil,omitempty" name:"List"`

	// Number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWebHookReceiverResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWebHookReceiverResponseParams `json:"Response"`
}

func (r *DescribeWebHookReceiverResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookReceiverResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookReceiverUsageRequestParams struct {
	// Alarm recipient list
	List []*WebHookReceiver `json:"List,omitnil,omitempty" name:"List"`
}

type DescribeWebHookReceiverUsageRequest struct {
	*tchttp.BaseRequest
	
	// Alarm recipient list
	List []*WebHookReceiver `json:"List,omitnil,omitempty" name:"List"`
}

func (r *DescribeWebHookReceiverUsageRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookReceiverUsageRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "List")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWebHookReceiverUsageRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookReceiverUsageResponseParams struct {
	// Usage information on associated policies of the alarm recipient
	List []*WebHookReceiverUsage `json:"List,omitnil,omitempty" name:"List"`

	// Number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWebHookReceiverUsageResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWebHookReceiverUsageResponseParams `json:"Response"`
}

func (r *DescribeWebHookReceiverUsageResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookReceiverUsageResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookRuleRequestParams struct {
	// Rule ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeWebHookRuleRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeWebHookRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWebHookRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookRuleResponseParams struct {
	// Rule content
	Data *WebHookRuleDetail `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWebHookRuleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWebHookRuleResponseParams `json:"Response"`
}

func (r *DescribeWebHookRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookRulesRequestParams struct {
	// Filter criteria
	Filter []*Filter `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeWebHookRulesRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	Filter []*Filter `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Default value: 10. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeWebHookRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filter")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWebHookRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebHookRulesResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Rule content
	List []*WebHookRuleSummary `json:"List,omitnil,omitempty" name:"List"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWebHookRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWebHookRulesResponseParams `json:"Response"`
}

func (r *DescribeWebHookRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebHookRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWindowsPatchListRequestParams struct {
	// Pagination parameter
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting order: desc. Default value: asc.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Selectable sorting field
	// <li>PublishTime</li>
	// <li>LastScanTime</li>
	// <li>HostCount</li>
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria. <li>Status: string type optional processing status 0-pending, 1-ignored, 3-fixed</li><li>ShowNew: int type optional show latest version 1-enable 0-disable</li><li>Name: string type optional patch name</li><li>KbNo: string type optional Patch Number</li><li>VulName: string type optional vulnerability name</li><li>CVEId: string type optional CVE number</li><li>Uuid: string type optional host uuid</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeWindowsPatchListRequest struct {
	*tchttp.BaseRequest
	
	// Pagination parameter
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sorting order: desc. Default value: asc.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Selectable sorting field
	// <li>PublishTime</li>
	// <li>LastScanTime</li>
	// <li>HostCount</li>
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter criteria. <li>Status: string type optional processing status 0-pending, 1-ignored, 3-fixed</li><li>ShowNew: int type optional show latest version 1-enable 0-disable</li><li>Name: string type optional patch name</li><li>KbNo: string type optional Patch Number</li><li>VulName: string type optional vulnerability name</li><li>CVEId: string type optional CVE number</li><li>Uuid: string type optional host uuid</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeWindowsPatchListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWindowsPatchListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Order")
	delete(f, "By")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeWindowsPatchListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWindowsPatchListResponseParams struct {
	// Total number of patches and vulnerabilities
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Windows patch information list
	PatchInfoList []*EventPatchInfo `json:"PatchInfoList,omitnil,omitempty" name:"PatchInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWindowsPatchListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWindowsPatchListResponseParams `json:"Response"`
}

func (r *DescribeWindowsPatchListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWindowsPatchListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeYDRaspBlackWhiteRequestParams struct {
	// Filter criteria
	// <li>WhiteContent - String - required: no - allowlist content search</li>
	// <li>GroupName - String - required: no - Search rule name</li>
	// <li>Source - String - Required: No - Allowlisted module</li>
	// <li>Status - String - required: no - policy switch</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeYDRaspBlackWhiteRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>WhiteContent - String - required: no - allowlist content search</li>
	// <li>GroupName - String - required: no - Search rule name</li>
	// <li>Source - String - Required: No - Allowlisted module</li>
	// <li>Status - String - required: no - policy switch</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries to be returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort field, which currently supports CreateTime and ModifyTime. The default value is ModifyTime.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: DESC, ASC.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeYDRaspBlackWhiteRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeYDRaspBlackWhiteRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeYDRaspBlackWhiteRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeYDRaspBlackWhiteResponseParams struct {
	// List content
	List []*YDRaspBlackWhiteListItem `json:"List,omitnil,omitempty" name:"List"`

	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeYDRaspBlackWhiteResponse struct {
	*tchttp.BaseResponse
	Response *DescribeYDRaspBlackWhiteResponseParams `json:"Response"`
}

func (r *DescribeYDRaspBlackWhiteResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeYDRaspBlackWhiteResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DestroyOrderRequestParams struct {
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Authorization type. 0: Pro Edition - pay-as-you-go; 1: Pro Edition - yearly/monthly subscription; 2: Ultimate Edition - yearly/monthly subscription.
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`
}

type DestroyOrderRequest struct {
	*tchttp.BaseRequest
	
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Authorization type. 0: Pro Edition - pay-as-you-go; 1: Pro Edition - yearly/monthly subscription; 2: Ultimate Edition - yearly/monthly subscription.
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`
}

func (r *DestroyOrderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DestroyOrderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ResourceId")
	delete(f, "LicenseType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DestroyOrderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DestroyOrderResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DestroyOrderResponse struct {
	*tchttp.BaseResponse
	Response *DestroyOrderResponseParams `json:"Response"`
}

func (r *DestroyOrderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DestroyOrderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type DuplicateHosts struct {
	// Quuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Uuid
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Id
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

// Predefined struct for user
type EditBashRulesRequestParams struct {
	// Rule ID (leave this parameter blank for addition)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Rule name, which cannot be modified during editing
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Risk level (0: none; 1: high-risk; 2: medium-risk; 3: low-risk)
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Regular expression, which cannot be modified during editing. Apply the QueryEscape function to the content and then perform Base64 encoding.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Whether the rule is global. 1: global; 0: not global (default value).
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// 0: blocklist; 1: allowlist
	White *uint64 `json:"White,omitnil,omitempty" name:"White"`

	// When it is added to the allowlist, the event ID needs to be passed in.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to add existing events to the allowlist. 0: no; 1: yes.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Policy description
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// Effective or not [0: not effective, 1: effective]
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// 0: alarm; 1: allowlist; 2: intercept
	BashAction *int64 `json:"BashAction,omitnil,omitempty" name:"BashAction"`

	// Effective range (0: a set of quuid 1: all Pro edition hosts 2: all Pro edition and Ultimate edition hosts 3: all hosts)
	Scope *int64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// QUUID set for effective hosts
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type EditBashRulesRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID (leave this parameter blank for addition)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Rule name, which cannot be modified during editing
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Risk level (0: none; 1: high-risk; 2: medium-risk; 3: low-risk)
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Regular expression, which cannot be modified during editing. Apply the QueryEscape function to the content and then perform Base64 encoding.
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Whether the rule is global. 1: global; 0: not global (default value).
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// 0: blocklist; 1: allowlist
	White *uint64 `json:"White,omitnil,omitempty" name:"White"`

	// When it is added to the allowlist, the event ID needs to be passed in.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to add existing events to the allowlist. 0: no; 1: yes.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Policy description
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// Effective or not [0: not effective, 1: effective]
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// 0: alarm; 1: allowlist; 2: intercept
	BashAction *int64 `json:"BashAction,omitnil,omitempty" name:"BashAction"`

	// Effective range (0: a set of quuid 1: all Pro edition hosts 2: all Pro edition and Ultimate edition hosts 3: all hosts)
	Scope *int64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// QUUID set for effective hosts
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *EditBashRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditBashRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Uuids")
	delete(f, "HostIp")
	delete(f, "Name")
	delete(f, "Level")
	delete(f, "Rule")
	delete(f, "IsGlobal")
	delete(f, "White")
	delete(f, "EventId")
	delete(f, "DealOldEvents")
	delete(f, "Descript")
	delete(f, "Status")
	delete(f, "BashAction")
	delete(f, "Scope")
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EditBashRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditBashRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EditBashRulesResponse struct {
	*tchttp.BaseResponse
	Response *EditBashRulesResponseParams `json:"Response"`
}

func (r *EditBashRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditBashRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditPrivilegeRulesRequestParams struct {
	// Rule ID (Leave it blank when adding rules.)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether it is a S permission process
	SMode *uint64 `json:"SMode,omitnil,omitempty" name:"SMode"`

	// Whether the rule is global (not global by default)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// ID of the associated event when the user clicks Add to Allowlist on the event list and details page (leave this parameter blank for rule addition)
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type EditPrivilegeRulesRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID (Leave it blank when adding rules.)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether it is a S permission process
	SMode *uint64 `json:"SMode,omitnil,omitempty" name:"SMode"`

	// Whether the rule is global (not global by default)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// ID of the associated event when the user clicks Add to Allowlist on the event list and details page (leave this parameter blank for rule addition)
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *EditPrivilegeRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditPrivilegeRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Uuids")
	delete(f, "HostIp")
	delete(f, "ProcessName")
	delete(f, "SMode")
	delete(f, "IsGlobal")
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EditPrivilegeRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditPrivilegeRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EditPrivilegeRulesResponse struct {
	*tchttp.BaseResponse
	Response *EditPrivilegeRulesResponseParams `json:"Response"`
}

func (r *EditPrivilegeRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditPrivilegeRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditReverseShellRulesRequestParams struct {
	// Rule ID (leave this parameter blank for addition)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Target IP address
	DestIp *string `json:"DestIp,omitnil,omitempty" name:"DestIp"`

	// Target port
	DestPort *string `json:"DestPort,omitnil,omitempty" name:"DestPort"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether the rule is global (not global by default)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// ID of the associated event when clicking Add to Allowlist on the event list and details page (leave this parameter blank for rule addition)
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type EditReverseShellRulesRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID (leave this parameter blank for addition)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Target IP address
	DestIp *string `json:"DestIp,omitnil,omitempty" name:"DestIp"`

	// Target port
	DestPort *string `json:"DestPort,omitnil,omitempty" name:"DestPort"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether the rule is global (not global by default)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// ID of the associated event when clicking Add to Allowlist on the event list and details page (leave this parameter blank for rule addition)
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *EditReverseShellRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditReverseShellRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Uuids")
	delete(f, "HostIp")
	delete(f, "DestIp")
	delete(f, "DestPort")
	delete(f, "ProcessName")
	delete(f, "IsGlobal")
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EditReverseShellRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditReverseShellRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EditReverseShellRulesResponse struct {
	*tchttp.BaseResponse
	Response *EditReverseShellRulesResponseParams `json:"Response"`
}

func (r *EditReverseShellRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditReverseShellRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditTagsRequestParams struct {
	// Tag name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Tag ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Quuid
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type EditTagsRequest struct {
	*tchttp.BaseRequest
	
	// Tag name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Tag ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Quuid
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *EditTagsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditTagsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Id")
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "EditTagsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type EditTagsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type EditTagsResponse struct {
	*tchttp.BaseResponse
	Response *EditTagsResponseParams `json:"Response"`
}

func (r *EditTagsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *EditTagsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type EmergencyVul struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Release date
	PublishDate *string `json:"PublishDate,omitnil,omitempty" name:"PublishDate"`

	// Vulnerability category
	Category *uint64 `json:"Category,omitnil,omitempty" name:"Category"`

	// Vulnerability status. 0: not detected; 1: at risk; 2: not at risk; 3: show progress during check
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Last scan time
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Scan progress
	Progress *uint64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// CVSS score
	CvssScore *float64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// Vulnerability Tags, Separated by Multiple Commas
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Number of affected machines
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Support defense: 0-no support 1-support
	IsSupportDefense *uint64 `json:"IsSupportDefense,omitnil,omitempty" name:"IsSupportDefense"`

	// Number of Attacks Defended
	DefenseAttackCount *uint64 `json:"DefenseAttackCount,omitnil,omitempty" name:"DefenseAttackCount"`

	// Detection rule. 0: version comparison, 1: POC verification.
	Method *uint64 `json:"Method,omitnil,omitempty" name:"Method"`

	// Attack intensity level.
	AttackLevel *uint64 `json:"AttackLevel,omitnil,omitempty" name:"AttackLevel"`

	// Whether vulnerable hosts are enabled with vulnerability defense.
	DefenseState *bool `json:"DefenseState,omitnil,omitempty" name:"DefenseState"`
}

type EventPatchInfo struct {
	// Patch name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Patch Number
	KbNo *string `json:"KbNo,omitnil,omitempty" name:"KbNo"`

	// Disclosure time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Number of affected hosts.
	EffectHostCount *uint64 `json:"EffectHostCount,omitnil,omitempty" name:"EffectHostCount"`

	// Number of associated vulnerabilities
	RelateVulCount *uint64 `json:"RelateVulCount,omitnil,omitempty" name:"RelateVulCount"`

	// Associated vulnerability ID array
	RelateVulList []*string `json:"RelateVulList,omitnil,omitempty" name:"RelateVulList"`

	// Whether it is the latest disclosure [0: no | 1: yes], no by default
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Last scan time
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// 0 pending, 1 ignored, 3 fixed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Prerequisite for installing the kb is generally other KBs, and there may be multiple, with KBs separated by ", "
	KbPreCondition *string `json:"KbPreCondition,omitnil,omitempty" name:"KbPreCondition"`

	// Name of the windows product associated with the kb
	RelatedProduct *string `json:"RelatedProduct,omitnil,omitempty" name:"RelatedProduct"`

	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Related kb event id collection
	Ids *string `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type EventStat struct {
	// Number of events
	EventsNum *uint64 `json:"EventsNum,omitnil,omitempty" name:"EventsNum"`

	// Number of affected hosts
	MachineAffectNum *uint64 `json:"MachineAffectNum,omitnil,omitempty" name:"MachineAffectNum"`
}

// Predefined struct for user
type ExportAssetAppListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering conditions.<li>AppName - string - required: no - application name for search.</li><li>IP - String - required: no - host IP address.</li><li>MachineName - String - required: no - host name.</li><li>InstanceID - string - required: no - instance ID.</li><li>Type - int - required: no - Type	: for Linux only. 0: all; 1: Ops; 2: database; 3: security; 4: suspicious application; 5: system architecture; 6: system application; 7: web service; 99: others.</li><li>OsType - uint64 - required: no - Windows or Linux.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetAppListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering conditions.<li>AppName - string - required: no - application name for search.</li><li>IP - String - required: no - host IP address.</li><li>MachineName - String - required: no - host name.</li><li>InstanceID - string - required: no - instance ID.</li><li>Type - int - required: no - Type	: for Linux only. 0: all; 1: Ops; 2: database; 3: security; 4: suspicious application; 5: system architecture; 6: system application; 7: web service; 99: others.</li><li>OsType - uint64 - required: no - Windows or Linux.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetAppListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetAppListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetAppListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetAppListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetAppListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetAppListResponseParams `json:"Response"`
}

func (r *ExportAssetAppListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetAppListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetCoreModuleListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name- string - required: no - package name</li>
	// <li>User- string - required: no - username</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting criteria [FirstTime|Size|ProcessCount|ModuleCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetCoreModuleListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name- string - required: no - package name</li>
	// <li>User- string - required: no - username</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting criteria [FirstTime|Size|ProcessCount|ModuleCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetCoreModuleListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetCoreModuleListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetCoreModuleListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetCoreModuleListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetCoreModuleListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetCoreModuleListResponseParams `json:"Response"`
}

func (r *ExportAssetCoreModuleListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetCoreModuleListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetDatabaseListRequestParams struct {
	// Filtering criteria
	// <li>User- string - required: no - running user</li>
	// <li>Ip - String - required: no - bound IP address</li>
	// <li>Port - Int - required: no - port</li>
	// <li>Name - Int - required: no - database name
	// 0: all
	// 1:MySQL
	// 2:Redis
	// 3:Oracle
	// 4:MongoDB
	// 5:MemCache
	// 6:PostgreSQL
	// 7:HBase
	// 8:DB2
	// 9:Sybase
	// 10:TiDB</li>
	// <li>Proto - String - required: no - protocol: 1: TCP; 2: UDP; 3: unknown</li>
	// <li>OsType - String - required: no - operating system: Linux/Windows</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Sorting order: asc for ascending or desc for descending
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetDatabaseListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// <li>User- string - required: no - running user</li>
	// <li>Ip - String - required: no - bound IP address</li>
	// <li>Port - Int - required: no - port</li>
	// <li>Name - Int - required: no - database name
	// 0: all
	// 1:MySQL
	// 2:Redis
	// 3:Oracle
	// 4:MongoDB
	// 5:MemCache
	// 6:PostgreSQL
	// 7:HBase
	// 8:DB2
	// 9:Sybase
	// 10:TiDB</li>
	// <li>Proto - String - required: no - protocol: 1: TCP; 2: UDP; 3: unknown</li>
	// <li>OsType - String - required: no - operating system: Linux/Windows</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Sorting order: asc for ascending or desc for descending
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetDatabaseListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetDatabaseListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Quuid")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetDatabaseListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetDatabaseListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetDatabaseListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetDatabaseListResponseParams `json:"Response"`
}

func (r *ExportAssetDatabaseListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetDatabaseListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetEnvListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - string - required: no - environment variable name</li>
	// <li>Type - int - required: no - type: 0 - user variable; 1 - system variable</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetEnvListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - string - required: no - environment variable name</li>
	// <li>Type - int - required: no - type: 0 - user variable; 1 - system variable</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetEnvListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetEnvListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetEnvListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetEnvListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetEnvListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetEnvListResponseParams `json:"Response"`
}

func (r *ExportAssetEnvListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetEnvListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetInitServiceListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name- string - required: no - package name</li>
	// <li>User- string - required: no - user</li>
	// <li>Status- string - required: no - default enabling status: 0 - unenabled; 1 - enabled (Linux only)</li>
	// <li>Type- string - required: no - type: type (Windows only)
	// 1: Encoder
	// 2: IE plugin
	// 3: Network provider
	// 4: Mirror hijacking
	// 5: LSA provider
	// 6:KnownDLLs
	// 7: Start execution
	// 8:WMI
	// 9: Scheduled task
	// 10: Winsock provider
	// 11: Printing monitor
	// 12: Resource manager
	// 13: Driver service
	// 14: Log-in </li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetInitServiceListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name- string - required: no - package name</li>
	// <li>User- string - required: no - user</li>
	// <li>Status- string - required: no - default enabling status: 0 - unenabled; 1 - enabled (Linux only)</li>
	// <li>Type- string - required: no - type: type (Windows only)
	// 1: Encoder
	// 2: IE plugin
	// 3: Network provider
	// 4: Mirror hijacking
	// 5: LSA provider
	// 6:KnownDLLs
	// 7: Start execution
	// 8:WMI
	// 9: Scheduled task
	// 10: Winsock provider
	// 11: Printing monitor
	// 12: Resource manager
	// 13: Driver service
	// 14: Log-in </li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetInitServiceListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetInitServiceListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetInitServiceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetInitServiceListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetInitServiceListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetInitServiceListResponseParams `json:"Response"`
}

func (r *ExportAssetInitServiceListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetInitServiceListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetJarListRequestParams struct {
	// Filter criteria
	// <li>Name- string - required: no - package name</li>
	// <li>Type- uint - required: no - type	
	// 1: Application
	// 2: System library
	// 3: Web service built-in library
	// 4: Other dependent packages</li>
	// <li>Status- string - required: no - whether executable: 0 - no; 1 yes</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetJarListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Name- string - required: no - package name</li>
	// <li>Type- uint - required: no - type	
	// 1: Application
	// 2: System library
	// 3: Web service built-in library
	// 4: Other dependent packages</li>
	// <li>Status- string - required: no - whether executable: 0 - no; 1 yes</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetJarListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetJarListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetJarListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetJarListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetJarListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetJarListResponseParams `json:"Response"`
}

func (r *ExportAssetJarListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetJarListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetMachineDetailRequestParams struct {
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type ExportAssetMachineDetailRequest struct {
	*tchttp.BaseRequest
	
	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

func (r *ExportAssetMachineDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetMachineDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Uuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetMachineDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetMachineDetailResponseParams struct {
	// Download link
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetMachineDetailResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetMachineDetailResponseParams `json:"Response"`
}

func (r *ExportAssetMachineDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetMachineDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetMachineListRequestParams struct {
	// Filter criteria
	// <li>IP - String - Required: No - Host IP</li>
	// <li>MachineName - String - Required: No - hostname</li>
	// <li>InstanceID - string - Required: No - Instance ID</li>
	// <li>OsType - String - required: no - Windows or Linux</li>
	// <li>CpuLoad - Int - required: no - 
	// 0: 0% or unknown; 1: 0% to 20%
	// 2: 20%~50%  3: 50%~80%
	// 4: 80%~100%</li>
	// <li>DiskLoad - Int - required: no - 
	// 0: 0% or unknown; 1: 0% to 20%
	// 2: 20%~50%  3: 50%=~80%
	// 4: 80%~100%</li>
	// <li>MemLoad - Int - required: no - 
	// 0: 0% or unknown; 1: 0% to 20%
	// 2: 20%~50%  3: 50%~80%
	// 4: 80%~100%</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method [FirstTime|PartitionCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetMachineListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>IP - String - Required: No - Host IP</li>
	// <li>MachineName - String - Required: No - hostname</li>
	// <li>InstanceID - string - Required: No - Instance ID</li>
	// <li>OsType - String - required: no - Windows or Linux</li>
	// <li>CpuLoad - Int - required: no - 
	// 0: 0% or unknown; 1: 0% to 20%
	// 2: 20%~50%  3: 50%~80%
	// 4: 80%~100%</li>
	// <li>DiskLoad - Int - required: no - 
	// 0: 0% or unknown; 1: 0% to 20%
	// 2: 20%~50%  3: 50%=~80%
	// 4: 80%~100%</li>
	// <li>MemLoad - Int - required: no - 
	// 0: 0% or unknown; 1: 0% to 20%
	// 2: 20%~50%  3: 50%~80%
	// 4: 80%~100%</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method [FirstTime|PartitionCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetMachineListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetMachineListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetMachineListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetMachineListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetMachineListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetMachineListResponseParams `json:"Response"`
}

func (r *ExportAssetMachineListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetMachineListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetPlanTaskListRequestParams struct {
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>User- string - required: no - user</li>
	// <li>Status- int - required: no - default enabling status: 0 - unenabled; 1 - enabled</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetPlanTaskListRequest struct {
	*tchttp.BaseRequest
	
	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>User- string - required: no - user</li>
	// <li>Status- int - required: no - default enabling status: 0 - unenabled; 1 - enabled</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetPlanTaskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetPlanTaskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetPlanTaskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetPlanTaskListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetPlanTaskListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetPlanTaskListResponseParams `json:"Response"`
}

func (r *ExportAssetPlanTaskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetPlanTaskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetPortInfoListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Port - uint64 - required: no - port</li>
	// <li>Ip - String - required: no - bound IP address</li>
	// <li>ProcessName - String - required: no - process name</li>
	// <li>Pid - uint64 - required: no - PID</li>
	// <li>User - String - required: no - running user</li>
	// <li>Group - String - required: no - user group</li>
	// <li>Ppid - uint64 - required: no - PPID</li>
	// <li>Proto - string - required: no - tcp/udp or "" (empty string to filter unknown status)</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>RunTimeStart - String - required: no - running start time</li>
	// <li>RunTimeEnd - String - required: no - running end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetPortInfoListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Port - uint64 - required: no - port</li>
	// <li>Ip - String - required: no - bound IP address</li>
	// <li>ProcessName - String - required: no - process name</li>
	// <li>Pid - uint64 - required: no - PID</li>
	// <li>User - String - required: no - running user</li>
	// <li>Group - String - required: no - user group</li>
	// <li>Ppid - uint64 - required: no - PPID</li>
	// <li>Proto - string - required: no - tcp/udp or "" (empty string to filter unknown status)</li>
	// <li>OsType - uint64 - required: no - Windows/Linux</li>
	// <li>RunTimeStart - String - required: no - running start time</li>
	// <li>RunTimeEnd - String - required: no - running end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetPortInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetPortInfoListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetPortInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetPortInfoListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetPortInfoListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetPortInfoListResponseParams `json:"Response"`
}

func (r *ExportAssetPortInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetPortInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetProcessInfoListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - whether required: no - process name</li>
	// <li>User - String - whether required: no - Process user</li>
	// <li>Group - String - whether required: no - Process user group</li>
	// <li>Pid - uint64 - whether required: no - process ID</li>
	// <li>Ppid - uint64 - whether required: no - parent process ID</li>
	// <li>OsType - uint64 - whether required: no - windows/Linux</li>
	// <li>Status - string - whether required: no - process status:
	// 0: all
	// 1: R executable
	// 2: S interruptible
	// 3: Uninterruptible</li>
	// <li>RunTimeStart - String - whether required: no - start time of running</li>
	// <li>RunTimeEnd - String - whether required: no - end time of running</li>
	// <li>InstallByPackage - uint64 - whether required: no - whether to install via a package: 0 - no; 1 - yes</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetProcessInfoListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - whether required: no - process name</li>
	// <li>User - String - whether required: no - Process user</li>
	// <li>Group - String - whether required: no - Process user group</li>
	// <li>Pid - uint64 - whether required: no - process ID</li>
	// <li>Ppid - uint64 - whether required: no - parent process ID</li>
	// <li>OsType - uint64 - whether required: no - windows/Linux</li>
	// <li>Status - string - whether required: no - process status:
	// 0: all
	// 1: R executable
	// 2: S interruptible
	// 3: Uninterruptible</li>
	// <li>RunTimeStart - String - whether required: no - start time of running</li>
	// <li>RunTimeEnd - String - whether required: no - end time of running</li>
	// <li>InstallByPackage - uint64 - whether required: no - whether to install via a package: 0 - no; 1 - yes</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|StartTime]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetProcessInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetProcessInfoListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetProcessInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetProcessInfoListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetProcessInfoListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetProcessInfoListResponseParams `json:"Response"`
}

func (r *ExportAssetProcessInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetProcessInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetRecentMachineInfoRequestParams struct {
	// Start time
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

type ExportAssetRecentMachineInfoRequest struct {
	*tchttp.BaseRequest
	
	// Start time
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

func (r *ExportAssetRecentMachineInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetRecentMachineInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BeginDate")
	delete(f, "EndDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetRecentMachineInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetRecentMachineInfoResponseParams struct {
	// Download URL
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetRecentMachineInfoResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetRecentMachineInfoResponseParams `json:"Response"`
}

func (r *ExportAssetRecentMachineInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetRecentMachineInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetSystemPackageListRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - required: no - package name</li>
	// <li>StartTime - String - required: no - start time of installation</li>
	// <li>EndTime - String - required: no - end time of installation</li>
	// <li>Type- int - required: no - installation package type:
	// 1:rpm
	// 2:dpkg
	// 3:java
	// 4:system</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FistTime|InstallTime: installation time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetSystemPackageListRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - required: no - package name</li>
	// <li>StartTime - String - required: no - start time of installation</li>
	// <li>EndTime - String - required: no - end time of installation</li>
	// <li>Type- int - required: no - installation package type:
	// 1:rpm
	// 2:dpkg
	// 3:java
	// 4:system</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FistTime|InstallTime: installation time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetSystemPackageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetSystemPackageListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetSystemPackageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetSystemPackageListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetSystemPackageListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetSystemPackageListResponseParams `json:"Response"`
}

func (r *ExportAssetSystemPackageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetSystemPackageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetUserListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	//   Filtering conditions.<li>Name - String - required: no - account name.</li> <li>Uid - uint64 - required: no - UID.</li> <li>Guid - uint64 - required: no - GUID.</li> <li>LoginTimeStart - String - required: no - start time, such as 2021-01-11.</li> <li>LoginTimeEnd - String - required: no - end time, such as 2021-01-11.</li> <li>LoginType - uint64 - required: no - 0 - login not allowed; 1 - only key-based login allowed; 2 - only password-based login allowed; 3 - both key-based and password-based login allowed (Linux only).</li> <li>OsType - String - required: no - Windows or Linux.</li> <li>Status - uint64 - required: no - account status: 0 - disabled; 1 - enabled.</li> <li>Type - uint64 - required: no - account type: 0: guest user; 1: standard user; 2: administrator user (Windows Only).</li> <li>IsDomain - uint64 - required: no - whether a domain account: 0: no; 1: yes (Windows only).</li> <li>IsRoot - uint64 - required: no - whether there is root permission: 0: no; 1: yes (Linux only).</li> <li>IsSudo - uint64 - required: no - whether there is sudo permission: 0: no; 1: yes (Linux only).</li> <li>IsSshLogin - uint64 - required: no - whether to use SSH login: 0: no; 1: yes (Linux only).</li> <li>ShellLoginStatus - uint64 - required: no - whether shell login allowed: 0: no; 1: yes (Linux only).</li> <li>PasswordStatus - uint64 - required: no - password status: 1: normal; 2: expiring soon; 3: expired; 4: locked (Linux only).</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|LoginTime|ChangePasswordTime|PasswordDuaTime]
	// PasswordLockDays
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetUserListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	//   Filtering conditions.<li>Name - String - required: no - account name.</li> <li>Uid - uint64 - required: no - UID.</li> <li>Guid - uint64 - required: no - GUID.</li> <li>LoginTimeStart - String - required: no - start time, such as 2021-01-11.</li> <li>LoginTimeEnd - String - required: no - end time, such as 2021-01-11.</li> <li>LoginType - uint64 - required: no - 0 - login not allowed; 1 - only key-based login allowed; 2 - only password-based login allowed; 3 - both key-based and password-based login allowed (Linux only).</li> <li>OsType - String - required: no - Windows or Linux.</li> <li>Status - uint64 - required: no - account status: 0 - disabled; 1 - enabled.</li> <li>Type - uint64 - required: no - account type: 0: guest user; 1: standard user; 2: administrator user (Windows Only).</li> <li>IsDomain - uint64 - required: no - whether a domain account: 0: no; 1: yes (Windows only).</li> <li>IsRoot - uint64 - required: no - whether there is root permission: 0: no; 1: yes (Linux only).</li> <li>IsSudo - uint64 - required: no - whether there is sudo permission: 0: no; 1: yes (Linux only).</li> <li>IsSshLogin - uint64 - required: no - whether to use SSH login: 0: no; 1: yes (Linux only).</li> <li>ShellLoginStatus - uint64 - required: no - whether shell login allowed: 0: no; 1: yes (Linux only).</li> <li>PasswordStatus - uint64 - required: no - password status: 1: normal; 2: expiring soon; 3: expired; 4: locked (Linux only).</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|LoginTime|ChangePasswordTime|PasswordDuaTime]
	// PasswordLockDays
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetUserListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetUserListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetUserListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetUserListResponseParams struct {
	// ID of asynchronous download task. It is used together with ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetUserListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetUserListResponseParams `json:"Response"`
}

func (r *ExportAssetUserListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetUserListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebAppListRequestParams struct {
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>Name - String - required: no - application name</li>
	// <li>Domain - String - required: no - site domain name</li>
	// <li>Type - int - required: no - service type:
	// 0: all
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:Jetty
	// 8:IHS
	// 9:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|PluginCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetWebAppListRequest struct {
	*tchttp.BaseRequest
	
	// Query the information on the host with the specified QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filtering criteria
	// <li>Name - String - required: no - application name</li>
	// <li>Domain - String - required: no - site domain name</li>
	// <li>Type - int - required: no - service type:
	// 0: all
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:Jetty
	// 8:IHS
	// 9:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting method: [FirstTime|PluginCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetWebAppListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebAppListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetWebAppListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebAppListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetWebAppListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetWebAppListResponseParams `json:"Response"`
}

func (r *ExportAssetWebAppListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebAppListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebFrameListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - Required: No - Framework Name</li>
	// <li>Lang - String - Required: No - Framework Language: java/python</li>
	// <li>Type - String - Required: No - Service Type:
	// 0: All
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional Sort: [FirstTime|JarCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetWebFrameListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - Required: No - Framework Name</li>
	// <li>Lang - String - Required: No - Framework Language: java/python</li>
	// <li>Type - String - Required: No - Service Type:
	// 0: All
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional Sort: [FirstTime|JarCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetWebFrameListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebFrameListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetWebFrameListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebFrameListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetWebFrameListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetWebFrameListResponseParams `json:"Response"`
}

func (r *ExportAssetWebFrameListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebFrameListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebLocationListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - required: no - domain name</li>
	// <li>User - String - required: no - running user</li>
	// <li>Port - uint64 - required: no - site port</li>
	// <li>Proto - uint64 - required: no - site protocol: 1 - HTTP; 2 - HTTPS</li>
	// <li>ServiceType - uint64 - required: no - service type:
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|PathCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetWebLocationListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Name - String - required: no - domain name</li>
	// <li>User - String - required: no - running user</li>
	// <li>Port - uint64 - required: no - site port</li>
	// <li>Proto - uint64 - required: no - site protocol: 1 - HTTP; 2 - HTTPS</li>
	// <li>ServiceType - uint64 - required: no - service type:
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - String - required: no - Windows/Linux</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|PathCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetWebLocationListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebLocationListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetWebLocationListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebLocationListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetWebLocationListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetWebLocationListResponseParams `json:"Response"`
}

func (r *ExportAssetWebLocationListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebLocationListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebServiceInfoListRequestParams struct {
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>User - string - whether required: no - running user</li>
	// <li>Name - string - whether required: no - Web service name:</li>
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - string - whether required: no - Windows/Linux</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportAssetWebServiceInfoListRequest struct {
	*tchttp.BaseRequest
	
	// Query information of a specified QUUID host
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>User - string - whether required: no - running user</li>
	// <li>Name - string - whether required: no - Web service name:</li>
	// 1:Tomcat
	// 2:Apache
	// 3:Nginx
	// 4:WebLogic
	// 5:Websphere
	// 6:JBoss
	// 7:WildFly
	// 8:Jetty
	// 9:IHS
	// 10:Tengine</li>
	// <li>OsType - string - whether required: no - Windows/Linux</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: asc for ascending order or desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting method: [FirstTime|ProcessCount]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportAssetWebServiceInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebServiceInfoListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAssetWebServiceInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAssetWebServiceInfoListResponseParams struct {
	// Asynchronous download of task ID, to be used with the ExportTasks API
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAssetWebServiceInfoListResponse struct {
	*tchttp.BaseResponse
	Response *ExportAssetWebServiceInfoListResponseParams `json:"Response"`
}

func (r *ExportAssetWebServiceInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAssetWebServiceInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAttackEventsRequestParams struct {
	// Filter parameters
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting value: CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type ExportAttackEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting value: CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *ExportAttackEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAttackEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportAttackEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportAttackEventsResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportAttackEventsResponse struct {
	*tchttp.BaseResponse
	Response *ExportAttackEventsResponseParams `json:"Response"`
}

func (r *ExportAttackEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportAttackEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineEffectHostListRequestParams struct {
	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Filtering criteria
	// <li>AliasName - String - host alias</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Host UUID array
	UuidList []*string `json:"UuidList,omitnil,omitempty" name:"UuidList"`

	// Baseline name
	BaselineName *string `json:"BaselineName,omitnil,omitempty" name:"BaselineName"`
}

type ExportBaselineEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Baseline ID
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Filtering criteria
	// <li>AliasName - String - host alias</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Host UUID array
	UuidList []*string `json:"UuidList,omitnil,omitempty" name:"UuidList"`

	// Baseline name
	BaselineName *string `json:"BaselineName,omitnil,omitempty" name:"BaselineName"`
}

func (r *ExportBaselineEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BaselineId")
	delete(f, "Filters")
	delete(f, "StrategyId")
	delete(f, "UuidList")
	delete(f, "BaselineName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBaselineEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineEffectHostListResponseParams struct {
	// This parameter has been deprecated.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBaselineEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *ExportBaselineEffectHostListResponseParams `json:"Response"`
}

func (r *ExportBaselineEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineFixListRequestParams struct {
	// <li>ItemName - String - required: no - item name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// 0: Filtered Result Export; 1: Export All
	ExportAll *int64 `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`
}

type ExportBaselineFixListRequest struct {
	*tchttp.BaseRequest
	
	// <li>ItemName - String - required: no - item name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// 0: Filtered Result Export; 1: Export All
	ExportAll *int64 `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`
}

func (r *ExportBaselineFixListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineFixListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "ExportAll")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBaselineFixListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineFixListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBaselineFixListResponse struct {
	*tchttp.BaseResponse
	Response *ExportBaselineFixListResponseParams `json:"Response"`
}

func (r *ExportBaselineFixListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineFixListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineHostDetectListRequestParams struct {
	// <li>HostTag - string - whether required: no - host tag</li> <li>ItemId - int64 - whether required: no - item ID</li> <li>RuleId - int64 - whether required: no - rule ID</li> <li>IsPassed - int - whether required: no - whether passed</li> <li>RiskTier - int - whether required: no - risk level</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// 0: Filtered Result Export; 1: Export All
	ExportAll *int64 `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`

	// 0: show the export interface; 1: export all result events
	IsExportDetail *int64 `json:"IsExportDetail,omitnil,omitempty" name:"IsExportDetail"`
}

type ExportBaselineHostDetectListRequest struct {
	*tchttp.BaseRequest
	
	// <li>HostTag - string - whether required: no - host tag</li> <li>ItemId - int64 - whether required: no - item ID</li> <li>RuleId - int64 - whether required: no - rule ID</li> <li>IsPassed - int - whether required: no - whether passed</li> <li>RiskTier - int - whether required: no - risk level</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// 0: Filtered Result Export; 1: Export All
	ExportAll *int64 `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`

	// 0: show the export interface; 1: export all result events
	IsExportDetail *int64 `json:"IsExportDetail,omitnil,omitempty" name:"IsExportDetail"`
}

func (r *ExportBaselineHostDetectListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineHostDetectListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "ExportAll")
	delete(f, "IsExportDetail")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBaselineHostDetectListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineHostDetectListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBaselineHostDetectListResponse struct {
	*tchttp.BaseResponse
	Response *ExportBaselineHostDetectListResponseParams `json:"Response"`
}

func (r *ExportBaselineHostDetectListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineHostDetectListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineItemDetectListRequestParams struct {
	// <li>HostId - string - required: no - host ID</li> <li>RuleId - int64 - required: no - rule ID</li> <li>IsPassed - int - required: no - pass or not</li> <li>RiskTier - int - required: no - risk level</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// 0: Filtered Result Export; 1: Export All
	ExportAll *int64 `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`

	// 0: show the export interface; 1: export all result events
	IsExportDetail *int64 `json:"IsExportDetail,omitnil,omitempty" name:"IsExportDetail"`
}

type ExportBaselineItemDetectListRequest struct {
	*tchttp.BaseRequest
	
	// <li>HostId - string - required: no - host ID</li> <li>RuleId - int64 - required: no - rule ID</li> <li>IsPassed - int - required: no - pass or not</li> <li>RiskTier - int - required: no - risk level</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// 0: Filtered Result Export; 1: Export All
	ExportAll *int64 `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`

	// 0: show the export interface; 1: export all result events
	IsExportDetail *int64 `json:"IsExportDetail,omitnil,omitempty" name:"IsExportDetail"`
}

func (r *ExportBaselineItemDetectListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineItemDetectListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "ExportAll")
	delete(f, "IsExportDetail")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBaselineItemDetectListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineItemDetectListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBaselineItemDetectListResponse struct {
	*tchttp.BaseResponse
	Response *ExportBaselineItemDetectListResponseParams `json:"Response"`
}

func (r *ExportBaselineItemDetectListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineItemDetectListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineListRequestParams struct {
	// Filter criteria:
	// <li>StrategyId- Uint64 - baseline policy ID</li>
	// <li>Status - Uint64 - event status: 0: failed; 1: ignored; 3: passed; 5: detecting</li>
	// <li>BaselineName - String - baseline name</li>
	// <li>AliasName - String - server name/server IP address</li>
	// <li>Uuid - String - host UUID</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// This parameter has been deprecated.
	IfDetail *uint64 `json:"IfDetail,omitnil,omitempty" name:"IfDetail"`
}

type ExportBaselineListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria:
	// <li>StrategyId- Uint64 - baseline policy ID</li>
	// <li>Status - Uint64 - event status: 0: failed; 1: ignored; 3: passed; 5: detecting</li>
	// <li>BaselineName - String - baseline name</li>
	// <li>AliasName - String - server name/server IP address</li>
	// <li>Uuid - String - host UUID</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// This parameter has been deprecated.
	IfDetail *uint64 `json:"IfDetail,omitnil,omitempty" name:"IfDetail"`
}

func (r *ExportBaselineListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "IfDetail")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBaselineListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBaselineListResponseParams struct {
	// Download URL of exported file (deprecated)
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBaselineListResponse struct {
	*tchttp.BaseResponse
	Response *ExportBaselineListResponseParams `json:"Response"`
}

func (r *ExportBaselineListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBaselineListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBashEventsNewRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportBashEventsNewRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportBashEventsNewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBashEventsNewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBashEventsNewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBashEventsNewResponseParams struct {
	// This parameter has been deprecated.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBashEventsNewResponse struct {
	*tchttp.BaseResponse
	Response *ExportBashEventsNewResponseParams `json:"Response"`
}

func (r *ExportBashEventsNewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBashEventsNewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBashEventsRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportBashEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportBashEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBashEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBashEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBashEventsResponseParams struct {
	// Export file download link
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBashEventsResponse struct {
	*tchttp.BaseResponse
	Response *ExportBashEventsResponseParams `json:"Response"`
}

func (r *ExportBashEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBashEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBashPoliciesRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportBashPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportBashPoliciesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBashPoliciesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBashPoliciesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBashPoliciesResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBashPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *ExportBashPoliciesResponseParams `json:"Response"`
}

func (r *ExportBashPoliciesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBashPoliciesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBruteAttacksRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportBruteAttacksRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportBruteAttacksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBruteAttacksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportBruteAttacksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportBruteAttacksResponseParams struct {
	// This parameter has been deprecated.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportBruteAttacksResponse struct {
	*tchttp.BaseResponse
	Response *ExportBruteAttacksResponseParams `json:"Response"`
}

func (r *ExportBruteAttacksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportBruteAttacksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportFileTamperEventsRequestParams struct {
	// Filtering criteria
	// <li>Status - String - required: no - processing status: 0: pending; 1: added to allowlist; 2: deleted; 3: ignored</li><li>ModifyTime - string - required: no - last occurrence time</li>
	// <li>Uuid - String - required: no - host UUID for querying</li>
	// <li>RuleCategory - string - required: no - rule category: 0: system rule; 1: custom rule</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Fields to be exported
	//
	// Deprecated: Fileds is deprecated.
	Fileds []*string `json:"Fileds,omitnil,omitempty" name:"Fileds"`

	// Fields to be exported
	//
	// Deprecated: Fields is deprecated.
	Fields *string `json:"Fields,omitnil,omitempty" name:"Fields"`

	// Fields to be exported
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

type ExportFileTamperEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// <li>Status - String - required: no - processing status: 0: pending; 1: added to allowlist; 2: deleted; 3: ignored</li><li>ModifyTime - string - required: no - last occurrence time</li>
	// <li>Uuid - String - required: no - host UUID for querying</li>
	// <li>RuleCategory - string - required: no - rule category: 0: system rule; 1: custom rule</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Fields to be exported
	Fileds []*string `json:"Fileds,omitnil,omitempty" name:"Fileds"`

	// Fields to be exported
	Fields *string `json:"Fields,omitnil,omitempty" name:"Fields"`

	// Fields to be exported
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

func (r *ExportFileTamperEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportFileTamperEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Fileds")
	delete(f, "Fields")
	delete(f, "Where")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportFileTamperEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportFileTamperEventsResponseParams struct {
	// The export task ID can be downloaded through the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportFileTamperEventsResponse struct {
	*tchttp.BaseResponse
	Response *ExportFileTamperEventsResponseParams `json:"Response"`
}

func (r *ExportFileTamperEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportFileTamperEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportFileTamperRulesRequestParams struct {
	// Filter criteria
	// <li>RuleCategory- string- rule category: 0 = system rule; 1 = user rule</li>
	// <li>Name - String - Rule name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportFileTamperRulesRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>RuleCategory- string- rule category: 0 = system rule; 1 = user rule</li>
	// <li>Name - String - Rule name</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportFileTamperRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportFileTamperRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportFileTamperRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportFileTamperRulesResponseParams struct {
	// The export task ID can be downloaded through the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportFileTamperRulesResponse struct {
	*tchttp.BaseResponse
	Response *ExportFileTamperRulesResponseParams `json:"Response"`
}

func (r *ExportFileTamperRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportFileTamperRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportIgnoreBaselineRuleRequestParams struct {
	// Detection item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

type ExportIgnoreBaselineRuleRequest struct {
	*tchttp.BaseRequest
	
	// Detection item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

func (r *ExportIgnoreBaselineRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportIgnoreBaselineRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportIgnoreBaselineRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportIgnoreBaselineRuleResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportIgnoreBaselineRuleResponse struct {
	*tchttp.BaseResponse
	Response *ExportIgnoreBaselineRuleResponseParams `json:"Response"`
}

func (r *ExportIgnoreBaselineRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportIgnoreBaselineRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportIgnoreRuleEffectHostListRequestParams struct {
	// Detection item ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Filtering criteria
	// <li>AliasName - String - host alias</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportIgnoreRuleEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Detection item ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Filtering criteria
	// <li>AliasName - String - host alias</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportIgnoreRuleEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportIgnoreRuleEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportIgnoreRuleEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportIgnoreRuleEffectHostListResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportIgnoreRuleEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *ExportIgnoreRuleEffectHostListResponseParams `json:"Response"`
}

func (r *ExportIgnoreRuleEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportIgnoreRuleEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ExportInfo struct {
	// Task ID of exported logs
	ExportId *string `json:"ExportId,omitnil,omitempty" name:"ExportId"`

	// Query statements of log export
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`

	// Filenames of exported logs
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Log file size
	FileSize *int64 `json:"FileSize,omitnil,omitempty" name:"FileSize"`

	// Sorting of log export time
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Log export format
	Format *string `json:"Format,omitnil,omitempty" name:"Format"`

	// Number of logs to be exported
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Log download status. Processing: export in progress; Completed: export completed; Failed: export failed; Expired: log export expired (valid for 3 days).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Start time of log export, with a millisecond-level UNIX timestamp
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of log export, with a millisecond-level UNIX timestamp
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Log export path
	CosPath *string `json:"CosPath,omitnil,omitempty" name:"CosPath"`

	// Creation time of log export
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

// Predefined struct for user
type ExportJavaMemShellPluginsRequestParams struct {
	// Filtering criteria: Keywords: IP or host name for fuzzy query; Pid for precise match; MainClass for fuzzy match
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

type ExportJavaMemShellPluginsRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: Keywords: IP or host name for fuzzy query; Pid for precise match; MainClass for fuzzy match
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

func (r *ExportJavaMemShellPluginsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportJavaMemShellPluginsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Where")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportJavaMemShellPluginsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportJavaMemShellPluginsResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportJavaMemShellPluginsResponse struct {
	*tchttp.BaseResponse
	Response *ExportJavaMemShellPluginsResponseParams `json:"Response"`
}

func (r *ExportJavaMemShellPluginsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportJavaMemShellPluginsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportJavaMemShellsRequestParams struct {
	// Filtering criteria: InstanceID and IP
	// 
	// MachineName host name for fuzzy query; Type, status for precise match; CreateBeginTime, CreateEndTime for time period
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort column, strictly equal: latest detection time RecentFoundTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportJavaMemShellsRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: InstanceID and IP
	// 
	// MachineName host name for fuzzy query; Type, status for precise match; CreateBeginTime, CreateEndTime for time period
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`

	// Sorting method (case insensitive): asc for ascending order; desc for descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sort column, strictly equal: latest detection time RecentFoundTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportJavaMemShellsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportJavaMemShellsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Where")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportJavaMemShellsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportJavaMemShellsResponseParams struct {
	// Task ID, which is used to obtain the download URL (DownloadUrl) using the <a href="https://intl.cloud.tencent.com/document/product/296/52508?from_cn_redirect=1" target="_blank">asynchronous task export</a> API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportJavaMemShellsResponse struct {
	*tchttp.BaseResponse
	Response *ExportJavaMemShellsResponseParams `json:"Response"`
}

func (r *ExportJavaMemShellsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportJavaMemShellsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportLicenseDetailRequestParams struct {
	// Take the intersection when filtering with multiple conditions: LicenseStatus, DeadlineStatus, ResourceId, and Keywords
	// <li> LicenseType authorization type. 0: Pro Edition-pay-as-you-go; 1: Pro Edition-yearly/monthly subscription; 2: Ultimate Edition-yearly/monthly subscription</li>
	// <li>ResourceId resource ID</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Whether to export all authorization details
	IsHistory *bool `json:"IsHistory,omitnil,omitempty" name:"IsHistory"`

	// Tag filtering; filter by the platform's tag capabilities. In this case, you should pass in the tag key and tag value as an object.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Export month, this parameter is optional only when IsHistory is active.
	ExportMonth *string `json:"ExportMonth,omitnil,omitempty" name:"ExportMonth"`
}

type ExportLicenseDetailRequest struct {
	*tchttp.BaseRequest
	
	// Take the intersection when filtering with multiple conditions: LicenseStatus, DeadlineStatus, ResourceId, and Keywords
	// <li> LicenseType authorization type. 0: Pro Edition-pay-as-you-go; 1: Pro Edition-yearly/monthly subscription; 2: Ultimate Edition-yearly/monthly subscription</li>
	// <li>ResourceId resource ID</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Whether to export all authorization details
	IsHistory *bool `json:"IsHistory,omitnil,omitempty" name:"IsHistory"`

	// Tag filtering; filter by the platform's tag capabilities. In this case, you should pass in the tag key and tag value as an object.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Export month, this parameter is optional only when IsHistory is active.
	ExportMonth *string `json:"ExportMonth,omitnil,omitempty" name:"ExportMonth"`
}

func (r *ExportLicenseDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportLicenseDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "IsHistory")
	delete(f, "Tags")
	delete(f, "ExportMonth")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportLicenseDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportLicenseDetailResponseParams struct {
	// Download URL. This field has been deprecated.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportLicenseDetailResponse struct {
	*tchttp.BaseResponse
	Response *ExportLicenseDetailResponseParams `json:"Response"`
}

func (r *ExportLicenseDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportLicenseDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportMaliciousRequestsRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportMaliciousRequestsRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportMaliciousRequestsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportMaliciousRequestsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportMaliciousRequestsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportMaliciousRequestsResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportMaliciousRequestsResponse struct {
	*tchttp.BaseResponse
	Response *ExportMaliciousRequestsResponseParams `json:"Response"`
}

func (r *ExportMaliciousRequestsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportMaliciousRequestsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportMalwaresRequestParams struct {
	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter parameters
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting value: CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type ExportMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Maximum number of entries. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter parameters
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting value: CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting method: ASC, DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *ExportMalwaresRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportMalwaresRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportMalwaresRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportMalwaresResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportMalwaresResponse struct {
	*tchttp.BaseResponse
	Response *ExportMalwaresResponseParams `json:"Response"`
}

func (r *ExportMalwaresResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportMalwaresResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportNonlocalLoginPlacesRequestParams struct {
	// <li>Status - int - required: no - filter by status: 1: normal log-in; 2: cross-region log-in</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportNonlocalLoginPlacesRequest struct {
	*tchttp.BaseRequest
	
	// <li>Status - int - required: no - filter by status: 1: normal log-in; 2: cross-region log-in</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportNonlocalLoginPlacesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportNonlocalLoginPlacesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportNonlocalLoginPlacesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportNonlocalLoginPlacesResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportNonlocalLoginPlacesResponse struct {
	*tchttp.BaseResponse
	Response *ExportNonlocalLoginPlacesResponseParams `json:"Response"`
}

func (r *ExportNonlocalLoginPlacesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportNonlocalLoginPlacesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportPatchEffectHostListRequestParams struct {
	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Filter criteria:  
	// <li>ProtectType : uint64 data type optional Version type 0 means BASIC_VERSION, 1 means Flagship </li>
	// <li>InstanceState: string type (optional) Host status: "PENDING": creating; "LAUNCH_FAILED": creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": to be terminated; "TERMINATING": terminating; "UNKNOWN": unknown (for non-Tencent Cloud machines and offline client)</li>
	// <li>Status - uint64 - optional - processing Status: 0 - pending; 1 - ignored; 3 - fixed</li>
	// <li>HostName : string type optional host name</li>
	// <li>InstanceID : string type optional host id</li>
	// <li>IpAddress: string type optional The ip address of the host</li>
	// <li>Uuid : string type, optional, host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportPatchEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Patch ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Filter criteria:  
	// <li>ProtectType : uint64 data type optional Version type 0 means BASIC_VERSION, 1 means Flagship </li>
	// <li>InstanceState: string type (optional) Host status: "PENDING": creating; "LAUNCH_FAILED": creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": to be terminated; "TERMINATING": terminating; "UNKNOWN": unknown (for non-Tencent Cloud machines and offline client)</li>
	// <li>Status - uint64 - optional - processing Status: 0 - pending; 1 - ignored; 3 - fixed</li>
	// <li>HostName : string type optional host name</li>
	// <li>InstanceID : string type optional host id</li>
	// <li>IpAddress: string type optional The ip address of the host</li>
	// <li>Uuid : string type, optional, host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportPatchEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportPatchEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "KbId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportPatchEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportPatchEffectHostListResponseParams struct {
	// Export task ID, which is downloadable via the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportPatchEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *ExportPatchEffectHostListResponseParams `json:"Response"`
}

func (r *ExportPatchEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportPatchEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportPrivilegeEventsRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportPrivilegeEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportPrivilegeEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportPrivilegeEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportPrivilegeEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportPrivilegeEventsResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportPrivilegeEventsResponse struct {
	*tchttp.BaseResponse
	Response *ExportPrivilegeEventsResponseParams `json:"Response"`
}

func (r *ExportPrivilegeEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportPrivilegeEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseBackupListRequestParams struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Status - Int - required: no - query by ransom status: 0 - not ransomed; 1 - ransomed</li>
	// <li>CreateTimeBegin - string - required: no - start of creation time</li>
	// <li>CreateTimeEnd - string - required: no - end of creation time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRansomDefenseBackupListRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Filter criteria
	// <li>Status - Int - required: no - query by ransom status: 0 - not ransomed; 1 - ransomed</li>
	// <li>CreateTimeBegin - string - required: no - start of creation time</li>
	// <li>CreateTimeEnd - string - required: no - end of creation time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRansomDefenseBackupListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseBackupListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRansomDefenseBackupListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseBackupListResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRansomDefenseBackupListResponse struct {
	*tchttp.BaseResponse
	Response *ExportRansomDefenseBackupListResponseParams `json:"Response"`
}

func (r *ExportRansomDefenseBackupListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseBackupListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseEventsListRequestParams struct {
	// Filter criteria
	// <li>HostName- string- host name</li>
	// <li>Status - Uint64: 0 - pending; 1 processed; 2 -trusted</li>
	// <li>HostIp - String - host IP</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRansomDefenseEventsListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>HostName- string- host name</li>
	// <li>Status - Uint64: 0 - pending; 1 processed; 2 -trusted</li>
	// <li>HostIp - String - host IP</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field, supporting CreateTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRansomDefenseEventsListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseEventsListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRansomDefenseEventsListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseEventsListResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRansomDefenseEventsListResponse struct {
	*tchttp.BaseResponse
	Response *ExportRansomDefenseEventsListResponseParams `json:"Response"`
}

func (r *ExportRansomDefenseEventsListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseEventsListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseMachineListRequestParams struct {
	// Filtering criteria
	// <li>Ips - String - required: no - IP address for querying</li>
	// <li>MachineNames - String - required: no - instance name for querying</li>
	// <li>Names - String - required: no - instance name for querying</li>
	// <li>Status - String - required: no - policy status: 0: backup in progress; 1: backup succeeded; 2: backup failed</li>
	// <li>LastBackupTimeBegin - String - required: no - start of the last backup time</li>
	// <li>LastBackupTimeEnd - String - required: no - end of the last backup time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRansomDefenseMachineListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// <li>Ips - String - required: no - IP address for querying</li>
	// <li>MachineNames - String - required: no - instance name for querying</li>
	// <li>Names - String - required: no - instance name for querying</li>
	// <li>Status - String - required: no - policy status: 0: backup in progress; 1: backup succeeded; 2: backup failed</li>
	// <li>LastBackupTimeBegin - String - required: no - start of the last backup time</li>
	// <li>LastBackupTimeEnd - String - required: no - end of the last backup time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRansomDefenseMachineListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseMachineListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRansomDefenseMachineListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseMachineListResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRansomDefenseMachineListResponse struct {
	*tchttp.BaseResponse
	Response *ExportRansomDefenseMachineListResponseParams `json:"Response"`
}

func (r *ExportRansomDefenseMachineListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseMachineListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseStrategyListRequestParams struct {
	// Filter criteria
	// <li>Ips - String - required: no - query by IP</li>
	// <li>MachineNames - String - required: no - query by instance name</li>
	// <li>Names - String - required: no - query by instance name</li>
	// <li>Dirs - String - Required: No - Bait Directory </li>
	// <li>Status - String - Required: No - Policy Status: 0 Disabled, 1 Enabled </li>
	// <li>BackupType - String - Required: No - Backup Mode: 0-Weekly; 1-Daily </li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRansomDefenseStrategyListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Ips - String - required: no - query by IP</li>
	// <li>MachineNames - String - required: no - query by instance name</li>
	// <li>Names - String - required: no - query by instance name</li>
	// <li>Dirs - String - Required: No - Bait Directory </li>
	// <li>Status - String - Required: No - Policy Status: 0 Disabled, 1 Enabled </li>
	// <li>BackupType - String - Required: No - Backup Mode: 0-Weekly; 1-Daily </li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRansomDefenseStrategyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseStrategyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRansomDefenseStrategyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseStrategyListResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRansomDefenseStrategyListResponse struct {
	*tchttp.BaseResponse
	Response *ExportRansomDefenseStrategyListResponseParams `json:"Response"`
}

func (r *ExportRansomDefenseStrategyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseStrategyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseStrategyMachinesRequestParams struct {
	// Filter criteria
	// <li>Ips - String - required: no - query by IP</li>
	// <li>MachineNames - String - required: no - query by instance name</li>
	// <li>Names - String - required: no - query by instance name</li>
	// <li>Status - String - required: no - policy status: 0 - backup in progress; 1 - backup succeeded; 2 - backup failed</li>
	// <li>LastBackupTimeBegin - String - required: no - start of the last backup time</li>
	// <li>LastBackupTimeEnd - String - required: no - end of the last backup time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type ExportRansomDefenseStrategyMachinesRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Ips - String - required: no - query by IP</li>
	// <li>MachineNames - String - required: no - query by instance name</li>
	// <li>Names - String - required: no - query by instance name</li>
	// <li>Status - String - required: no - policy status: 0 - backup in progress; 1 - backup succeeded; 2 - backup failed</li>
	// <li>LastBackupTimeBegin - String - required: no - start of the last backup time</li>
	// <li>LastBackupTimeEnd - String - required: no - end of the last backup time</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: ASC / DESC
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting fields, supporting CreateTime and MachineCount
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *ExportRansomDefenseStrategyMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseStrategyMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRansomDefenseStrategyMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRansomDefenseStrategyMachinesResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRansomDefenseStrategyMachinesResponse struct {
	*tchttp.BaseResponse
	Response *ExportRansomDefenseStrategyMachinesResponseParams `json:"Response"`
}

func (r *ExportRansomDefenseStrategyMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRansomDefenseStrategyMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportReverseShellEventsRequestParams struct {
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportReverseShellEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportReverseShellEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportReverseShellEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportReverseShellEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportReverseShellEventsResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportReverseShellEventsResponse struct {
	*tchttp.BaseResponse
	Response *ExportReverseShellEventsResponseParams `json:"Response"`
}

func (r *ExportReverseShellEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportReverseShellEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRiskDnsEventListRequestParams struct {
	// <li>MachineName  Host name</li>
	// 
	// 
	// 
	// Instance ID  
	// 
	//  
	// 
	// <li>IP - private IP address or public IP address - required: no - filter by host IP or alias</li>
	// <li>HostId - String - required: no - host ID</li>
	// <li>AgentId - String - required: no - client ID</li>
	// <li>PolicyType - String - required: no - policy type: 0 - system policy; 1 - user-defined policy</li>
	// <li>Domain - String - Required: No - Domain name (URL-encode the Domain name first, then base64 it)</li>
	// <li>HandleStatus - String - required: no - filter by status: 0 - pending; 2 - trusted; 3 - untrusted</li>
	// <li>BeginTime - String - Required: no - start time of last access</li>
	// <li>EndTime - String - required: no - end time of last access</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: [ASC: ascending order|DESC: descending order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [AccessCount: number of requests|LastTime: last request time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRiskDnsEventListRequest struct {
	*tchttp.BaseRequest
	
	// <li>MachineName  Host name</li>
	// 
	// 
	// 
	// Instance ID  
	// 
	//  
	// 
	// <li>IP - private IP address or public IP address - required: no - filter by host IP or alias</li>
	// <li>HostId - String - required: no - host ID</li>
	// <li>AgentId - String - required: no - client ID</li>
	// <li>PolicyType - String - required: no - policy type: 0 - system policy; 1 - user-defined policy</li>
	// <li>Domain - String - Required: No - Domain name (URL-encode the Domain name first, then base64 it)</li>
	// <li>HandleStatus - String - required: no - filter by status: 0 - pending; 2 - trusted; 3 - untrusted</li>
	// <li>BeginTime - String - Required: no - start time of last access</li>
	// <li>EndTime - String - required: no - end time of last access</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: [ASC: ascending order|DESC: descending order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: [AccessCount: number of requests|LastTime: last request time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRiskDnsEventListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRiskDnsEventListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRiskDnsEventListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRiskDnsEventListResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRiskDnsEventListResponse struct {
	*tchttp.BaseResponse
	Response *ExportRiskDnsEventListResponseParams `json:"Response"`
}

func (r *ExportRiskDnsEventListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRiskDnsEventListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRiskDnsPolicyListRequestParams struct {
	// <li>PolicyType - int - whether required: no - policy type</li>
	// <li>PolicyName - string - whether required: no - policy name</li>
	// <li>Domain - string - Required: No - Domain (first urlencode the domain, then base64)</li>
	// <li>PolicyAction- int - whether required: no - policy action</li>
	// <li>IsEnabled - int - whether required: no - whether effective</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting column: [PolicyName|HostType]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRiskDnsPolicyListRequest struct {
	*tchttp.BaseRequest
	
	// <li>PolicyType - int - whether required: no - policy type</li>
	// <li>PolicyName - string - whether required: no - policy name</li>
	// <li>Domain - string - Required: No - Domain (first urlencode the domain, then base64)</li>
	// <li>PolicyAction- int - whether required: no - policy action</li>
	// <li>IsEnabled - int - whether required: no - whether effective</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting Method: [ASC: Ascending Order, DESC: Descending Order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Optional sorting column: [PolicyName|HostType]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRiskDnsPolicyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRiskDnsPolicyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRiskDnsPolicyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRiskDnsPolicyListResponseParams struct {
	// Asynchronous download task ID. It is used together with the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRiskDnsPolicyListResponse struct {
	*tchttp.BaseResponse
	Response *ExportRiskDnsPolicyListResponseParams `json:"Response"`
}

func (r *ExportRiskDnsPolicyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRiskDnsPolicyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRiskProcessEventsRequestParams struct {
	// Filter criteria
	// <li>HostId - String - Required: No - Host ID</li>
	// <li>IpOrName - String - whether required: no - host IP or host name</li>
	// <li>VirusName - String - whether required: no - virus name</li>
	// <li>ProcessId - String - whether required: no - process ID</li>
	// <li>ProcessPath - String - whether required: no - process path</li>
	// <li>BeginTime - String - whether required: no - process startup time - begin</li>
	// <li>BeginTime - String - whether required: no - process startup time - end</li>
	// <li>Status - String - whether required: no - filter by status: 0 - pending; 1 - under detection; 2 - detected; 3 - exited; 4 - trusted</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: [ASC: ascending order|DESC: descending order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// [StartTime: Process start time | DetectTime: Last detection time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type ExportRiskProcessEventsRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>HostId - String - Required: No - Host ID</li>
	// <li>IpOrName - String - whether required: no - host IP or host name</li>
	// <li>VirusName - String - whether required: no - virus name</li>
	// <li>ProcessId - String - whether required: no - process ID</li>
	// <li>ProcessPath - String - whether required: no - process path</li>
	// <li>BeginTime - String - whether required: no - process startup time - begin</li>
	// <li>BeginTime - String - whether required: no - process startup time - end</li>
	// <li>Status - String - whether required: no - filter by status: 0 - pending; 1 - under detection; 2 - detected; 3 - exited; 4 - trusted</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting method: [ASC: ascending order|DESC: descending order]
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// [StartTime: Process start time | DetectTime: Last detection time]
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *ExportRiskProcessEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRiskProcessEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportRiskProcessEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportRiskProcessEventsResponseParams struct {
	// Task ID, required for obtaining the DownloadURL at API Asynchronous Export Task ExportTasks
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportRiskProcessEventsResponse struct {
	*tchttp.BaseResponse
	Response *ExportRiskProcessEventsResponseParams `json:"Response"`
}

func (r *ExportRiskProcessEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportRiskProcessEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportScanTaskDetailsRequestParams struct {
	// Task ID for this detection (different from the ID of the task for exporting the detection Excel file in the input parameters)
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Module type. Malware: Trojan; Vul: vulnerability; Baseline: baseline.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Filter parameter: ipOrAlias (server name/IP address)
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportScanTaskDetailsRequest struct {
	*tchttp.BaseRequest
	
	// Task ID for this detection (different from the ID of the task for exporting the detection Excel file in the input parameters)
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Module type. Malware: Trojan; Vul: vulnerability; Baseline: baseline.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Filter parameter: ipOrAlias (server name/IP address)
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportScanTaskDetailsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportScanTaskDetailsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	delete(f, "ModuleType")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportScanTaskDetailsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportScanTaskDetailsResponseParams struct {
	// Task ID, which is used to obtain the download URL (DownloadUrl) by using the asynchronous task export API ExportTasks. (This ID differs from the detection task ID in the input parameters.)
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportScanTaskDetailsResponse struct {
	*tchttp.BaseResponse
	Response *ExportScanTaskDetailsResponseParams `json:"Response"`
}

func (r *ExportScanTaskDetailsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportScanTaskDetailsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportSecurityTrendsRequestParams struct {
	// Start time
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

type ExportSecurityTrendsRequest struct {
	*tchttp.BaseRequest
	
	// Start time
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End time
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

func (r *ExportSecurityTrendsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportSecurityTrendsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BeginDate")
	delete(f, "EndDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportSecurityTrendsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportSecurityTrendsResponseParams struct {
	// Export file download link.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportSecurityTrendsResponse struct {
	*tchttp.BaseResponse
	Response *ExportSecurityTrendsResponseParams `json:"Response"`
}

func (r *ExportSecurityTrendsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportSecurityTrendsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportTasksRequestParams struct {
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type ExportTasksRequest struct {
	*tchttp.BaseRequest
	
	// <p>Task ID.</p>
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *ExportTasksRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportTasksRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportTasksRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportTasksResponseParams struct {
	// <p>PENDING: The download URL is being generated; FINISHED: The download URL has been generated; ERROR: A network error or another exception occurred</p>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <p>Download link</p>
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// <p>File name.</p>
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportTasksResponse struct {
	*tchttp.BaseResponse
	Response *ExportTasksResponseParams `json:"Response"`
}

func (r *ExportTasksResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportTasksResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDefenceEventRequestParams struct {
	// Filtering criteria: Keywords for IP or host name; VulKeywords vulnerability name or CveId for fuzzy query; Quuid, VulId, EventType, Status for precise match; CreateBeginTime, CreateEndTime for time period query
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields and export all by default.
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

type ExportVulDefenceEventRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: Keywords for IP or host name; VulKeywords vulnerability name or CveId for fuzzy query; Quuid, VulId, EventType, Status for precise match; CreateBeginTime, CreateEndTime for time period query
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields and export all by default.
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

func (r *ExportVulDefenceEventRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDefenceEventRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Where")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulDefenceEventRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDefenceEventResponseParams struct {
	// Export file ID, which can be downloaded using the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulDefenceEventResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulDefenceEventResponseParams `json:"Response"`
}

func (r *ExportVulDefenceEventResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDefenceEventResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDefenceListRequestParams struct {
	// Filtering criteria: Keywords: vulnerability name or CVE ID for fuzzy matching, and level for precise matching
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Fields to be exported. All fields are to be exported by default.
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

type ExportVulDefenceListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: Keywords: vulnerability name or CVE ID for fuzzy matching, and level for precise matching
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Fields to be exported. All fields are to be exported by default.
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

func (r *ExportVulDefenceListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDefenceListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Where")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulDefenceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDefenceListResponseParams struct {
	// Export file ID, which is downloadable via the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulDefenceListResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulDefenceListResponseParams `json:"Response"`
}

func (r *ExportVulDefenceListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDefenceListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDefencePluginEventRequestParams struct {
	// Keywords: IP or host name for fuzzy match, Quuid, Exception, Status for precise match
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields and export all by default.
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

type ExportVulDefencePluginEventRequest struct {
	*tchttp.BaseRequest
	
	// Keywords: IP or host name for fuzzy match, Quuid, Exception, Status for precise match
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Export fields and export all by default.
	Where []*string `json:"Where,omitnil,omitempty" name:"Where"`
}

func (r *ExportVulDefencePluginEventRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDefencePluginEventRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "Where")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulDefencePluginEventRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDefencePluginEventResponseParams struct {
	// Export file ID, which is downloadable via the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulDefencePluginEventResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulDefencePluginEventResponseParams `json:"Response"`
}

func (r *ExportVulDefencePluginEventResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDefencePluginEventResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDetectionExcelRequestParams struct {
	// ID of the vulnerability detection task (different from the ID of the task for exporting the vulnerability detection Excel file in the response parameters)
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type ExportVulDetectionExcelRequest struct {
	*tchttp.BaseRequest
	
	// ID of the vulnerability detection task (different from the ID of the task for exporting the vulnerability detection Excel file in the response parameters)
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *ExportVulDetectionExcelRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDetectionExcelRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulDetectionExcelRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDetectionExcelResponseParams struct {
	// This parameter has been discarded.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID, which is used to obtain the download URL (DownloadUrl) by using the asynchronous task export API ExportTasks. (This ID differs from the vulnerability detection task ID in the input parameters.)
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulDetectionExcelResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulDetectionExcelResponseParams `json:"Response"`
}

func (r *ExportVulDetectionExcelResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDetectionExcelResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDetectionReportRequestParams struct {
	// Vulnerability scan task ID (different from the task ID of the export detection report task ID in the output parameter)
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type ExportVulDetectionReportRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability scan task ID (different from the task ID of the export detection report task ID in the output parameter)
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Filter parameters
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of items to be returned. It is 10 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

func (r *ExportVulDetectionReportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDetectionReportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	delete(f, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulDetectionReportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulDetectionReportResponseParams struct {
	// Download URL for exported file
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// ID of the task for exporting detection report (different from the vulnerability scan task ID in the input parameters)
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulDetectionReportResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulDetectionReportResponseParams `json:"Response"`
}

func (r *ExportVulDetectionReportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulDetectionReportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulEffectHostListRequestParams struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Filter criteria
	// <li>AliasName - String - filter by host name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportVulEffectHostListRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Filter criteria
	// <li>AliasName - String - filter by host name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportVulEffectHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulEffectHostListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulId")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulEffectHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulEffectHostListResponseParams struct {
	// This parameter has been deprecated.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Export task ID, which can be downloaded by using the API ExportTasks.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulEffectHostListResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulEffectHostListResponseParams `json:"Response"`
}

func (r *ExportVulEffectHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulEffectHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulInfoRequestParams struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`
}

type ExportVulInfoRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`
}

func (r *ExportVulInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulInfoResponseParams struct {
	// Export task ID, which is downloadable via the ExportTasks API.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulInfoResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulInfoResponseParams `json:"Response"`
}

func (r *ExportVulInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulListRequestParams struct {
	// Filter criteria
	// <li>VulCategory - int - required: no - filter by vulnerability category: 1 - web-cms vulnerabilities; 2 - application vulnerabilities; 4 - Linux software vulnerabilities; 5 - Windows system vulnerabilities</li>
	// <li>IfEmergency - String - required: no - whether an emergency vulnerability; if you need to query an emergency vulnerability, please pass yes to this parameter.</li>
	// <li>Status - String - required: yes - filter by vulnerability status: 0 - pending; 1 - ignored; 3 - fixed; 5 - detecting. The console only handles four statuses: 0, 1, 3, and 5.</li>
	// <li>Level - String - required: no - filter by vulnerability level: 1 - low; 2 - medium; 3 - high; 4 - prompt</li>
	// <li>VulName - String - required: no - search by vulnerability name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Whether to export details: 1 - yes; 0 - no
	IfDetail *uint64 `json:"IfDetail,omitnil,omitempty" name:"IfDetail"`
}

type ExportVulListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>VulCategory - int - required: no - filter by vulnerability category: 1 - web-cms vulnerabilities; 2 - application vulnerabilities; 4 - Linux software vulnerabilities; 5 - Windows system vulnerabilities</li>
	// <li>IfEmergency - String - required: no - whether an emergency vulnerability; if you need to query an emergency vulnerability, please pass yes to this parameter.</li>
	// <li>Status - String - required: yes - filter by vulnerability status: 0 - pending; 1 - ignored; 3 - fixed; 5 - detecting. The console only handles four statuses: 0, 1, 3, and 5.</li>
	// <li>Level - String - required: no - filter by vulnerability level: 1 - low; 2 - medium; 3 - high; 4 - prompt</li>
	// <li>VulName - String - required: no - search by vulnerability name</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Whether to export details: 1 - yes; 0 - no
	IfDetail *uint64 `json:"IfDetail,omitnil,omitempty" name:"IfDetail"`
}

func (r *ExportVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	delete(f, "IfDetail")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVulListResponseParams struct {
	// Download url of the exported file (deprecated).
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// ID of the exported file, which can be downloaded using the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVulListResponse struct {
	*tchttp.BaseResponse
	Response *ExportVulListResponseParams `json:"Response"`
}

func (r *ExportVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportWindowsPatchListRequestParams struct {
	// Filter criteria  
	// <li>Status - String type - optional - processing status: 0: pending, 1: ignored, 3: fixed</li>
	// <li>ShowNew: int optional show latest version 0-enable 1-disable</li>
	// <li>Name : string type optional patch name</li>
	// <li>KbNo : string type optional Patch Number</li>
	// <li>Uuid : string type optional host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type ExportWindowsPatchListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria  
	// <li>Status - String type - optional - processing status: 0: pending, 1: ignored, 3: fixed</li>
	// <li>ShowNew: int optional show latest version 0-enable 1-disable</li>
	// <li>Name : string type optional patch name</li>
	// <li>KbNo : string type optional Patch Number</li>
	// <li>Uuid : string type optional host uuid</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *ExportWindowsPatchListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportWindowsPatchListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportWindowsPatchListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportWindowsPatchListResponseParams struct {
	// Export file ID, which can be downloaded using the ExportTasks API.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportWindowsPatchListResponse struct {
	*tchttp.BaseResponse
	Response *ExportWindowsPatchListResponseParams `json:"Response"`
}

func (r *ExportWindowsPatchListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportWindowsPatchListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type FieldValueRatioInfo struct {
	// Number
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Ratio
	Ratio *float64 `json:"Ratio,omitnil,omitempty" name:"Ratio"`

	// Value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}

type FileTamperEvent struct {
	// Machine Name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Machine IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last occurrence time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// cvm id
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Event Type/Action. 0 - Alarm
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Process path
	ProcessExe *string `json:"ProcessExe,omitnil,omitempty" name:"ProcessExe"`

	// Process parameter
	ProcessArgv *string `json:"ProcessArgv,omitnil,omitempty" name:"ProcessArgv"`

	// Target file path
	Target *string `json:"Target,omitnil,omitempty" name:"Target"`

	// Processing Status. 0 - Pending; 1 - Allowlisted; 2 - Deleted; 3 - Ignored; 4 - Manually Processed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Event Occurrences
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Rule ID
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Event Details: JSON Format
	Pstree *string `json:"Pstree,omitnil,omitempty" name:"Pstree"`

	// Rule Type. 0 - System Rule; 1 - Custom Rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Host Online Information: ONLINE, OFFLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Severity description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Remediation Suggestions
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Process permission
	ExePermission *string `json:"ExePermission,omitnil,omitempty" name:"ExePermission"`

	// Username
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// User group
	UserGroup *string `json:"UserGroup,omitnil,omitempty" name:"UserGroup"`

	// Process name
	ExeMd5 *string `json:"ExeMd5,omitnil,omitempty" name:"ExeMd5"`

	// Process File Size
	ExeSize *uint64 `json:"ExeSize,omitnil,omitempty" name:"ExeSize"`

	// Process Execution Duration
	ExeTime *uint64 `json:"ExeTime,omitnil,omitempty" name:"ExeTime"`

	// Target file size
	TargetSize *uint64 `json:"TargetSize,omitnil,omitempty" name:"TargetSize"`

	// Target File Permissions
	TargetPermission *string `json:"TargetPermission,omitnil,omitempty" name:"TargetPermission"`

	// Target File Update Time
	TargetModifyTime *string `json:"TargetModifyTime,omitnil,omitempty" name:"TargetModifyTime"`

	// Target File Creation Time
	TargetCreatTime *string `json:"TargetCreatTime,omitnil,omitempty" name:"TargetCreatTime"`

	// Process PID
	ExePid *uint64 `json:"ExePid,omitnil,omitempty" name:"ExePid"`

	// File name
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`

	// Reference link
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// Risk Level. 0: None; 1: High-Risk; 2: Medium-Risk; 3: Low-Risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Process name
	ExeName *string `json:"ExeName,omitnil,omitempty" name:"ExeName"`

	//  Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// File threat behavior
	// <li>read: read file</li>
	// <li>write: modify file</li>
	FileAction *string `json:"FileAction,omitnil,omitempty" name:"FileAction"`
}

type FileTamperRule struct {
	// Process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Accessed file path
	Target *string `json:"Target,omitnil,omitempty" name:"Target"`

	// Recommended action: skip: skip; alarm: alert
	Action *string `json:"Action,omitnil,omitempty" name:"Action"`

	// Monitoring behavior
	// <li>read: read file</li>
	// <li>write: modify file</li>
	// <li>read-write: read and modify file</li>
	FileAction *string `json:"FileAction,omitnil,omitempty" name:"FileAction"`

	// Command line parameter not filled
	Args *string `json:"Args,omitnil,omitempty" name:"Args"`
}

type FileTamperRuleCount struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Number of Association Rules
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Name of the Association Rule (Show Only One of Them)
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type FileTamperRuleDetail struct {
	// Rule name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Status. 0: Enabled; 1: Disabled
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Rule
	Rule []*FileTamperRule `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Effective Host UUID. Empty means all hosts, and returned number of entries can be controlled through parameters.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Global Rule or Not (No by Default). 0: No; 1: Yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Risk Level. 0: None; 1: High-Risk; 2: Medium-Risk; 3: Low-Risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Total Number of Effective Hosts
	UuidTotalCount *uint64 `json:"UuidTotalCount,omitnil,omitempty" name:"UuidTotalCount"`

	// Allowlist processing type
	// <li>cur: add only the current item to an allowlist</li>
	// <li>all: add all objects that meet the conditions to the allowlist</li>
	AddWhiteType *string `json:"AddWhiteType,omitnil,omitempty" name:"AddWhiteType"`
}

type FileTamperRuleInfo struct {
	// Rule name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Rule Type. 0: System Rule; 1: User Rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Number of affected hosts
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Status. 0: Enabled; 1: Disabled
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Rule ID, which is set to 0 for system rules
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether global 0: no; 1: yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Risk Level. 0: None; 1: High-Risk; 2: Medium-Risk; 3: Low-Risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Number of write entries for a subrule.
	WriteRuleCount *uint64 `json:"WriteRuleCount,omitnil,omitempty" name:"WriteRuleCount"`

	// Number of read entries for a subrule.
	ReadRuleCount *uint64 `json:"ReadRuleCount,omitnil,omitempty" name:"ReadRuleCount"`

	// Number of read and write entries for a subrule.
	ReadWriteRuleCount *uint64 `json:"ReadWriteRuleCount,omitnil,omitempty" name:"ReadWriteRuleCount"`

	// Monitoring behavior
	// <li>read: read file</li>
	// <li>write: modify file</li>
	// <li>read-write: read and modify file</li>
	FileAction *string `json:"FileAction,omitnil,omitempty" name:"FileAction"`

	// Allowlisted processing type
	// <li>cur: add only the current item to an allowlist</li>
	// <li>all: add all objects that meet the conditions to the allowlist</li>
	AddWhiteType *string `json:"AddWhiteType,omitnil,omitempty" name:"AddWhiteType"`
}

type Filter struct {
	// <p>Name of filter key.</p>
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>One or more filter values.</p>
	Values []*string `json:"Values,omitnil,omitempty" name:"Values"`

	// <p>Fuzzy search</p>
	ExactMatch *bool `json:"ExactMatch,omitnil,omitempty" name:"ExactMatch"`
}

type Filters struct {
	// Name of filter key
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// One or more filter values
	Values []*string `json:"Values,omitnil,omitempty" name:"Values"`

	// Whether to use fuzzy match. It will be handled by the front-end and can be ignored.
	ExactMatch *bool `json:"ExactMatch,omitnil,omitempty" name:"ExactMatch"`
}

type FullTextInfo struct {
	// Whether case-sensitive
	CaseSensitive *bool `json:"CaseSensitive,omitnil,omitempty" name:"CaseSensitive"`

	// Delimiter
	Tokenizer *string `json:"Tokenizer,omitnil,omitempty" name:"Tokenizer"`

	// Whether Chinese characters are contained.
	ContainZH *bool `json:"ContainZH,omitnil,omitempty" name:"ContainZH"`
}

// Predefined struct for user
type GetLocalStorageItemRequestParams struct {
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`
}

type GetLocalStorageItemRequest struct {
	*tchttp.BaseRequest
	
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`
}

func (r *GetLocalStorageItemRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetLocalStorageItemRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Key")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetLocalStorageItemRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type GetLocalStorageItemResponseParams struct {
	// Value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type GetLocalStorageItemResponse struct {
	*tchttp.BaseResponse
	Response *GetLocalStorageItemResponseParams `json:"Response"`
}

func (r *GetLocalStorageItemResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *GetLocalStorageItemResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type HistoryAccount struct {
	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWPP client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Private IP address of the host
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Account name.
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Account change type
	// <li>CREATE: account creation</li>
	// <li>MODIFY: account modification</li>
	// <li>DELETE: account deletion</li>
	ModifyType *string `json:"ModifyType,omitnil,omitempty" name:"ModifyType"`

	// Change time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type HostDesc struct {
	// Machine UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host Security UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Machine name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Machine IP address. This parameter is left blank for terminated servers.
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address. This parameter is left blank for terminated servers.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Tag information array
	Tags []*MachineTag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type HostInfo struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type HostLoginList struct {
	// Record ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Username.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Source IP
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// 1: normal log-in; 2: cross-region log-in; 5: allowlisted; 14: processed; 15: ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Country/Region ID
	Country *uint64 `json:"Country,omitnil,omitempty" name:"Country"`

	// City ID
	City *uint64 `json:"City,omitnil,omitempty" name:"City"`

	// Province id
	Province *uint64 `json:"Province,omitnil,omitempty" name:"Province"`

	// Log-in time
	LoginTime *string `json:"LoginTime,omitnil,omitempty" name:"LoginTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Whether hit the exception of cross-region log-in: 1 means hit the exception, 0 means not hit
	IsRiskArea *uint64 `json:"IsRiskArea,omitnil,omitempty" name:"IsRiskArea"`

	// Whether hit the exception of abnormal user: 1: yes; 0: no
	IsRiskUser *uint64 `json:"IsRiskUser,omitnil,omitempty" name:"IsRiskUser"`

	// Whether hit the exception of abnormal time: 1: yes; 0: no
	IsRiskTime *uint64 `json:"IsRiskTime,omitnil,omitempty" name:"IsRiskTime"`

	// Whether hit the exception of abnormal IP: 1: yes; 0: no
	IsRiskSrcIp *uint64 `json:"IsRiskSrcIp,omitnil,omitempty" name:"IsRiskSrcIp"`

	// Risk level:
	// 0: high risk
	// 1: Suspicious
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Location name
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// High-risk information description:
	// ABROAD - IP outside Chinese mainland
	// XTI - Threat Intelligence
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Request destination port.
	Port *int64 `json:"Port,omitnil,omitempty" name:"Port"`

	// ip analysis
	IPAnalyse *IPAnalyse `json:"IPAnalyse,omitnil,omitempty" name:"IPAnalyse"`
}

type HostLoginWhiteObj struct {
	// Allowlisted region
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`

	// Allowlisted source IP address. IP ranges are supported. Multiple IPs are separated by commas.
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Allowlisted username separated by commas
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Whether the allowlist is effective globally. 1: all hosts; 0: only a single host.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// List of information on machines where the allowlist is effective
	HostInfos []*HostInfo `json:"HostInfos,omitnil,omitempty" name:"HostInfos"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type HostTagInfo struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host tag name array
	TagList []*string `json:"TagList,omitnil,omitempty" name:"TagList"`

	// Host intranet IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// host name
	AliasName *string `json:"AliasName,omitnil,omitempty" name:"AliasName"`

	// Host public IP address.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Kernel version number
	KernelVersion *string `json:"KernelVersion,omitnil,omitempty" name:"KernelVersion"`

	// Host online status: ONLINE, OFFLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Protection version: BASIC_VERSION - Basic Edition, PRO_VERSION - Professional Edition; Flagship: Ultimate Edition
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Number of vulnerabilities
	VulNum *int64 `json:"VulNum,omitnil,omitempty" name:"VulNum"`

	// Cloud Tag Information
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Host Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Specific host types
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Availability zone name
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// Availability zone ID.
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`
}

type IPAnalyse struct {
	// 0: safe
	// 1: Suspicious
	// 2 Malicious
	// 3 Unknown
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Tag feature
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Family information
	Family []*string `json:"Family,omitnil,omitempty" name:"Family"`

	// profile
	Profile []*string `json:"Profile,omitnil,omitempty" name:"Profile"`

	// Internet service provider.
	Isp *string `json:"Isp,omitnil,omitempty" name:"Isp"`
}

type IgnoreBaselineRule struct {
	// Baseline check item name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Baseline detection item id
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Fixing suggestion
	Fix *string `json:"Fix,omitnil,omitempty" name:"Fix"`

	// Number of affected hosts
	EffectHostCount *uint64 `json:"EffectHostCount,omitnil,omitempty" name:"EffectHostCount"`
}

type IgnoreRuleEffectHostInfo struct {
	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Severity level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Host tag array
	TagList []*string `json:"TagList,omitnil,omitempty" name:"TagList"`

	// Status: 0: failed; 1: ignore; 3: approved; 5: detecting
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Last detection time
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type IncidentVertexInfo struct {
	// Event ID
	IncidentId *string `json:"IncidentId,omitnil,omitempty" name:"IncidentId"`

	// The name of the table where the event occurred
	TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"`

	// Node information list, in an array including detailed node information.
	Vertex []*VertexInfo `json:"Vertex,omitnil,omitempty" name:"Vertex"`

	// Total number of nodes.
	VertexCount *int64 `json:"VertexCount,omitnil,omitempty" name:"VertexCount"`
}

type JavaMemShellDetail struct {
	// Container name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Instance Status: RUNNING, STOPPED, SHUTDOWN...
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Memory Trojan Type. 0: Filter Type; 1: Listener Type; 2: Servlet Type; 3: Interceptors Type; 4: Agent Type; 5: Other
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// First detection time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last detection time
	RecentFoundTime *string `json:"RecentFoundTime,omitnil,omitempty" name:"RecentFoundTime"`

	// Processing Status. 0 - Pending; 1 - Allowlisted; 2 - Deleted; 3 - Ignored; 4 - Manually Processed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Java Loader Class Name
	ClassLoaderName *string `json:"ClassLoaderName,omitnil,omitempty" name:"ClassLoaderName"`

	// Parent class name
	SuperClassName *string `json:"SuperClassName,omitnil,omitempty" name:"SuperClassName"`

	// Class file MD5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Inherited API
	Interfaces *string `json:"Interfaces,omitnil,omitempty" name:"Interfaces"`

	// Annotation
	Annotations *string `json:"Annotations,omitnil,omitempty" name:"Annotations"`

	// Process ID
	Pid *uint64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Java Process Path
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Java process command line parameters
	Args *string `json:"Args,omitnil,omitempty" name:"Args"`

	// Class name
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// Java Memory Horse Binary Code (base64)
	ClassContent *string `json:"ClassContent,omitnil,omitempty" name:"ClassContent"`

	// Java Memory Trojan Decompilation Code
	ClassContentPretty *string `json:"ClassContentPretty,omitnil,omitempty" name:"ClassContentPretty"`

	// Event description
	EventDescription *string `json:"EventDescription,omitnil,omitempty" name:"EventDescription"`

	// Security advice
	SecurityAdvice *string `json:"SecurityAdvice,omitnil,omitempty" name:"SecurityAdvice"`

	//  Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Agent status: OFFLINE; ONLINE.
	MachineState *string `json:"MachineState,omitnil,omitempty" name:"MachineState"`
}

type JavaMemShellInfo struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Server name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Server IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Memory Trojan Type. 0: Filter Type; 1: Listener Type; 2: Servlet Type; 3: Interceptors Type; 4: Agent Type; 5: Other
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// First detection time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last detection time
	RecentFoundTime *string `json:"RecentFoundTime,omitnil,omitempty" name:"RecentFoundTime"`

	// Processing Status. 0 - Pending; 1 - Allowlisted; 2 - Deleted; 3 - Ignored; 4 - Manually Processed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Class name
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// Parent class name
	SuperClassName *string `json:"SuperClassName,omitnil,omitempty" name:"SuperClassName"`

	// Inherited API
	Interfaces *string `json:"Interfaces,omitnil,omitempty" name:"Interfaces"`

	// Annotation
	Annotations *string `json:"Annotations,omitnil,omitempty" name:"Annotations"`

	// Associated class loader.
	LoaderClassName *string `json:"LoaderClassName,omitnil,omitempty" name:"LoaderClassName"`
}

type JavaMemShellPluginInfo struct {
	// Injection Process PID
	Pid *uint64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Injection Process Main Class
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// Injection Status. 0: Injecting; 1: Injection Succeeded; 2: Plugin Timeout; 3: Plugin Exits; 4: Injection Failed; 5: Soft-delete
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Error logs
	ErrorLog *string `json:"ErrorLog,omitnil,omitempty" name:"ErrorLog"`
}

type JavaMemShellPluginSetting struct {
	// Container QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Server IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Javashell Plugin Switch. 0: Off; 1: On
	JavaShellStatus *uint64 `json:"JavaShellStatus,omitnil,omitempty" name:"JavaShellStatus"`

	// Plugin Exception Status. 0: Normal; 1: Abnormal
	Exception *uint64 `json:"Exception,omitnil,omitempty" name:"Exception"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type KeyValueArrayInfo struct {
	// Field requiring Key-Value or Meta Field Index configuration
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Field index description
	Value *ValueInfo `json:"Value,omitnil,omitempty" name:"Value"`
}

type KeyValueInfo struct {
	// Whether case-sensitive
	CaseSensitive *bool `json:"CaseSensitive,omitnil,omitempty" name:"CaseSensitive"`

	// Information about the key-value pair that requires index creation.
	KeyValues []*KeyValueArrayInfo `json:"KeyValues,omitnil,omitempty" name:"KeyValues"`
}

// Predefined struct for user
type KeysLocalStorageRequestParams struct {

}

type KeysLocalStorageRequest struct {
	*tchttp.BaseRequest
	
}

func (r *KeysLocalStorageRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *KeysLocalStorageRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "KeysLocalStorageRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type KeysLocalStorageResponseParams struct {
	// Key List
	// Note: This field may return null, indicating that no valid values can be obtained.
	Keys []*string `json:"Keys,omitnil,omitempty" name:"Keys"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type KeysLocalStorageResponse struct {
	*tchttp.BaseResponse
	Response *KeysLocalStorageResponseParams `json:"Response"`
}

func (r *KeysLocalStorageResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *KeysLocalStorageResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type LicenseBindDetail struct {
	// Machine Alias
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Machine Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Machine Private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// CVM UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// CWPP client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Tag information
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// CWPP client status: OFFLINE, ONLINE, and UNINSTALL.
	AgentStatus *string `json:"AgentStatus,omitnil,omitempty" name:"AgentStatus"`

	// Whether unbinding is allowed: false - unbinding is not allowed.
	IsUnBind *bool `json:"IsUnBind,omitnil,omitempty" name:"IsUnBind"`

	// Whether rebinding is allowed: false - rebinding is not allowed.
	IsSwitchBind *bool `json:"IsSwitchBind,omitnil,omitempty" name:"IsSwitchBind"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// <li>RUNNING: running</li>
	// <li>STOPPED: Shut down</li>
	// <li> EXPIRED To be recycled</li>
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// <li>ONLINE Offline</li>
	// <li>OFFLINE: Under protection</li>
	// <li>UNINSTALLED Client not installed</li>
	AgentState *string `json:"AgentState,omitnil,omitempty" name:"AgentState"`
}

type LicenseBindTaskDetail struct {
	// CVM UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Error message
	ErrMsg *string `json:"ErrMsg,omitnil,omitempty" name:"ErrMsg"`

	// 0-in progress; 1-succeeded; 2-failed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Fix suggestion
	FixMessage *string `json:"FixMessage,omitnil,omitempty" name:"FixMessage"`

	// Additional Information on Machine
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type LicenseDetail struct {
	// Authorization ID
	LicenseId *uint64 `json:"LicenseId,omitnil,omitempty" name:"LicenseId"`

	// Authorization type. 0: Pro Edition - pay-as-you-go; 1: Pro Edition - yearly/monthly subscription; 2: Ultimate Edition - yearly/monthly subscription.
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Authorization status. 0: not in use; 1: partially in use; 2: used up; 3: unavailable.
	LicenseStatus *uint64 `json:"LicenseStatus,omitnil,omitempty" name:"LicenseStatus"`

	// Total number of authorizations
	LicenseCnt *uint64 `json:"LicenseCnt,omitnil,omitempty" name:"LicenseCnt"`

	// Number of used authorizations
	UsedLicenseCnt *uint64 `json:"UsedLicenseCnt,omitnil,omitempty" name:"UsedLicenseCnt"`

	// Order status. 1: normal; 2: isolated; 3: terminated.
	OrderStatus *uint64 `json:"OrderStatus,omitnil,omitempty" name:"OrderStatus"`

	// Deadline
	Deadline *string `json:"Deadline,omitnil,omitempty" name:"Deadline"`

	// Order resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// 0: initialization; 1: automatic renewal; 2: no automatic renewal.
	AutoRenewFlag *uint64 `json:"AutoRenewFlag,omitnil,omitempty" name:"AutoRenewFlag"`

	// Project ID
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Task ID. Default value: 0. It is used to query the binding progress.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Time of purchase
	BuyTime *string `json:"BuyTime,omitnil,omitempty" name:"BuyTime"`

	// Whether the order is a trial order
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// Resource alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Platform tag
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Number of frozen licenses. 0: unfrozen, values other than 0: number of frozen licenses.
	FreezeNum *int64 `json:"FreezeNum,omitnil,omitempty" name:"FreezeNum"`
}

type LicenseOrder struct {
	// Authorization ID
	LicenseId *uint64 `json:"LicenseId,omitnil,omitempty" name:"LicenseId"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Authorization Order Resource Status
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Order type
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`
}

type LogHistogram struct {
	// Number of logs within the statistical period
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Unix timestamp rounded by period, in ms
	TimeStamp *int64 `json:"TimeStamp,omitnil,omitempty" name:"TimeStamp"`
}

type LogInfo struct {
	// JSON serialized string of the log content
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Log file name
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Log source IP address
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`

	// Log time, in milliseconds
	TimeStamp *int64 `json:"TimeStamp,omitnil,omitempty" name:"TimeStamp"`
}

type LogStorageRecord struct {
	// Year and month.
	Month *string `json:"Month,omitnil,omitempty" name:"Month"`

	// Storage amount, in bytes.
	UsedSize *uint64 `json:"UsedSize,omitnil,omitempty" name:"UsedSize"`

	// Total volume, in bytes.
	InquireSize *uint64 `json:"InquireSize,omitnil,omitempty" name:"InquireSize"`
}

type LoginWhiteCombinedInfo struct {
	// Allowlisted regions
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`

	// Allowlisted users (Multiple users are separated by commas.)
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Allowlisted IPs (Multiple IPs are separated by commas.)
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Region string
	Locale *string `json:"Locale,omitnil,omitempty" name:"Locale"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether the settings take effect globally. 1: take effect globally; 0: take effect on the specified host list.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Allowlist name. If IsLocal is set to 1, the name is fixed as All servers. If the allowlist applies to only a single server, the name is the server's private IP Address. If the allowlist applies to multiple servers, the name is the number of servers, such as 11.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Return the server name when the allowlist applies to only one server.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Allowlist ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Login location
	Locations *string `json:"Locations,omitnil,omitempty" name:"Locations"`
}

type LoginWhiteLists struct {
	// Record ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host Security UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Allowlisted regions
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`

	// Allowlisted users (Multiple users are separated by commas.)
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Allowlisted IPs (Multiple IPs are separated by commas.)
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Whether a global rule
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Time of creating the allowlist
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Time of modifying the allowlist
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Machine name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Machine IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type Machine struct {
	// <p>Host name.</p>
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// <p>Host operating system.</p>
	MachineOs *string `json:"MachineOs,omitnil,omitempty" name:"MachineOs"`

	// <p>Host status. <li>OFFLINE: Offline</li> <li>ONLINE: Online</li> <li>SHUTDOWN: Shut down</li> <li>UNINSTALLED: Unprotected</li></p>
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// <p>ONLINE: Protected; OFFLINE: Offline; UNINSTALLED: Not installed</p>
	AgentStatus *string `json:"AgentStatus,omitnil,omitempty" name:"AgentStatus"`

	// <p>RUNNING: Running; STOPED: Shut down; EXPIRED: Pending reclamation</p>
	InstanceStatus *string `json:"InstanceStatus,omitnil,omitempty" name:"InstanceStatus"`

	// <p>CWP Uuid. Returns an empty string if the client is offline long-term.</p>
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// <p>Unique Uuid of a CVM or BM machine.</p>
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// <p>Number of vulnerabilities.</p>
	VulNum *int64 `json:"VulNum,omitnil,omitempty" name:"VulNum"`

	// <p>Host IP.</p>
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// <p>Whether the host is Pro Edition.</p><li>true: Yes</li><li>false: No</li>
	IsProVersion *bool `json:"IsProVersion,omitnil,omitempty" name:"IsProVersion"`

	// <p>Host public IP.</p>
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// <p>Host status.</p><li>POSTPAY: Postpaid (pay-as-you-go)</li><li>PREPAY: Prepaid (monthly or yearly subscription)</li>
	PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"`

	// <p>Number of trojans.</p>
	MalwareNum *int64 `json:"MalwareNum,omitnil,omitempty" name:"MalwareNum"`

	// <p>Tag information</p>
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// <p>Number of baseline risks.</p>
	BaselineNum *int64 `json:"BaselineNum,omitnil,omitempty" name:"BaselineNum"`

	// <p>Number of network risks.</p>
	CyberAttackNum *int64 `json:"CyberAttackNum,omitnil,omitempty" name:"CyberAttackNum"`

	// <p>Risk status.</p><li>SAFE: Safe</li><li>RISK: Risk</li><li>UNKNOWN: Unknown</li>
	SecurityStatus *string `json:"SecurityStatus,omitnil,omitempty" name:"SecurityStatus"`

	// <p>Number of intrusion events</p>
	InvasionNum *int64 `json:"InvasionNum,omitnil,omitempty" name:"InvasionNum"`

	// <p>Region information</p>
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// <p>Instance status. TERMINATED_PRO_VERSION: terminated.</p>
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// <p>Tamper-proof; authorization status: 1 - authorized; 0 - unauthorized</p>
	LicenseStatus *uint64 `json:"LicenseStatus,omitnil,omitempty" name:"LicenseStatus"`

	// <p>Project ID</p>
	ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// <p>Whether the asset scanning API is available. 0: No; 1: Yes</p>
	HasAssetScan *uint64 `json:"HasAssetScan,omitnil,omitempty" name:"HasAssetScan"`

	// <p>Machine zone type. CVM: Cloud Virtual Machine; BM: Blackstone; ECM: Edge Computing Machine; LH: Lighthouse; Other: Hybrid cloud zone</p>
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// <p>Kernel version</p>
	KernelVersion *string `json:"KernelVersion,omitnil,omitempty" name:"KernelVersion"`

	// <p>Protection edition: BASIC_VERSION: Basic Edition; PRO_VERSION: Pro Edition; Flagship: Ultimate Edition; GENERAL_DISCOUNT: Lighthouse Edition</p>
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// <p>Cloud tag information</p>
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// <p>Whether the host was added within the last 15 days. 0: No; 1: Yes</p>
	IsAddedOnTheFifteen *uint64 `json:"IsAddedOnTheFifteen,omitnil,omitempty" name:"IsAddedOnTheFifteen"`

	// <p>Host IP list</p>
	IpList *string `json:"IpList,omitnil,omitempty" name:"IpList"`

	// <p>Network</p>
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// <p>Additional information</p>
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// <p>Instance ID.</p>
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// <p>Remarks</p>
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// <p>CWP agent version</p>
	AgentVersion *string `json:"AgentVersion,omitnil,omitempty" name:"AgentVersion"`

	// <p>APPID of the machine</p>
	AppId *uint64 `json:"AppId,omitnil,omitempty" name:"AppId"`

	// <p>CSC paid edition</p>
	CSIPProtectType *string `json:"CSIPProtectType,omitnil,omitempty" name:"CSIPProtectType"`
}

type MachineClearHistory struct {
	// ID Value
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Public IP address
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Client Last Offline Time
	AgentLastOfflineTime *string `json:"AgentLastOfflineTime,omitnil,omitempty" name:"AgentLastOfflineTime"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type MachineExtraInfo struct {
	// Public IP address
	WanIP *string `json:"WanIP,omitnil,omitempty" name:"WanIP"`

	// Private IP address
	PrivateIP *string `json:"PrivateIP,omitnil,omitempty" name:"PrivateIP"`

	// Network Type. 1: VPC network; 2: Basic Network; 3: Non-Tencent Cloud Network
	NetworkType *int64 `json:"NetworkType,omitnil,omitempty" name:"NetworkType"`

	// Network Name, returns vpc_id in the case of a VPC network
	NetworkName *string `json:"NetworkName,omitnil,omitempty" name:"NetworkName"`

	// Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`
}

type MachineFileTamperRule struct {
	// Rule name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Rule Type. 0: System Rule; 1: User Rule
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Rule
	Rule []*FileTamperRule `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type MachineLicenseDetail struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Billing mode. 0: pay-as-you-go; 1: prepaid.
	PayMode *uint64 `json:"PayMode,omitnil,omitempty" name:"PayMode"`

	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Order type. 0: default billing order; 1: trial order; 2: gift; 3: experience.
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// This field has been deprecated.
	InquireKey *string `json:"InquireKey,omitnil,omitempty" name:"InquireKey"`

	// Auto-renewal flag. 0: default (no automatic payment); 1: automatic payment; 2: set manually (non-renewal).
	AutoRenewFlag *uint64 `json:"AutoRenewFlag,omitnil,omitempty" name:"AutoRenewFlag"`

	// Expiry time. This value is empty for pay-as-you-go.
	Deadline *string `json:"Deadline,omitnil,omitempty" name:"Deadline"`

	// Time of purchase
	BuyTime *string `json:"BuyTime,omitnil,omitempty" name:"BuyTime"`

	// Number of authorizations
	LicenseCnt *uint64 `json:"LicenseCnt,omitnil,omitempty" name:"LicenseCnt"`
}

type MachineSimple struct {
	// Host name.
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host System.
	MachineOs *string `json:"MachineOs,omitnil,omitempty" name:"MachineOs"`

	// CWP UUID. If the CWP client is offline for a long time, an empty character is returned.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// CVM or BM Machine Unique UUID.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host IP.
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Whether the edition is Pro Edition
	// <li>true: yes</li>
	// <li>false: no</li>
	IsProVersion *bool `json:"IsProVersion,omitnil,omitempty" name:"IsProVersion"`

	// Public IP address of the host
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host status
	// <li>POSTPAY: postpaid, indicating pay-as-you-go mode </li>
	// <li>PREPAY: prepaid, indicating monthly subscription mode</li>
	PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"`

	// Tag information
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Region information
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// Refer to the instance status in the CVM instance list for the InstanceState value.
	// https://www.tencentcloud.com/document/api/213/15753?from_cn_redirect=1#Instance
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// Project ID
	ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Machine Zone Type. CVM - Cloud Virtual Machine; BM: Bare Metal; ECM: Edge Computing Machine; LH: Lightweight Application Server; Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Kernel version
	KernelVersion *string `json:"KernelVersion,omitnil,omitempty" name:"KernelVersion"`

	// Protection version: BASIC_VERSION - Basic Edition; PRO_VERSION - Professional Edition; Flagship - Ultimate Edition; GENERAL_DISCOUNT - Lightweight Edition
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Authorization order object
	LicenseOrder *LicenseOrder `json:"LicenseOrder,omitnil,omitempty" name:"LicenseOrder"`

	// Cloud Tag Information
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
}

type MachineSnapshotInfo struct {
	// cvm id
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Snapshot name
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// Snapshot creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Disk ID
	DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Region ID
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Snapshot ID
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
}

type MachineTag struct {
	// Associated tag ID
	Rid *int64 `json:"Rid,omitnil,omitempty" name:"Rid"`

	// Tag name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Tag ID
	TagId *uint64 `json:"TagId,omitnil,omitempty" name:"TagId"`
}

type MalWareList struct {
	// Server IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Path
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Virus name
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Status. 4 - pending processing; 5 - trusted; 6 - isolated; 8 - files deleted; 14 - processed; 13 - allowlisted.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Feature tag. This field has been deprecated, and no tag will be returned. Tags are returned in the details.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// First running time
	FileCreateTime *string `json:"FileCreateTime,omitnil,omitempty" name:"FileCreateTime"`

	// Last running time
	FileModifierTime *string `json:"FileModifierTime,omitnil,omitempty" name:"FileModifierTime"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last scan time
	LatestScanTime *string `json:"LatestScanTime,omitnil,omitempty" name:"LatestScanTime"`

	// Risk level. 0: unknown; 1: low; 2: medium; 3: high; 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Trojan detection platforms, separated with commas. 1: cloud security engine; 2: TAV; 3: BinaryAI; 4: abnormal behavior; 5: threat intelligence.
	CheckPlatform *string `json:"CheckPlatform,omitnil,omitempty" name:"CheckPlatform"`

	// Whether the Trojan process exists. 0: no; 1: yes.
	ProcessExists *uint64 `json:"ProcessExists,omitnil,omitempty" name:"ProcessExists"`

	// Whether the Trojan file exists. 0: no; 1: yes.
	FileExists *uint64 `json:"FileExists,omitnil,omitempty" name:"FileExists"`

	// cvm quuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Trojan sample MD5
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Is it possible to clean up
	DoClean *bool `json:"DoClean,omitnil,omitempty" name:"DoClean"`

	// Detection method 0 Scan; 1 Monitor in real time.
	FirstDetectionMethod *uint64 `json:"FirstDetectionMethod,omitnil,omitempty" name:"FirstDetectionMethod"`
}

type MaliciousRequestWhiteListInfo struct {
	// Allowlist ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Domain name
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Remarks
	Mark *string `json:"Mark,omitnil,omitempty" name:"Mark"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type MalwareInfo struct {
	// Virus name
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// File size
	FileSize *int64 `json:"FileSize,omitnil,omitempty" name:"FileSize"`

	// File MD5
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// File address
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// First running time
	FileCreateTime *string `json:"FileCreateTime,omitnil,omitempty" name:"FileCreateTime"`

	// Last running time
	FileModifierTime *string `json:"FileModifierTime,omitnil,omitempty" name:"FileModifierTime"`

	// Severity description
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Recommended solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Server name
	ServersName *string `json:"ServersName,omitnil,omitempty" name:"ServersName"`

	// Server IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process ID
	ProcessID *string `json:"ProcessID,omitnil,omitempty" name:"ProcessID"`

	// Tag Features
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Impact breadth // Not provided currently
	Breadth *string `json:"Breadth,omitnil,omitempty" name:"Breadth"`

	// Query popularity // Not provided currently
	Heat *string `json:"Heat,omitnil,omitempty" name:"Heat"`

	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// File name
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// First detection time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last scan time
	LatestScanTime *string `json:"LatestScanTime,omitnil,omitempty" name:"LatestScanTime"`

	// Reference link
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Process tree json pid: process ID; exe: file path; account: groups and users to which the process belongs; cmdline: execute commands; ssh_service: SSH service IP; ssh_source: log-in source
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Host online status: OFFLINE; ONLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Status. 4: pending; 5: trusted; 6: isolated.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Risk level. 0: notification, 1: low, 2: medium, 3: high, 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Trojan detection platform uses comma to separate 1Cloud Killing Engine, 2TAV, 3binaryAi, 4abnormal behavior, 5TI.
	CheckPlatform *string `json:"CheckPlatform,omitnil,omitempty" name:"CheckPlatform"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Last modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Last access Time
	StrFileAccessTime *string `json:"StrFileAccessTime,omitnil,omitempty" name:"StrFileAccessTime"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Reference link
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Whether any Trojan file exists.
	FileExists *bool `json:"FileExists,omitnil,omitempty" name:"FileExists"`

	// Whether any Trojan process exists.
	ProcessExists *bool `json:"ProcessExists,omitnil,omitempty" name:"ProcessExists"`

	// Method by which the file was detected for the first time. 0: scanning; 1: real-time monitoring.
	FirstDetectionMethod *uint64 `json:"FirstDetectionMethod,omitnil,omitempty" name:"FirstDetectionMethod"`
}

type MalwareRisk struct {
	// Machine IP
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Virus name
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Detection time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type MalwareRiskOverview struct {
	// Number of affected hosts
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Exceptional Process Count
	ProcessCount *int64 `json:"ProcessCount,omitnil,omitempty" name:"ProcessCount"`

	// Number of Malicious Files
	FileCount *int64 `json:"FileCount,omitnil,omitempty" name:"FileCount"`

	// Is it the first Scan [false: No | true: Yes].
	IsFirstScan *bool `json:"IsFirstScan,omitnil,omitempty" name:"IsFirstScan"`

	// Last scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`
}

type MalwareWhiteListAffectEvent struct {
	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Affected md5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// File path
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Add time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type MalwareWhiteListInfo struct {
	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CVM QUUID (Separate multiple items with commas.)
	QuuidList *string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// md5 list (Separate multiple items with commas.)
	Md5List *string `json:"Md5List,omitnil,omitempty" name:"Md5List"`

	// Whether applies all hosts: 0 - no; 1 - yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Allowlist mode: 0 - MD5; 1 - customization
	Mode *uint64 `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Match mode: 0 - precise match; 1 - fuzzy match
	MatchType *uint64 `json:"MatchType,omitnil,omitempty" name:"MatchType"`

	// File name (Separate multiple items with commas.)
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File directory (Separate multiple items with commas.)
	FileDirectory *string `json:"FileDirectory,omitnil,omitempty" name:"FileDirectory"`

	// File suffix (Separate multiple items with commas.)
	FileExtension *string `json:"FileExtension,omitnil,omitempty" name:"FileExtension"`

	// Rule creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Affected records
	EventsCount *uint64 `json:"EventsCount,omitnil,omitempty" name:"EventsCount"`

	// Rule modification time.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type MemShellRule struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	UuidHostips []*UuidHostip `json:"UuidHostips,omitnil,omitempty" name:"UuidHostips"`

	// Logical operator. 0: 5 valid regular expression logical ANDs; 1: logical OR.
	LogicalSymbol *uint64 `json:"LogicalSymbol,omitnil,omitempty" name:"LogicalSymbol"`

	// Class name regular expression, which is not matched if empty.
	ClassNameRegexp *string `json:"ClassNameRegexp,omitnil,omitempty" name:"ClassNameRegexp"`

	// Parent class name regular expression, which is not matched if empty.
	SuperClassNameRegexp *string `json:"SuperClassNameRegexp,omitnil,omitempty" name:"SuperClassNameRegexp"`

	// Inherited interface regular expression, which is not matched if empty.
	InterfacesRegexp *string `json:"InterfacesRegexp,omitnil,omitempty" name:"InterfacesRegexp"`

	// Annotation regular expression, which is not matched if empty.
	AnnotationsRegexp *string `json:"AnnotationsRegexp,omitnil,omitempty" name:"AnnotationsRegexp"`

	// Associated class loader regular expression, which is not matched if empty.
	LoaderClassNameRegexp *string `json:"LoaderClassNameRegexp,omitnil,omitempty" name:"LoaderClassNameRegexp"`

	// Operator
	Operator *string `json:"Operator,omitnil,omitempty" name:"Operator"`

	// Whether it is a global rule. (Whether it is effective for all hosts under appid. 0: single UUID; 1: global. The default value is no.)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Status (0: valid, 1: deleted, 2: invalid (enabling switch off)).
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Whether to process historical events. 0: no, 1: yes.
	HandleHistory *uint64 `json:"HandleHistory,omitnil,omitempty" name:"HandleHistory"`

	// Batch ID.
	GroupID *string `json:"GroupID,omitnil,omitempty" name:"GroupID"`

	// Number of servers covered by a rule. When IsGlobal is set to 1, all servers are displayed.
	MachinesNums *string `json:"MachinesNums,omitnil,omitempty" name:"MachinesNums"`

	// Policy name
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// Source code regular expression, which is not matched if empty.
	CodeSourceRegexp *string `json:"CodeSourceRegexp,omitnil,omitempty" name:"CodeSourceRegexp"`

	// Call stack regular expression, which is not matched if empty.
	CallStackRegexp *string `json:"CallStackRegexp,omitnil,omitempty" name:"CallStackRegexp"`

	// Whether a file exists. 0: Default value when a user does not select a rule. 1: File exists. 2: File does not exist.
	FileExist *uint64 `json:"FileExist,omitnil,omitempty" name:"FileExist"`
}

// Predefined struct for user
type ModifyAutoOpenProVersionConfigRequestParams struct {
	// Set the auto-activation status.
	// <li>CLOSE: off</li>
	// <li>OPEN: on</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Strengthen protection mode
	// PROVERSION_POSTPAY indicates the Pro Edition pay-as-you-go mode.
	// PROVERSION_PREPAY Professional Edition - Subscription
	// FLAGSHIP_PREPAY Flagship Edition - Subscription
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Automatic purchase/expansion authorization switch, 1 by default, 0 for OFF, 1 for ON.
	AutoRepurchaseSwitch *uint64 `json:"AutoRepurchaseSwitch,omitnil,omitempty" name:"AutoRepurchaseSwitch"`

	// Auto-renewal or not for auto-purchased orders, 0 by default, 0 for OFF, 1 for ON
	AutoRepurchaseRenewSwitch *uint64 `json:"AutoRepurchaseRenewSwitch,omitnil,omitempty" name:"AutoRepurchaseRenewSwitch"`

	// Whether the manually purchased order is automatically renewed (defaults to 0): 0 - off; 1 - on
	RepurchaseRenewSwitch *uint64 `json:"RepurchaseRenewSwitch,omitnil,omitempty" name:"RepurchaseRenewSwitch"`

	// Automatically add machines and bind rasp. 0: Turn off. 1: Turn on.
	AutoBindRaspSwitch *uint64 `json:"AutoBindRaspSwitch,omitnil,omitempty" name:"AutoBindRaspSwitch"`

	// Automatically add machines with rasp protection enabled, off by default. 0: Off, 1: On
	AutoOpenRaspSwitch *uint64 `json:"AutoOpenRaspSwitch,omitnil,omitempty" name:"AutoOpenRaspSwitch"`

	// Automatic scaling down switch, 0 for off and 1 for on
	AutoDowngradeSwitch *uint64 `json:"AutoDowngradeSwitch,omitnil,omitempty" name:"AutoDowngradeSwitch"`
}

type ModifyAutoOpenProVersionConfigRequest struct {
	*tchttp.BaseRequest
	
	// Set the auto-activation status.
	// <li>CLOSE: off</li>
	// <li>OPEN: on</li>
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Strengthen protection mode
	// PROVERSION_POSTPAY indicates the Pro Edition pay-as-you-go mode.
	// PROVERSION_PREPAY Professional Edition - Subscription
	// FLAGSHIP_PREPAY Flagship Edition - Subscription
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Automatic purchase/expansion authorization switch, 1 by default, 0 for OFF, 1 for ON.
	AutoRepurchaseSwitch *uint64 `json:"AutoRepurchaseSwitch,omitnil,omitempty" name:"AutoRepurchaseSwitch"`

	// Auto-renewal or not for auto-purchased orders, 0 by default, 0 for OFF, 1 for ON
	AutoRepurchaseRenewSwitch *uint64 `json:"AutoRepurchaseRenewSwitch,omitnil,omitempty" name:"AutoRepurchaseRenewSwitch"`

	// Whether the manually purchased order is automatically renewed (defaults to 0): 0 - off; 1 - on
	RepurchaseRenewSwitch *uint64 `json:"RepurchaseRenewSwitch,omitnil,omitempty" name:"RepurchaseRenewSwitch"`

	// Automatically add machines and bind rasp. 0: Turn off. 1: Turn on.
	AutoBindRaspSwitch *uint64 `json:"AutoBindRaspSwitch,omitnil,omitempty" name:"AutoBindRaspSwitch"`

	// Automatically add machines with rasp protection enabled, off by default. 0: Off, 1: On
	AutoOpenRaspSwitch *uint64 `json:"AutoOpenRaspSwitch,omitnil,omitempty" name:"AutoOpenRaspSwitch"`

	// Automatic scaling down switch, 0 for off and 1 for on
	AutoDowngradeSwitch *uint64 `json:"AutoDowngradeSwitch,omitnil,omitempty" name:"AutoDowngradeSwitch"`
}

func (r *ModifyAutoOpenProVersionConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAutoOpenProVersionConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Status")
	delete(f, "ProtectType")
	delete(f, "AutoRepurchaseSwitch")
	delete(f, "AutoRepurchaseRenewSwitch")
	delete(f, "RepurchaseRenewSwitch")
	delete(f, "AutoBindRaspSwitch")
	delete(f, "AutoOpenRaspSwitch")
	delete(f, "AutoDowngradeSwitch")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAutoOpenProVersionConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAutoOpenProVersionConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyAutoOpenProVersionConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAutoOpenProVersionConfigResponseParams `json:"Response"`
}

func (r *ModifyAutoOpenProVersionConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAutoOpenProVersionConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBanModeRequestParams struct {
	// <p>Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.</p>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>Blocking duration, used in standard blocking mode</p>
	Ttl *uint64 `json:"Ttl,omitnil,omitempty" name:"Ttl"`
}

type ModifyBanModeRequest struct {
	*tchttp.BaseRequest
	
	// <p>Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.</p>
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// <p>Blocking duration, used in standard blocking mode</p>
	Ttl *uint64 `json:"Ttl,omitnil,omitempty" name:"Ttl"`
}

func (r *ModifyBanModeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBanModeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Mode")
	delete(f, "Ttl")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBanModeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBanModeResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBanModeResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBanModeResponseParams `json:"Response"`
}

func (r *ModifyBanModeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBanModeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBanStatusRequestParams struct {
	// Blocking switch status: 0 -- off; 1 -- advanced blocking; 2 -- basic blocking (Only blocklisted IPs in the intelligence database will be blocked.)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether to enable intelligent over-allowing mode
	OpenSmartMode *bool `json:"OpenSmartMode,omitnil,omitempty" name:"OpenSmartMode"`
}

type ModifyBanStatusRequest struct {
	*tchttp.BaseRequest
	
	// Blocking switch status: 0 -- off; 1 -- advanced blocking; 2 -- basic blocking (Only blocklisted IPs in the intelligence database will be blocked.)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether to enable intelligent over-allowing mode
	OpenSmartMode *bool `json:"OpenSmartMode,omitnil,omitempty" name:"OpenSmartMode"`
}

func (r *ModifyBanStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBanStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Status")
	delete(f, "OpenSmartMode")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBanStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBanStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBanStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBanStatusResponseParams `json:"Response"`
}

func (r *ModifyBanStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBanStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBanWhiteListRequestParams struct {
	// Modify allowlist rule item
	Rules *BanWhiteList `json:"Rules,omitnil,omitempty" name:"Rules"`
}

type ModifyBanWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Modify allowlist rule item
	Rules *BanWhiteList `json:"Rules,omitnil,omitempty" name:"Rules"`
}

func (r *ModifyBanWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBanWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Rules")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBanWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBanWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBanWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBanWhiteListResponseParams `json:"Response"`
}

func (r *ModifyBanWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBanWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBaselinePolicyRequestParams struct {
	// None
	Data *BaselinePolicy `json:"Data,omitnil,omitempty" name:"Data"`

	// <li>RuleName - String - required: no - rule name</li>
	// <li>CategoryId - int64 - required: no - customized filtering: -1 - rule category</li>
	// <li>RuleType - int - required: no - 0: system default; 1: customized - rule type</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Whether to select all based on the filtering criteria
	SelectAll *int64 `json:"SelectAll,omitnil,omitempty" name:"SelectAll"`
}

type ModifyBaselinePolicyRequest struct {
	*tchttp.BaseRequest
	
	// None
	Data *BaselinePolicy `json:"Data,omitnil,omitempty" name:"Data"`

	// <li>RuleName - String - required: no - rule name</li>
	// <li>CategoryId - int64 - required: no - customized filtering: -1 - rule category</li>
	// <li>RuleType - int - required: no - 0: system default; 1: customized - rule type</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Whether to select all based on the filtering criteria
	SelectAll *int64 `json:"SelectAll,omitnil,omitempty" name:"SelectAll"`
}

func (r *ModifyBaselinePolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBaselinePolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Data")
	delete(f, "Filters")
	delete(f, "SelectAll")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBaselinePolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBaselinePolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBaselinePolicyResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBaselinePolicyResponseParams `json:"Response"`
}

func (r *ModifyBaselinePolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBaselinePolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBashPolicyRequestParams struct {
	// Specific policy configuration
	Policy *BashPolicy `json:"Policy,omitnil,omitempty" name:"Policy"`
}

type ModifyBashPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Specific policy configuration
	Policy *BashPolicy `json:"Policy,omitnil,omitempty" name:"Policy"`
}

func (r *ModifyBashPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBashPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Policy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBashPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBashPolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBashPolicyResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBashPolicyResponseParams `json:"Response"`
}

func (r *ModifyBashPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBashPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBashPolicyStatusRequestParams struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to disable
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`
}

type ModifyBashPolicyStatusRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to disable
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`
}

func (r *ModifyBashPolicyStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBashPolicyStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Enable")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBashPolicyStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBashPolicyStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBashPolicyStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBashPolicyStatusResponseParams `json:"Response"`
}

func (r *ModifyBashPolicyStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBashPolicyStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBruteAttackRulesRequestParams struct {
	// <p>Brute-force attack determination rule</p>
	Rules []*BruteAttackRule `json:"Rules,omitnil,omitempty" name:"Rules"`
}

type ModifyBruteAttackRulesRequest struct {
	*tchttp.BaseRequest
	
	// <p>Brute-force attack determination rule</p>
	Rules []*BruteAttackRule `json:"Rules,omitnil,omitempty" name:"Rules"`
}

func (r *ModifyBruteAttackRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBruteAttackRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Rules")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyBruteAttackRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyBruteAttackRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyBruteAttackRulesResponse struct {
	*tchttp.BaseResponse
	Response *ModifyBruteAttackRulesResponseParams `json:"Response"`
}

func (r *ModifyBruteAttackRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyBruteAttackRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEventAttackStatusRequestParams struct {
	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all, i.e. whether to operate on all events; this parameter is invalid when IDs are not left blank.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// 0: pending processing; 1: processed; 3: ignored; 4: deleted. 
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Filter criteria
	// <li>Type: String attack status: 0: attempted attack; 1: attack succeeded: required: no</li>
	// <li>Status: String event processing status: 0: pending 1: processed; 2: allowlisted; 3: ignored; 4: deleted: required: no</li>
	// <li>SrcIP - String source IP - required: no</li>
	// <li>DstPort - String attack target port - required: no</li>
	// <li>MachineName - String host name - required: no</li>
	// <li>InstanceID - String host instance ID - required: no</li>
	// <li>Quuids - String host CVM UUID - required: no</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Excluded IDs
	ExcludeId []*uint64 `json:"ExcludeId,omitnil,omitempty" name:"ExcludeId"`
}

type ModifyEventAttackStatusRequest struct {
	*tchttp.BaseRequest
	
	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all, i.e. whether to operate on all events; this parameter is invalid when IDs are not left blank.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// 0: pending processing; 1: processed; 3: ignored; 4: deleted. 
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Filter criteria
	// <li>Type: String attack status: 0: attempted attack; 1: attack succeeded: required: no</li>
	// <li>Status: String event processing status: 0: pending 1: processed; 2: allowlisted; 3: ignored; 4: deleted: required: no</li>
	// <li>SrcIP - String source IP - required: no</li>
	// <li>DstPort - String attack target port - required: no</li>
	// <li>MachineName - String host name - required: no</li>
	// <li>InstanceID - String host instance ID - required: no</li>
	// <li>Quuids - String host CVM UUID - required: no</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Excluded IDs
	ExcludeId []*uint64 `json:"ExcludeId,omitnil,omitempty" name:"ExcludeId"`
}

func (r *ModifyEventAttackStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEventAttackStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "All")
	delete(f, "Status")
	delete(f, "Filters")
	delete(f, "ExcludeId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEventAttackStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEventAttackStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyEventAttackStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyEventAttackStatusResponseParams `json:"Response"`
}

func (r *ModifyEventAttackStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEventAttackStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyFileTamperEventsRequestParams struct {
	// Status. 1: added to allowlist; 2: deleted; 3: ignored.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Corresponding event ID
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type ModifyFileTamperEventsRequest struct {
	*tchttp.BaseRequest
	
	// Status. 1: added to allowlist; 2: deleted; 3: ignored.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Corresponding event ID
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *ModifyFileTamperEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyFileTamperEventsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Status")
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyFileTamperEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyFileTamperEventsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyFileTamperEventsResponse struct {
	*tchttp.BaseResponse
	Response *ModifyFileTamperEventsResponseParams `json:"Response"`
}

func (r *ModifyFileTamperEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyFileTamperEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyFileTamperRuleRequestParams struct {
	// Rule name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Rule content
	Rules []*FileTamperRule `json:"Rules,omitnil,omitempty" name:"Rules"`

	// Whether the rule is global (not global by default). 0: no; 1: yes. If the value is 1, Uuids can be left blank.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Enabling status. 0: enabled; 1: disabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Rule ID. If this parameter is left blank or set to 0, the rule is to be added.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// UUID array of affected hosts
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Risk Level. 0: None; 1: High-Risk; 2: Medium-Risk; 3: Low-Risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Allowlisted processing type
	// <li>cur: add the current items to the allowlist</li>
	// <li>all: add all objects that meet the conditions to the allowlist</li>
	AddWhiteType *string `json:"AddWhiteType,omitnil,omitempty" name:"AddWhiteType"`
}

type ModifyFileTamperRuleRequest struct {
	*tchttp.BaseRequest
	
	// Rule name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Rule content
	Rules []*FileTamperRule `json:"Rules,omitnil,omitempty" name:"Rules"`

	// Whether the rule is global (not global by default). 0: no; 1: yes. If the value is 1, Uuids can be left blank.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Enabling status. 0: enabled; 1: disabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Rule ID. If this parameter is left blank or set to 0, the rule is to be added.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// UUID array of affected hosts
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Risk Level. 0: None; 1: High-Risk; 2: Medium-Risk; 3: Low-Risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Allowlisted processing type
	// <li>cur: add the current items to the allowlist</li>
	// <li>all: add all objects that meet the conditions to the allowlist</li>
	AddWhiteType *string `json:"AddWhiteType,omitnil,omitempty" name:"AddWhiteType"`
}

func (r *ModifyFileTamperRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyFileTamperRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Name")
	delete(f, "Rules")
	delete(f, "IsGlobal")
	delete(f, "Status")
	delete(f, "Id")
	delete(f, "Uuids")
	delete(f, "Level")
	delete(f, "AddWhiteType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyFileTamperRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyFileTamperRuleResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyFileTamperRuleResponse struct {
	*tchttp.BaseResponse
	Response *ModifyFileTamperRuleResponseParams `json:"Response"`
}

func (r *ModifyFileTamperRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyFileTamperRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyFileTamperRuleStatusRequestParams struct {
	// 0: enable; 1: disable; 2: delete
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Corresponding event ID
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether a system rule: 0: system rule; 1: user defined rule. System rule Status cannot be deleted.
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`
}

type ModifyFileTamperRuleStatusRequest struct {
	*tchttp.BaseRequest
	
	// 0: enable; 1: disable; 2: delete
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Corresponding event ID
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether a system rule: 0: system rule; 1: user defined rule. System rule Status cannot be deleted.
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`
}

func (r *ModifyFileTamperRuleStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyFileTamperRuleStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Status")
	delete(f, "Ids")
	delete(f, "RuleCategory")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyFileTamperRuleStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyFileTamperRuleStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyFileTamperRuleStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyFileTamperRuleStatusResponseParams `json:"Response"`
}

func (r *ModifyFileTamperRuleStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyFileTamperRuleStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyJavaMemShellPluginSwitchRequestParams struct {
	// Host QUUID array
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Plugin target status. 0: off; 1: on
	JavaShellStatus *uint64 `json:"JavaShellStatus,omitnil,omitempty" name:"JavaShellStatus"`
}

type ModifyJavaMemShellPluginSwitchRequest struct {
	*tchttp.BaseRequest
	
	// Host QUUID array
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Plugin target status. 0: off; 1: on
	JavaShellStatus *uint64 `json:"JavaShellStatus,omitnil,omitempty" name:"JavaShellStatus"`
}

func (r *ModifyJavaMemShellPluginSwitchRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyJavaMemShellPluginSwitchRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuids")
	delete(f, "JavaShellStatus")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyJavaMemShellPluginSwitchRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyJavaMemShellPluginSwitchResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyJavaMemShellPluginSwitchResponse struct {
	*tchttp.BaseResponse
	Response *ModifyJavaMemShellPluginSwitchResponseParams `json:"Response"`
}

func (r *ModifyJavaMemShellPluginSwitchResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyJavaMemShellPluginSwitchResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyJavaMemShellsStatusRequestParams struct {
	// Target Processing Status: 0 - Pending, 1 - Allowlisted, 2 - Deleted, 3 - Ignored, 4 - Manually Processed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Event ID Array
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all statuses. This parameter takes effect only when the statuses are Ignored, Processed, and Deleted.
	UpdateAll *bool `json:"UpdateAll,omitnil,omitempty" name:"UpdateAll"`
}

type ModifyJavaMemShellsStatusRequest struct {
	*tchttp.BaseRequest
	
	// Target Processing Status: 0 - Pending, 1 - Allowlisted, 2 - Deleted, 3 - Ignored, 4 - Manually Processed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Event ID Array
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all statuses. This parameter takes effect only when the statuses are Ignored, Processed, and Deleted.
	UpdateAll *bool `json:"UpdateAll,omitnil,omitempty" name:"UpdateAll"`
}

func (r *ModifyJavaMemShellsStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyJavaMemShellsStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Status")
	delete(f, "Ids")
	delete(f, "UpdateAll")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyJavaMemShellsStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyJavaMemShellsStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyJavaMemShellsStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyJavaMemShellsStatusResponseParams `json:"Response"`
}

func (r *ModifyJavaMemShellsStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyJavaMemShellsStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLicenseBindsRequestParams struct {
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Whether all machines are involved. (If the total number of machines exceeds the available authorizations in the current order, some machines will be skipped.)
	IsAll *bool `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// List of QUUIDs of machines to be bound. This parameter is required when IsAll is set to false. Otherwise, it is ignored. Maximum number: 2,000.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`
}

type ModifyLicenseBindsRequest struct {
	*tchttp.BaseRequest
	
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`

	// Whether all machines are involved. (If the total number of machines exceeds the available authorizations in the current order, some machines will be skipped.)
	IsAll *bool `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// List of QUUIDs of machines to be bound. This parameter is required when IsAll is set to false. Otherwise, it is ignored. Maximum number: 2,000.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`
}

func (r *ModifyLicenseBindsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLicenseBindsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ResourceId")
	delete(f, "LicenseType")
	delete(f, "IsAll")
	delete(f, "QuuidList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLicenseBindsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLicenseBindsResponseParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLicenseBindsResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLicenseBindsResponseParams `json:"Response"`
}

func (r *ModifyLicenseBindsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLicenseBindsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLicenseOrderRequestParams struct {
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Expected value. If the current value is 10, fill in a larger value for scale-out, a smaller value for scale-down (the expected value must be no less than the usage value during scale-down), or the same value for no change.
	InquireNum *uint64 `json:"InquireNum,omitnil,omitempty" name:"InquireNum"`

	// Project ID. Fill in the original value for no change.
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Resource alias. Fill in the original value for no change.
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`
}

type ModifyLicenseOrderRequest struct {
	*tchttp.BaseRequest
	
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Expected value. If the current value is 10, fill in a larger value for scale-out, a smaller value for scale-down (the expected value must be no less than the usage value during scale-down), or the same value for no change.
	InquireNum *uint64 `json:"InquireNum,omitnil,omitempty" name:"InquireNum"`

	// Project ID. Fill in the original value for no change.
	ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Resource alias. Fill in the original value for no change.
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`
}

func (r *ModifyLicenseOrderRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLicenseOrderRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ResourceId")
	delete(f, "InquireNum")
	delete(f, "ProjectId")
	delete(f, "Alias")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLicenseOrderRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLicenseOrderResponseParams struct {
	// Order ID
	DealNames []*string `json:"DealNames,omitnil,omitempty" name:"DealNames"`

	// Resource ID
	ResourceIds []*string `json:"ResourceIds,omitnil,omitempty" name:"ResourceIds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLicenseOrderResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLicenseOrderResponseParams `json:"Response"`
}

func (r *ModifyLicenseOrderResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLicenseOrderResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogKafkaAccessRequestParams struct {
	// Instance name, e.g. CWPP test environment
	KafkaEnvName *string `json:"KafkaEnvName,omitnil,omitempty" name:"KafkaEnvName"`

	// Instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Access method. 1 - public network domain name access; 2 - support environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// 0 - without password; 1 - with password
	HasPwd *uint64 `json:"HasPwd,omitnil,omitempty" name:"HasPwd"`

	// Log shipping type configuration details
	DeliverTypeDetails []*DeliverTypeDetails `json:"DeliverTypeDetails,omitnil,omitempty" name:"DeliverTypeDetails"`

	// Kafka version
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`

	// Region
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Availability zone
	Az *string `json:"Az,omitnil,omitempty" name:"Az"`

	// vpcid address
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Shipping status. 1 - healthy; 2 - alarm; 3 - abnormal
	DeliverStatus *int64 `json:"DeliverStatus,omitnil,omitempty" name:"DeliverStatus"`

	// Peak bandwidth
	BandWidth *int64 `json:"BandWidth,omitnil,omitempty" name:"BandWidth"`

	// Disk capacity
	DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// Password, AES encryption
	Pwd *string `json:"Pwd,omitnil,omitempty" name:"Pwd"`
}

type ModifyLogKafkaAccessRequest struct {
	*tchttp.BaseRequest
	
	// Instance name, e.g. CWPP test environment
	KafkaEnvName *string `json:"KafkaEnvName,omitnil,omitempty" name:"KafkaEnvName"`

	// Instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Access method. 1 - public network domain name access; 2 - support environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// 0 - without password; 1 - with password
	HasPwd *uint64 `json:"HasPwd,omitnil,omitempty" name:"HasPwd"`

	// Log shipping type configuration details
	DeliverTypeDetails []*DeliverTypeDetails `json:"DeliverTypeDetails,omitnil,omitempty" name:"DeliverTypeDetails"`

	// Kafka version
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`

	// Region
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Availability zone
	Az *string `json:"Az,omitnil,omitempty" name:"Az"`

	// vpcid address
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Shipping status. 1 - healthy; 2 - alarm; 3 - abnormal
	DeliverStatus *int64 `json:"DeliverStatus,omitnil,omitempty" name:"DeliverStatus"`

	// Peak bandwidth
	BandWidth *int64 `json:"BandWidth,omitnil,omitempty" name:"BandWidth"`

	// Disk capacity
	DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// Password, AES encryption
	Pwd *string `json:"Pwd,omitnil,omitempty" name:"Pwd"`
}

func (r *ModifyLogKafkaAccessRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogKafkaAccessRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "KafkaEnvName")
	delete(f, "KafkaId")
	delete(f, "AccessType")
	delete(f, "AccessAddr")
	delete(f, "Username")
	delete(f, "HasPwd")
	delete(f, "DeliverTypeDetails")
	delete(f, "InsVersion")
	delete(f, "Zone")
	delete(f, "Az")
	delete(f, "VpcId")
	delete(f, "SubnetId")
	delete(f, "DeliverStatus")
	delete(f, "BandWidth")
	delete(f, "DiskSize")
	delete(f, "Pwd")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLogKafkaAccessRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogKafkaAccessResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLogKafkaAccessResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLogKafkaAccessResponseParams `json:"Response"`
}

func (r *ModifyLogKafkaAccessResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogKafkaAccessResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogKafkaDeliverTypeRequestParams struct {
	// Security module type. 1: intrusion detection; 2: vulnerability management; 3: baseline management; 4: advanced defense; 5: client security; 6: asset fingerprint.
	SecurityType *uint64 `json:"SecurityType,omitnil,omitempty" name:"SecurityType"`

	// Log type of the security module
	LogType []*uint64 `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Shipping enabling status. 0: disabled; 1: enabled.
	Switch *uint64 `json:"Switch,omitnil,omitempty" name:"Switch"`

	// kafka topic id
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`

	// kafka topic name
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`
}

type ModifyLogKafkaDeliverTypeRequest struct {
	*tchttp.BaseRequest
	
	// Security module type. 1: intrusion detection; 2: vulnerability management; 3: baseline management; 4: advanced defense; 5: client security; 6: asset fingerprint.
	SecurityType *uint64 `json:"SecurityType,omitnil,omitempty" name:"SecurityType"`

	// Log type of the security module
	LogType []*uint64 `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Shipping enabling status. 0: disabled; 1: enabled.
	Switch *uint64 `json:"Switch,omitnil,omitempty" name:"Switch"`

	// kafka topic id
	TopicId *string `json:"TopicId,omitnil,omitempty" name:"TopicId"`

	// kafka topic name
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`
}

func (r *ModifyLogKafkaDeliverTypeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogKafkaDeliverTypeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SecurityType")
	delete(f, "LogType")
	delete(f, "Switch")
	delete(f, "TopicId")
	delete(f, "TopicName")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLogKafkaDeliverTypeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogKafkaDeliverTypeResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLogKafkaDeliverTypeResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLogKafkaDeliverTypeResponseParams `json:"Response"`
}

func (r *ModifyLogKafkaDeliverTypeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogKafkaDeliverTypeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogKafkaStateRequestParams struct {
	// Instance name, e.g. CWPP test environment
	KafkaEnvName *string `json:"KafkaEnvName,omitnil,omitempty" name:"KafkaEnvName"`

	// Instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Access method: 1 - public network domain name access; 2 - support environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Region
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Availability zone
	Az *string `json:"Az,omitnil,omitempty" name:"Az"`

	// Network
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Shipping status: 1 - healthy; 2 - alarm; 3 - abnormal
	DeliverStatus *uint64 `json:"DeliverStatus,omitnil,omitempty" name:"DeliverStatus"`

	// Kafka edition
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`

	// Peak bandwidth
	BandWidth *int64 `json:"BandWidth,omitnil,omitempty" name:"BandWidth"`

	// Disk capacity
	DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
}

type ModifyLogKafkaStateRequest struct {
	*tchttp.BaseRequest
	
	// Instance name, e.g. CWPP test environment
	KafkaEnvName *string `json:"KafkaEnvName,omitnil,omitempty" name:"KafkaEnvName"`

	// Instance ID
	KafkaId *string `json:"KafkaId,omitnil,omitempty" name:"KafkaId"`

	// Access method: 1 - public network domain name access; 2 - support environment access
	AccessType *uint64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Access address
	AccessAddr *string `json:"AccessAddr,omitnil,omitempty" name:"AccessAddr"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Region
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Availability zone
	Az *string `json:"Az,omitnil,omitempty" name:"Az"`

	// Network
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Shipping status: 1 - healthy; 2 - alarm; 3 - abnormal
	DeliverStatus *uint64 `json:"DeliverStatus,omitnil,omitempty" name:"DeliverStatus"`

	// Kafka edition
	InsVersion *string `json:"InsVersion,omitnil,omitempty" name:"InsVersion"`

	// Peak bandwidth
	BandWidth *int64 `json:"BandWidth,omitnil,omitempty" name:"BandWidth"`

	// Disk capacity
	DiskSize *int64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
}

func (r *ModifyLogKafkaStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogKafkaStateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "KafkaEnvName")
	delete(f, "KafkaId")
	delete(f, "AccessType")
	delete(f, "AccessAddr")
	delete(f, "Username")
	delete(f, "Zone")
	delete(f, "Az")
	delete(f, "VpcId")
	delete(f, "SubnetId")
	delete(f, "DeliverStatus")
	delete(f, "InsVersion")
	delete(f, "BandWidth")
	delete(f, "DiskSize")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLogKafkaStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogKafkaStateResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLogKafkaStateResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLogKafkaStateResponseParams `json:"Response"`
}

func (r *ModifyLogKafkaStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogKafkaStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogStorageConfigRequestParams struct {
	// Whether to modify the validity period (deprecated).
	IsModifyPeriod *bool `json:"IsModifyPeriod,omitnil,omitempty" name:"IsModifyPeriod"`

	// Storage type: string array
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`

	// Log retention time. The value 3640 indicates that the time is unlimited.
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`

	// Log storage duration unit: year/month/day
	Granularity *string `json:"Granularity,omitnil,omitempty" name:"Granularity"`

	// Language type
	MsgLanguage *string `json:"MsgLanguage,omitnil,omitempty" name:"MsgLanguage"`
}

type ModifyLogStorageConfigRequest struct {
	*tchttp.BaseRequest
	
	// Whether to modify the validity period (deprecated).
	IsModifyPeriod *bool `json:"IsModifyPeriod,omitnil,omitempty" name:"IsModifyPeriod"`

	// Storage type: string array
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`

	// Log retention time. The value 3640 indicates that the time is unlimited.
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`

	// Log storage duration unit: year/month/day
	Granularity *string `json:"Granularity,omitnil,omitempty" name:"Granularity"`

	// Language type
	MsgLanguage *string `json:"MsgLanguage,omitnil,omitempty" name:"MsgLanguage"`
}

func (r *ModifyLogStorageConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogStorageConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IsModifyPeriod")
	delete(f, "Type")
	delete(f, "Period")
	delete(f, "Granularity")
	delete(f, "MsgLanguage")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLogStorageConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLogStorageConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLogStorageConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLogStorageConfigResponseParams `json:"Response"`
}

func (r *ModifyLogStorageConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLogStorageConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLoginWhiteInfoRequestParams struct {
	// Update the allowlist information entity
	HostLoginWhiteObj *UpdateHostLoginWhiteObj `json:"HostLoginWhiteObj,omitnil,omitempty" name:"HostLoginWhiteObj"`
}

type ModifyLoginWhiteInfoRequest struct {
	*tchttp.BaseRequest
	
	// Update the allowlist information entity
	HostLoginWhiteObj *UpdateHostLoginWhiteObj `json:"HostLoginWhiteObj,omitnil,omitempty" name:"HostLoginWhiteObj"`
}

func (r *ModifyLoginWhiteInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLoginWhiteInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "HostLoginWhiteObj")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLoginWhiteInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLoginWhiteInfoResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLoginWhiteInfoResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLoginWhiteInfoResponseParams `json:"Response"`
}

func (r *ModifyLoginWhiteInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLoginWhiteInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLoginWhiteRecordRequestParams struct {
	// <p>Allowlisted users (multiple users separated by commas)</p>
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// <p>Allowlisted dimension information recorded after the update</p>
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// <p>Start time.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>End time.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>Remark</p>
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// <p>Whether it applies to all servers: 0 - no; 1 - yes</p>
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// <p>Allowlist ID</p>
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Server list</p>
	Hosts []*HostInfo `json:"Hosts,omitnil,omitempty" name:"Hosts"`

	// <p>Region list</p>
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`
}

type ModifyLoginWhiteRecordRequest struct {
	*tchttp.BaseRequest
	
	// <p>Allowlisted users (multiple users separated by commas)</p>
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// <p>Allowlisted dimension information recorded after the update</p>
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// <p>Start time.</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>End time.</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>Remark</p>
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// <p>Whether it applies to all servers: 0 - no; 1 - yes</p>
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// <p>Allowlist ID</p>
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// <p>Server list</p>
	Hosts []*HostInfo `json:"Hosts,omitnil,omitempty" name:"Hosts"`

	// <p>Region list</p>
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`
}

func (r *ModifyLoginWhiteRecordRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLoginWhiteRecordRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "UserName")
	delete(f, "SrcIp")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "Remark")
	delete(f, "IsGlobal")
	delete(f, "Id")
	delete(f, "Hosts")
	delete(f, "Places")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyLoginWhiteRecordRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyLoginWhiteRecordResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyLoginWhiteRecordResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLoginWhiteRecordResponseParams `json:"Response"`
}

func (r *ModifyLoginWhiteRecordResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyLoginWhiteRecordResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMachineAutoClearConfigRequestParams struct {
	// <p>Cleanup rule retention period. 0: Disabled. Unit: day. Maximum: 30 days</p>
	ClearRule *uint64 `json:"ClearRule,omitnil,omitempty" name:"ClearRule"`
}

type ModifyMachineAutoClearConfigRequest struct {
	*tchttp.BaseRequest
	
	// <p>Cleanup rule retention period. 0: Disabled. Unit: day. Maximum: 30 days</p>
	ClearRule *uint64 `json:"ClearRule,omitnil,omitempty" name:"ClearRule"`
}

func (r *ModifyMachineAutoClearConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMachineAutoClearConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClearRule")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMachineAutoClearConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMachineAutoClearConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMachineAutoClearConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMachineAutoClearConfigResponseParams `json:"Response"`
}

func (r *ModifyMachineAutoClearConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMachineAutoClearConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMaliciousRequestWhiteListRequestParams struct {
	// Allowlist ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Allowlisted domain names
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Remarks
	Mark *string `json:"Mark,omitnil,omitempty" name:"Mark"`
}

type ModifyMaliciousRequestWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Allowlisted domain names
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Remarks
	Mark *string `json:"Mark,omitnil,omitempty" name:"Mark"`
}

func (r *ModifyMaliciousRequestWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMaliciousRequestWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Domain")
	delete(f, "Mark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMaliciousRequestWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMaliciousRequestWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMaliciousRequestWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMaliciousRequestWhiteListResponseParams `json:"Response"`
}

func (r *ModifyMaliciousRequestWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMaliciousRequestWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMalwareTimingScanSettingsRequestParams struct {
	// <p>Detection mode. 0: full disk detection; 1: rapid detection</p>
	CheckPattern *uint64 `json:"CheckPattern,omitnil,omitempty" name:"CheckPattern"`

	// <p>Start time of the detection window, for example, 02:00:00</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>Timeout end time of the detection window, for example, 04:00:00</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>Whether all servers are selected. 1: All; 2: Custom</p>
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// <p>Scheduled detection switch. 0: off; 1: on</p>
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// <p>Monitoring mode. 0: standard; 1: deep</p>
	MonitoringPattern *uint64 `json:"MonitoringPattern,omitnil,omitempty" name:"MonitoringPattern"`

	// <p>Scan cycle. Default: daily (1)</p>
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// <p>Real-time monitoring. 0: off; 1: on</p>
	RealTimeMonitoring *uint64 `json:"RealTimeMonitoring,omitnil,omitempty" name:"RealTimeMonitoring"`

	// <p>A string array of host QUUIDs, required when custom servers are selected</p>
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// <p>Whether to isolate automatically: 1 - yes; 0 - no</p>
	AutoIsolation *uint64 `json:"AutoIsolation,omitnil,omitempty" name:"AutoIsolation"`

	// <p>Whether to terminate the process: 1: terminate; 0: not terminate</p>
	KillProcess *uint64 `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// <p>1: Clean; 0: Do not clean</p><li>This operation repairs tampered system commands, scheduled tasks, and other system files. Make sure yum/apt is available during the operation.</li>
	DoClean *uint64 `json:"DoClean,omitnil,omitempty" name:"DoClean"`

	// <p>1: Standard mode (reports only critical and high-risk items); 2: Enhanced mode (reports critical, high-risk, and medium-risk items); 3: Strict mode (reports critical, high-, medium-, and low-risk items, plus informational items)</p>
	EngineType *uint64 `json:"EngineType,omitnil,omitempty" name:"EngineType"`

	// <p>Heuristic engine switch. 0: off; 1: on</p>
	EnableInspiredEngine *uint64 `json:"EnableInspiredEngine,omitnil,omitempty" name:"EnableInspiredEngine"`

	// <p>Whether malicious process termination is enabled [0: disabled, 1: enabled]</p>
	EnableMemShellScan *uint64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`

	// <p>Protection mode. 0: Standard; 1: Critical-period protection</p>
	ProtectMode *uint64 `json:"ProtectMode,omitnil,omitempty" name:"ProtectMode"`

	// <p>Scan scope. 0: Malicious files other than script files; 1: All malicious files</p>
	ProtectFileScope *uint64 `json:"ProtectFileScope,omitnil,omitempty" name:"ProtectFileScope"`

	// <p>Selected hosts for isolation</p>
	QuaraUuids []*string `json:"QuaraUuids,omitnil,omitempty" name:"QuaraUuids"`

	// <p>Isolation scope selected by the user. 0: Full isolation by default; 1: Custom</p>
	QuaraScope *uint64 `json:"QuaraScope,omitnil,omitempty" name:"QuaraScope"`

	// <p>Product type. 0:CWP (default); 1:CSC</p>
	ProductType *int64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

type ModifyMalwareTimingScanSettingsRequest struct {
	*tchttp.BaseRequest
	
	// <p>Detection mode. 0: full disk detection; 1: rapid detection</p>
	CheckPattern *uint64 `json:"CheckPattern,omitnil,omitempty" name:"CheckPattern"`

	// <p>Start time of the detection window, for example, 02:00:00</p>
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// <p>Timeout end time of the detection window, for example, 04:00:00</p>
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// <p>Whether all servers are selected. 1: All; 2: Custom</p>
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// <p>Scheduled detection switch. 0: off; 1: on</p>
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// <p>Monitoring mode. 0: standard; 1: deep</p>
	MonitoringPattern *uint64 `json:"MonitoringPattern,omitnil,omitempty" name:"MonitoringPattern"`

	// <p>Scan cycle. Default: daily (1)</p>
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// <p>Real-time monitoring. 0: off; 1: on</p>
	RealTimeMonitoring *uint64 `json:"RealTimeMonitoring,omitnil,omitempty" name:"RealTimeMonitoring"`

	// <p>A string array of host QUUIDs, required when custom servers are selected</p>
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// <p>Whether to isolate automatically: 1 - yes; 0 - no</p>
	AutoIsolation *uint64 `json:"AutoIsolation,omitnil,omitempty" name:"AutoIsolation"`

	// <p>Whether to terminate the process: 1: terminate; 0: not terminate</p>
	KillProcess *uint64 `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// <p>1: Clean; 0: Do not clean</p><li>This operation repairs tampered system commands, scheduled tasks, and other system files. Make sure yum/apt is available during the operation.</li>
	DoClean *uint64 `json:"DoClean,omitnil,omitempty" name:"DoClean"`

	// <p>1: Standard mode (reports only critical and high-risk items); 2: Enhanced mode (reports critical, high-risk, and medium-risk items); 3: Strict mode (reports critical, high-, medium-, and low-risk items, plus informational items)</p>
	EngineType *uint64 `json:"EngineType,omitnil,omitempty" name:"EngineType"`

	// <p>Heuristic engine switch. 0: off; 1: on</p>
	EnableInspiredEngine *uint64 `json:"EnableInspiredEngine,omitnil,omitempty" name:"EnableInspiredEngine"`

	// <p>Whether malicious process termination is enabled [0: disabled, 1: enabled]</p>
	EnableMemShellScan *uint64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`

	// <p>Protection mode. 0: Standard; 1: Critical-period protection</p>
	ProtectMode *uint64 `json:"ProtectMode,omitnil,omitempty" name:"ProtectMode"`

	// <p>Scan scope. 0: Malicious files other than script files; 1: All malicious files</p>
	ProtectFileScope *uint64 `json:"ProtectFileScope,omitnil,omitempty" name:"ProtectFileScope"`

	// <p>Selected hosts for isolation</p>
	QuaraUuids []*string `json:"QuaraUuids,omitnil,omitempty" name:"QuaraUuids"`

	// <p>Isolation scope selected by the user. 0: Full isolation by default; 1: Custom</p>
	QuaraScope *uint64 `json:"QuaraScope,omitnil,omitempty" name:"QuaraScope"`

	// <p>Product type. 0:CWP (default); 1:CSC</p>
	ProductType *int64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

func (r *ModifyMalwareTimingScanSettingsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMalwareTimingScanSettingsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CheckPattern")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "IsGlobal")
	delete(f, "EnableScan")
	delete(f, "MonitoringPattern")
	delete(f, "Cycle")
	delete(f, "RealTimeMonitoring")
	delete(f, "QuuidList")
	delete(f, "AutoIsolation")
	delete(f, "KillProcess")
	delete(f, "DoClean")
	delete(f, "EngineType")
	delete(f, "EnableInspiredEngine")
	delete(f, "EnableMemShellScan")
	delete(f, "ProtectMode")
	delete(f, "ProtectFileScope")
	delete(f, "QuaraUuids")
	delete(f, "QuaraScope")
	delete(f, "ProductType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMalwareTimingScanSettingsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMalwareTimingScanSettingsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMalwareTimingScanSettingsResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMalwareTimingScanSettingsResponseParams `json:"Response"`
}

func (r *ModifyMalwareTimingScanSettingsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMalwareTimingScanSettingsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMalwareWhiteListRequestParams struct {
	// Allowlist mode. 0: MD5 allowlist; 1: custom.
	Mode *uint64 `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Unique rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether the allowlist applies to all hosts. 0: no; 1: yes.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Matching pattern; 0 for exact match, 1 for fuzzy match (deprecated)
	MatchType *uint64 `json:"MatchType,omitnil,omitempty" name:"MatchType"`

	// File Name (regular expression); up to 200 characters in length
	FileName []*string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File Directory (regular expression); up to 200 characters in length, content base64 encoded.
	FileDirectory []*string `json:"FileDirectory,omitnil,omitempty" name:"FileDirectory"`

	// File Suffix; Up to 200 characters in length, content base64 escaped (deprecated).
	FileExtension []*string `json:"FileExtension,omitnil,omitempty" name:"FileExtension"`

	// MD5 list
	Md5List []*string `json:"Md5List,omitnil,omitempty" name:"Md5List"`
}

type ModifyMalwareWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist mode. 0: MD5 allowlist; 1: custom.
	Mode *uint64 `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Unique rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether the allowlist applies to all hosts. 0: no; 1: yes.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Matching pattern; 0 for exact match, 1 for fuzzy match (deprecated)
	MatchType *uint64 `json:"MatchType,omitnil,omitempty" name:"MatchType"`

	// File Name (regular expression); up to 200 characters in length
	FileName []*string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File Directory (regular expression); up to 200 characters in length, content base64 encoded.
	FileDirectory []*string `json:"FileDirectory,omitnil,omitempty" name:"FileDirectory"`

	// File Suffix; Up to 200 characters in length, content base64 escaped (deprecated).
	FileExtension []*string `json:"FileExtension,omitnil,omitempty" name:"FileExtension"`

	// MD5 list
	Md5List []*string `json:"Md5List,omitnil,omitempty" name:"Md5List"`
}

func (r *ModifyMalwareWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMalwareWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Mode")
	delete(f, "Id")
	delete(f, "QuuidList")
	delete(f, "IsGlobal")
	delete(f, "MatchType")
	delete(f, "FileName")
	delete(f, "FileDirectory")
	delete(f, "FileExtension")
	delete(f, "Md5List")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyMalwareWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyMalwareWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyMalwareWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *ModifyMalwareWhiteListResponseParams `json:"Response"`
}

func (r *ModifyMalwareWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyMalwareWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyNetAttackSettingRequestParams struct {
	// <p>0: Disable network attack detection; 1: Enable network attack detection</p>
	NetAttackEnable *uint64 `json:"NetAttackEnable,omitnil,omitempty" name:"NetAttackEnable"`

	// <p>0: Newly added alert events are pending by default; 1: newly added alert events are processed by default; 3: newly added alert events are ignored by default</p>
	NetAttackAlarmStatus *uint64 `json:"NetAttackAlarmStatus,omitnil,omitempty" name:"NetAttackAlarmStatus"`

	// <p>1: All Ultimate Edition hosts; 0: Hosts in the Quuids list</p>
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// <p>Selected hosts</p>
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// <p>Custom excluded hosts</p>
	ExcludeInstanceIds []*string `json:"ExcludeInstanceIds,omitnil,omitempty" name:"ExcludeInstanceIds"`

	// <p>Automatically include newly added assets. 0: No; 1: Yes</p>
	AutoInclude *uint64 `json:"AutoInclude,omitnil,omitempty" name:"AutoInclude"`

	// <p>Product type. 0: CWP; 1: CSC</p>
	ProductType *uint64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

type ModifyNetAttackSettingRequest struct {
	*tchttp.BaseRequest
	
	// <p>0: Disable network attack detection; 1: Enable network attack detection</p>
	NetAttackEnable *uint64 `json:"NetAttackEnable,omitnil,omitempty" name:"NetAttackEnable"`

	// <p>0: Newly added alert events are pending by default; 1: newly added alert events are processed by default; 3: newly added alert events are ignored by default</p>
	NetAttackAlarmStatus *uint64 `json:"NetAttackAlarmStatus,omitnil,omitempty" name:"NetAttackAlarmStatus"`

	// <p>1: All Ultimate Edition hosts; 0: Hosts in the Quuids list</p>
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// <p>Selected hosts</p>
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// <p>Custom excluded hosts</p>
	ExcludeInstanceIds []*string `json:"ExcludeInstanceIds,omitnil,omitempty" name:"ExcludeInstanceIds"`

	// <p>Automatically include newly added assets. 0: No; 1: Yes</p>
	AutoInclude *uint64 `json:"AutoInclude,omitnil,omitempty" name:"AutoInclude"`

	// <p>Product type. 0: CWP; 1: CSC</p>
	ProductType *uint64 `json:"ProductType,omitnil,omitempty" name:"ProductType"`
}

func (r *ModifyNetAttackSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyNetAttackSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "NetAttackEnable")
	delete(f, "NetAttackAlarmStatus")
	delete(f, "Scope")
	delete(f, "InstanceIds")
	delete(f, "ExcludeInstanceIds")
	delete(f, "AutoInclude")
	delete(f, "ProductType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyNetAttackSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyNetAttackSettingResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyNetAttackSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyNetAttackSettingResponseParams `json:"Response"`
}

func (r *ModifyNetAttackSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyNetAttackSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyNetAttackWhiteListRequestParams struct {
	// Whether applies all hosts: 0: no; 1: yes
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Source IP. Single IP: 1.1.1.1, IP Range: 1.1.1.1-1.1.2.1, IP Range: 1.1.1.0/24 
	SrcIp []*string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Whether to allowlist all alarms that match this rule: 1: Yes, 0: No.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Rule description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type ModifyNetAttackWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Whether applies all hosts: 0: no; 1: yes
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Source IP. Single IP: 1.1.1.1, IP Range: 1.1.1.1-1.1.2.1, IP Range: 1.1.1.0/24 
	SrcIp []*string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Whether to allowlist all alarms that match this rule: 1: Yes, 0: No.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// QUUID list
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Rule description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *ModifyNetAttackWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyNetAttackWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Scope")
	delete(f, "SrcIp")
	delete(f, "DealOldEvents")
	delete(f, "Id")
	delete(f, "QuuidList")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyNetAttackWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyNetAttackWhiteListResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyNetAttackWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *ModifyNetAttackWhiteListResponseParams `json:"Response"`
}

func (r *ModifyNetAttackWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyNetAttackWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRansomDefenseEventsStatusRequestParams struct {
	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Operations. 0: Pending; 1: Processed; 2: Trusted; 9: Delete Record
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether to update all events with the same path.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

type ModifyRansomDefenseEventsStatusRequest struct {
	*tchttp.BaseRequest
	
	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Operations. 0: Pending; 1: Processed; 2: Trusted; 9: Delete Record
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether to update all events with the same path.
	All *bool `json:"All,omitnil,omitempty" name:"All"`
}

func (r *ModifyRansomDefenseEventsStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRansomDefenseEventsStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "Status")
	delete(f, "All")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRansomDefenseEventsStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRansomDefenseEventsStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRansomDefenseEventsStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRansomDefenseEventsStatusResponseParams `json:"Response"`
}

func (r *ModifyRansomDefenseEventsStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRansomDefenseEventsStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRansomDefenseStrategyStatusRequestParams struct {
	// Apply to all policies: 0 No, 1 Yes.
	IsAll *uint64 `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// 0 for Off, 1 for On, 9 for Delete
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy ID List
	IdList []*uint64 `json:"IdList,omitnil,omitempty" name:"IdList"`
}

type ModifyRansomDefenseStrategyStatusRequest struct {
	*tchttp.BaseRequest
	
	// Apply to all policies: 0 No, 1 Yes.
	IsAll *uint64 `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// 0 for Off, 1 for On, 9 for Delete
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy ID List
	IdList []*uint64 `json:"IdList,omitnil,omitempty" name:"IdList"`
}

func (r *ModifyRansomDefenseStrategyStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRansomDefenseStrategyStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IsAll")
	delete(f, "Status")
	delete(f, "IdList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRansomDefenseStrategyStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRansomDefenseStrategyStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRansomDefenseStrategyStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRansomDefenseStrategyStatusResponseParams `json:"Response"`
}

func (r *ModifyRansomDefenseStrategyStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRansomDefenseStrategyStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRaspMaxCpuRequestParams struct {
	// rasp current maximum cpu limitation, larger than 0, less than or equal to 100, default 100 indicates no restriction
	RaspMaxCpu *uint64 `json:"RaspMaxCpu,omitnil,omitempty" name:"RaspMaxCpu"`
}

type ModifyRaspMaxCpuRequest struct {
	*tchttp.BaseRequest
	
	// rasp current maximum cpu limitation, larger than 0, less than or equal to 100, default 100 indicates no restriction
	RaspMaxCpu *uint64 `json:"RaspMaxCpu,omitnil,omitempty" name:"RaspMaxCpu"`
}

func (r *ModifyRaspMaxCpuRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRaspMaxCpuRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RaspMaxCpu")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRaspMaxCpuRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRaspMaxCpuResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRaspMaxCpuResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRaspMaxCpuResponseParams `json:"Response"`
}

func (r *ModifyRaspMaxCpuResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRaspMaxCpuResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRaspRulesRequestParams struct {
	// Rule ID. (Leave it blank during addition, and specify it during editing.)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Vulnerability ID array.
	VulVulsIDs []*uint64 `json:"VulVulsIDs,omitnil,omitempty" name:"VulVulsIDs"`

	// Base64-encoded regular expression for allowlisting requests within a custom request scope. It cannot be left blank unless all requests are to be allowlisted.
	URLRegexp *string `json:"URLRegexp,omitnil,omitempty" name:"URLRegexp"`

	// Allowlisting method. 0: allowlist requests within a custom request scope; 1: allowlist all requests.
	WhiteType *uint64 `json:"WhiteType,omitnil,omitempty" name:"WhiteType"`
}

type ModifyRaspRulesRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID. (Leave it blank during addition, and specify it during editing.)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Vulnerability ID array.
	VulVulsIDs []*uint64 `json:"VulVulsIDs,omitnil,omitempty" name:"VulVulsIDs"`

	// Base64-encoded regular expression for allowlisting requests within a custom request scope. It cannot be left blank unless all requests are to be allowlisted.
	URLRegexp *string `json:"URLRegexp,omitnil,omitempty" name:"URLRegexp"`

	// Allowlisting method. 0: allowlist requests within a custom request scope; 1: allowlist all requests.
	WhiteType *uint64 `json:"WhiteType,omitnil,omitempty" name:"WhiteType"`
}

func (r *ModifyRaspRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRaspRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "VulVulsIDs")
	delete(f, "URLRegexp")
	delete(f, "WhiteType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRaspRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRaspRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRaspRulesResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRaspRulesResponseParams `json:"Response"`
}

func (r *ModifyRaspRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRaspRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyReverseShellRulesAggregationRequestParams struct {
	// Rule ID (leave this parameter blank for addition)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Target IP address
	DestIp *string `json:"DestIp,omitnil,omitempty" name:"DestIp"`

	// Target port
	DestPort *string `json:"DestPort,omitnil,omitempty" name:"DestPort"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether the rule is global (not global by default)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// ID of the associated event when clicking Add to Allowlist on the event list and details page (leave this parameter blank for rule addition)
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Allowlisting method. 0: regular allowlisting, 1: regular expression allowlisting.
	WhiteType *uint64 `json:"WhiteType,omitnil,omitempty" name:"WhiteType"`

	// Regular expression
	RuleRegexp *string `json:"RuleRegexp,omitnil,omitempty" name:"RuleRegexp"`

	// Whether to process historical events. 0: no, 1: yes.
	HandleHistory *uint64 `json:"HandleHistory,omitnil,omitempty" name:"HandleHistory"`

	// Batch ID.
	GroupID *string `json:"GroupID,omitnil,omitempty" name:"GroupID"`
}

type ModifyReverseShellRulesAggregationRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID (leave this parameter blank for addition)
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID array
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Target IP address
	DestIp *string `json:"DestIp,omitnil,omitempty" name:"DestIp"`

	// Target port
	DestPort *string `json:"DestPort,omitnil,omitempty" name:"DestPort"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether the rule is global (not global by default)
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// ID of the associated event when clicking Add to Allowlist on the event list and details page (leave this parameter blank for rule addition)
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Allowlisting method. 0: regular allowlisting, 1: regular expression allowlisting.
	WhiteType *uint64 `json:"WhiteType,omitnil,omitempty" name:"WhiteType"`

	// Regular expression
	RuleRegexp *string `json:"RuleRegexp,omitnil,omitempty" name:"RuleRegexp"`

	// Whether to process historical events. 0: no, 1: yes.
	HandleHistory *uint64 `json:"HandleHistory,omitnil,omitempty" name:"HandleHistory"`

	// Batch ID.
	GroupID *string `json:"GroupID,omitnil,omitempty" name:"GroupID"`
}

func (r *ModifyReverseShellRulesAggregationRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyReverseShellRulesAggregationRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Uuids")
	delete(f, "HostIp")
	delete(f, "DestIp")
	delete(f, "DestPort")
	delete(f, "ProcessName")
	delete(f, "IsGlobal")
	delete(f, "EventId")
	delete(f, "WhiteType")
	delete(f, "RuleRegexp")
	delete(f, "HandleHistory")
	delete(f, "GroupID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyReverseShellRulesAggregationRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyReverseShellRulesAggregationResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyReverseShellRulesAggregationResponse struct {
	*tchttp.BaseResponse
	Response *ModifyReverseShellRulesAggregationResponseParams `json:"Response"`
}

func (r *ModifyReverseShellRulesAggregationResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyReverseShellRulesAggregationResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskDnsPolicyRequestParams struct {
	// Policy
	Data *RiskDnsPolicy `json:"Data,omitnil,omitempty" name:"Data"`
}

type ModifyRiskDnsPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy
	Data *RiskDnsPolicy `json:"Data,omitnil,omitempty" name:"Data"`
}

func (r *ModifyRiskDnsPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskDnsPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Data")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRiskDnsPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskDnsPolicyResponseParams struct {
	// 0: No duplication. 1: Duplicates the existing policy.
	Repeat *int64 `json:"Repeat,omitnil,omitempty" name:"Repeat"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRiskDnsPolicyResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRiskDnsPolicyResponseParams `json:"Response"`
}

func (r *ModifyRiskDnsPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskDnsPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskDnsPolicyStatusRequestParams struct {
	// Policy ID
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Whether effective [0: effective,1: not effective]
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`
}

type ModifyRiskDnsPolicyStatusRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Whether effective [0: effective,1: not effective]
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`
}

func (r *ModifyRiskDnsPolicyStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskDnsPolicyStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PolicyId")
	delete(f, "IsEnabled")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRiskDnsPolicyStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskDnsPolicyStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRiskDnsPolicyStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRiskDnsPolicyStatusResponseParams `json:"Response"`
}

func (r *ModifyRiskDnsPolicyStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskDnsPolicyStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskEventsStatusRequestParams struct {
	// Operation. 0: mark as handled; 1: ignore; 2: delete records; 3: isolate Trojan viruses; 4: recover isolating Trojan viruses; 5: add files to the trusted list; 6: delete files from the trusted list; 7: scan abnormal processes; 8: add to the allowlist.
	Operate *uint64 `json:"Operate,omitnil,omitempty" name:"Operate"`

	// Operation event types, file scan: MALWARE, exceptional login: HOST_LOGIN, password brute attack: BRUTE_ATTACK, malicious request: MALICIOUS_REQUEST, high-risk command: BASH_EVENT, local privilege escalation: PRIVILEGE_EVENT, reverse shell: REVERSE_SHELL, exceptional process: PROCESS.
	RiskType *string `json:"RiskType,omitnil,omitempty" name:"RiskType"`

	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all, i.e. whether to operate on all events; this parameter is invalid when IDs are not left blank.
	UpdateAll *bool `json:"UpdateAll,omitnil,omitempty" name:"UpdateAll"`

	// Excluded event ID: When operating on all events, this ID needs to be excluded.
	ExcludeId []*uint64 `json:"ExcludeId,omitnil,omitempty" name:"ExcludeId"`

	// When Operate is Trojan isolation, it indicates whether to kill the process, other operations are invalid
	KillProcess *bool `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// When RiskType is cross-region log-in and IDs are left blank, you can modify the status of events from all source IPs.
	Ip []*string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Filtering criteria. When RiskType is MALWARE.
	// 1. When RiskType is MALWARE:
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status: 4 - pending; 5 -- trusted; 6 - isolated; 10 - isolation in progress; 11 - recovering from isolation</li>
	// When RiskType is PROCESS:
	// Filter criteria
	// <li>IpOrName - String - required: no - host IP or host name</li>
	// <li>VirusName - String - required: no - virus name</li>
	// <li>BeginTime - String - required: no - process startup time - begin</li>
	// <li>BeginTime - String - required: no - process startup time - end</li>
	// <li>Status - String - required: no - filter by status: 0 - pending; 1 - under detection; 2 - detected; 3 - exited; 4 - trusted</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// When Operate is Trojan isolation
	// <li>This operation will fix tampered system commands, scheduled tasks, and other system files. Please ensure that yum/apt is available during the operation.</li>
	DoClean *bool `json:"DoClean,omitnil,omitempty" name:"DoClean"`
}

type ModifyRiskEventsStatusRequest struct {
	*tchttp.BaseRequest
	
	// Operation. 0: mark as handled; 1: ignore; 2: delete records; 3: isolate Trojan viruses; 4: recover isolating Trojan viruses; 5: add files to the trusted list; 6: delete files from the trusted list; 7: scan abnormal processes; 8: add to the allowlist.
	Operate *uint64 `json:"Operate,omitnil,omitempty" name:"Operate"`

	// Operation event types, file scan: MALWARE, exceptional login: HOST_LOGIN, password brute attack: BRUTE_ATTACK, malicious request: MALICIOUS_REQUEST, high-risk command: BASH_EVENT, local privilege escalation: PRIVILEGE_EVENT, reverse shell: REVERSE_SHELL, exceptional process: PROCESS.
	RiskType *string `json:"RiskType,omitnil,omitempty" name:"RiskType"`

	// An array of event IDs that need to be modified, and batch operation is supported.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to update all, i.e. whether to operate on all events; this parameter is invalid when IDs are not left blank.
	UpdateAll *bool `json:"UpdateAll,omitnil,omitempty" name:"UpdateAll"`

	// Excluded event ID: When operating on all events, this ID needs to be excluded.
	ExcludeId []*uint64 `json:"ExcludeId,omitnil,omitempty" name:"ExcludeId"`

	// When Operate is Trojan isolation, it indicates whether to kill the process, other operations are invalid
	KillProcess *bool `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// When RiskType is cross-region log-in and IDs are left blank, you can modify the status of events from all source IPs.
	Ip []*string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Filtering criteria. When RiskType is MALWARE.
	// 1. When RiskType is MALWARE:
	// <li>IpOrAlias - String - required: no - filter by host IP or alias</li>
	// <li>FilePath - String - required: no - filter by path</li>
	// <li>VirusName - String - required: no - filter by description</li>
	// <li>CreateBeginTime - String - required: no - filter by creation time - start time</li>
	// <li>CreateEndTime - String - required: no - filter by creation time - end time</li>
	// <li>Status - String - required: no - filter by status: 4 - pending; 5 -- trusted; 6 - isolated; 10 - isolation in progress; 11 - recovering from isolation</li>
	// When RiskType is PROCESS:
	// Filter criteria
	// <li>IpOrName - String - required: no - host IP or host name</li>
	// <li>VirusName - String - required: no - virus name</li>
	// <li>BeginTime - String - required: no - process startup time - begin</li>
	// <li>BeginTime - String - required: no - process startup time - end</li>
	// <li>Status - String - required: no - filter by status: 0 - pending; 1 - under detection; 2 - detected; 3 - exited; 4 - trusted</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// When Operate is Trojan isolation
	// <li>This operation will fix tampered system commands, scheduled tasks, and other system files. Please ensure that yum/apt is available during the operation.</li>
	DoClean *bool `json:"DoClean,omitnil,omitempty" name:"DoClean"`
}

func (r *ModifyRiskEventsStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskEventsStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Operate")
	delete(f, "RiskType")
	delete(f, "Ids")
	delete(f, "UpdateAll")
	delete(f, "ExcludeId")
	delete(f, "KillProcess")
	delete(f, "Ip")
	delete(f, "Filters")
	delete(f, "DoClean")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRiskEventsStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskEventsStatusResponseParams struct {
	// Whether this operation is asynchronous. 0: operation completed; 1: asynchronous operation in progress and DescribeRiskBatchStatus needs to be called by frontend to check if the operation is completed.
	IsSync *uint64 `json:"IsSync,omitnil,omitempty" name:"IsSync"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyRiskEventsStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRiskEventsStatusResponseParams `json:"Response"`
}

func (r *ModifyRiskEventsStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskEventsStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyUsersConfigRequestParams struct {
	// Configuration name
	// <li>license_monitor new authorization monitoring configuration: 0 - disable, 1 - enable</li>
	ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"`

	// Configuration value
	ConfigValue *string `json:"ConfigValue,omitnil,omitempty" name:"ConfigValue"`
}

type ModifyUsersConfigRequest struct {
	*tchttp.BaseRequest
	
	// Configuration name
	// <li>license_monitor new authorization monitoring configuration: 0 - disable, 1 - enable</li>
	ConfigName *string `json:"ConfigName,omitnil,omitempty" name:"ConfigName"`

	// Configuration value
	ConfigValue *string `json:"ConfigValue,omitnil,omitempty" name:"ConfigValue"`
}

func (r *ModifyUsersConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyUsersConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ConfigName")
	delete(f, "ConfigValue")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyUsersConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyUsersConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyUsersConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyUsersConfigResponseParams `json:"Response"`
}

func (r *ModifyUsersConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyUsersConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVulDefenceEventStatusRequestParams struct {
	// Event ID
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// 0: pending; 2: processed; 3: ignored; 4: deleted.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifyVulDefenceEventStatusRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// 0: pending; 2: processed; 3: ignored; 4: deleted.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ModifyVulDefenceEventStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVulDefenceEventStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVulDefenceEventStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVulDefenceEventStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyVulDefenceEventStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVulDefenceEventStatusResponseParams `json:"Response"`
}

func (r *ModifyVulDefenceEventStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVulDefenceEventStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVulDefenceSettingRequestParams struct {
	// Defense switch: 0 - off; 1 - on
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// 1 - All Ultimate edition hosts; 0 - list of hosts with Quuids
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// List of Ultimate Edition hosts within the scope
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Exclude the list of Ultimate Edition hosts within the scope
	ExcludeInstanceIds []*string `json:"ExcludeInstanceIds,omitnil,omitempty" name:"ExcludeInstanceIds"`

	// New assets automatically include: 0 - Do not include, 1 - include.
	AutoInclude *uint64 `json:"AutoInclude,omitnil,omitempty" name:"AutoInclude"`

	// List of Ultimate Edition hosts within the scope
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`
}

type ModifyVulDefenceSettingRequest struct {
	*tchttp.BaseRequest
	
	// Defense switch: 0 - off; 1 - on
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// 1 - All Ultimate edition hosts; 0 - list of hosts with Quuids
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// List of Ultimate Edition hosts within the scope
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Exclude the list of Ultimate Edition hosts within the scope
	ExcludeInstanceIds []*string `json:"ExcludeInstanceIds,omitnil,omitempty" name:"ExcludeInstanceIds"`

	// New assets automatically include: 0 - Do not include, 1 - include.
	AutoInclude *uint64 `json:"AutoInclude,omitnil,omitempty" name:"AutoInclude"`

	// List of Ultimate Edition hosts within the scope
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`
}

func (r *ModifyVulDefenceSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVulDefenceSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Enable")
	delete(f, "Scope")
	delete(f, "Quuids")
	delete(f, "ExcludeInstanceIds")
	delete(f, "AutoInclude")
	delete(f, "InstanceIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVulDefenceSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVulDefenceSettingResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyVulDefenceSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVulDefenceSettingResponseParams `json:"Response"`
}

func (r *ModifyVulDefenceSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVulDefenceSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWarningHostConfigRequestParams struct {
	// Alarm type
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Alarm Host Range Type. 0: All Hosts; 1: By Project; 2: By Tencent Cloud Tag; 3: By Host Security Tag; 4: Custom Hosts
	HostRange *int64 `json:"HostRange,omitnil,omitempty" name:"HostRange"`

	// List of Project or Tag Names, empty for custom hosts
	ItemLabels []*string `json:"ItemLabels,omitnil,omitempty" name:"ItemLabels"`

	// Machine list
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// List of Project or Tag IDs, empty for custom hosts
	ItemLabelIds []*string `json:"ItemLabelIds,omitnil,omitempty" name:"ItemLabelIds"`

	// List of machines to be excluded.
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`
}

type ModifyWarningHostConfigRequest struct {
	*tchttp.BaseRequest
	
	// Alarm type
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Alarm Host Range Type. 0: All Hosts; 1: By Project; 2: By Tencent Cloud Tag; 3: By Host Security Tag; 4: Custom Hosts
	HostRange *int64 `json:"HostRange,omitnil,omitempty" name:"HostRange"`

	// List of Project or Tag Names, empty for custom hosts
	ItemLabels []*string `json:"ItemLabels,omitnil,omitempty" name:"ItemLabels"`

	// Machine list
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// List of Project or Tag IDs, empty for custom hosts
	ItemLabelIds []*string `json:"ItemLabelIds,omitnil,omitempty" name:"ItemLabelIds"`

	// List of machines to be excluded.
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`
}

func (r *ModifyWarningHostConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWarningHostConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	delete(f, "HostRange")
	delete(f, "ItemLabels")
	delete(f, "Quuids")
	delete(f, "ItemLabelIds")
	delete(f, "ExcludedQuuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWarningHostConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWarningHostConfigResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWarningHostConfigResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWarningHostConfigResponseParams `json:"Response"`
}

func (r *ModifyWarningHostConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWarningHostConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWarningSettingRequestParams struct {
	// Modify alarm settings.
	WarningObjects []*WarningObject `json:"WarningObjects,omitnil,omitempty" name:"WarningObjects"`
}

type ModifyWarningSettingRequest struct {
	*tchttp.BaseRequest
	
	// Modify alarm settings.
	WarningObjects []*WarningObject `json:"WarningObjects,omitnil,omitempty" name:"WarningObjects"`
}

func (r *ModifyWarningSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWarningSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "WarningObjects")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWarningSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWarningSettingResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWarningSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWarningSettingResponseParams `json:"Response"`
}

func (r *ModifyWarningSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWarningSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookPolicyRequestParams struct {
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Event type
	Events []*WebHookEventKv `json:"Events,omitnil,omitempty" name:"Events"`

	// Host range
	HostLabels []*WebHookHostLabel `json:"HostLabels,omitnil,omitempty" name:"HostLabels"`

	// Recipient
	Receivers []*WebHookReceiver `json:"Receivers,omitnil,omitempty" name:"Receivers"`

	// Format. 0: text; 1: JSON.
	Format *int64 `json:"Format,omitnil,omitempty" name:"Format"`

	// Custom passthrough field
	CustomFields []*WebHookCustomField `json:"CustomFields,omitnil,omitempty" name:"CustomFields"`

	// Enable/Disable [1-Disable, 0-Enable]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`

	// Host list
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// List of machines to be excluded.	
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`

	// Push language type, Chinese zh, English en
	MsgLanguage *string `json:"MsgLanguage,omitnil,omitempty" name:"MsgLanguage"`
}

type ModifyWebHookPolicyRequest struct {
	*tchttp.BaseRequest
	
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Event type
	Events []*WebHookEventKv `json:"Events,omitnil,omitempty" name:"Events"`

	// Host range
	HostLabels []*WebHookHostLabel `json:"HostLabels,omitnil,omitempty" name:"HostLabels"`

	// Recipient
	Receivers []*WebHookReceiver `json:"Receivers,omitnil,omitempty" name:"Receivers"`

	// Format. 0: text; 1: JSON.
	Format *int64 `json:"Format,omitnil,omitempty" name:"Format"`

	// Custom passthrough field
	CustomFields []*WebHookCustomField `json:"CustomFields,omitnil,omitempty" name:"CustomFields"`

	// Enable/Disable [1-Disable, 0-Enable]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`

	// Host list
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// List of machines to be excluded.	
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`

	// Push language type, Chinese zh, English en
	MsgLanguage *string `json:"MsgLanguage,omitnil,omitempty" name:"MsgLanguage"`
}

func (r *ModifyWebHookPolicyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookPolicyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "Events")
	delete(f, "HostLabels")
	delete(f, "Receivers")
	delete(f, "Format")
	delete(f, "CustomFields")
	delete(f, "IsDisabled")
	delete(f, "Quuids")
	delete(f, "ExcludedQuuids")
	delete(f, "MsgLanguage")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWebHookPolicyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookPolicyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWebHookPolicyResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWebHookPolicyResponseParams `json:"Response"`
}

func (r *ModifyWebHookPolicyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookPolicyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookPolicyStatusRequestParams struct {
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Switch: 1 - disabled; 0 - enabled
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`
}

type ModifyWebHookPolicyStatusRequest struct {
	*tchttp.BaseRequest
	
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Switch: 1 - disabled; 0 - enabled
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`
}

func (r *ModifyWebHookPolicyStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookPolicyStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "IsDisabled")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWebHookPolicyStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookPolicyStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWebHookPolicyStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWebHookPolicyStatusResponseParams `json:"Response"`
}

func (r *ModifyWebHookPolicyStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookPolicyStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookReceiverRequestParams struct {
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Receiver name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// webhook URL
	Addr *string `json:"Addr,omitnil,omitempty" name:"Addr"`

	// Whether to modify
	IsModify *bool `json:"IsModify,omitnil,omitempty" name:"IsModify"`

	// Type
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// target region
	SCFRegion *string `json:"SCFRegion,omitnil,omitempty" name:"SCFRegion"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// function name
	FunctionName *string `json:"FunctionName,omitnil,omitempty" name:"FunctionName"`

	// Function version
	FunctionVersion *string `json:"FunctionVersion,omitnil,omitempty" name:"FunctionVersion"`

	// Alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`
}

type ModifyWebHookReceiverRequest struct {
	*tchttp.BaseRequest
	
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Receiver name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// webhook URL
	Addr *string `json:"Addr,omitnil,omitempty" name:"Addr"`

	// Whether to modify
	IsModify *bool `json:"IsModify,omitnil,omitempty" name:"IsModify"`

	// Type
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// target region
	SCFRegion *string `json:"SCFRegion,omitnil,omitempty" name:"SCFRegion"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// function name
	FunctionName *string `json:"FunctionName,omitnil,omitempty" name:"FunctionName"`

	// Function version
	FunctionVersion *string `json:"FunctionVersion,omitnil,omitempty" name:"FunctionVersion"`

	// Alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`
}

func (r *ModifyWebHookReceiverRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookReceiverRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Name")
	delete(f, "Addr")
	delete(f, "IsModify")
	delete(f, "Type")
	delete(f, "SCFRegion")
	delete(f, "Namespace")
	delete(f, "FunctionName")
	delete(f, "FunctionVersion")
	delete(f, "Alias")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWebHookReceiverRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookReceiverResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWebHookReceiverResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWebHookReceiverResponseParams `json:"Response"`
}

func (r *ModifyWebHookReceiverResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookReceiverResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookRuleRequestParams struct {
	// Rule content
	Data *WebHookRuleDetail `json:"Data,omitnil,omitempty" name:"Data"`
}

type ModifyWebHookRuleRequest struct {
	*tchttp.BaseRequest
	
	// Rule content
	Data *WebHookRuleDetail `json:"Data,omitnil,omitempty" name:"Data"`
}

func (r *ModifyWebHookRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Data")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWebHookRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookRuleResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWebHookRuleResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWebHookRuleResponseParams `json:"Response"`
}

func (r *ModifyWebHookRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookRuleStatusRequestParams struct {
	// Rule ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Enabling status: [0: ON | 1: Off]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`
}

type ModifyWebHookRuleStatusRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Enabling status: [0: ON | 1: Off]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`
}

func (r *ModifyWebHookRuleStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookRuleStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "IsDisabled")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWebHookRuleStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebHookRuleStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWebHookRuleStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWebHookRuleStatusResponseParams `json:"Response"`
}

func (r *ModifyWebHookRuleStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebHookRuleStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebPageProtectSwitchRequestParams struct {
	// Switch type: 1 - protection switch; 2 - auto recovery switch; 3 - remove protection directory
	SwitchType *uint64 `json:"SwitchType,omitnil,omitempty" name:"SwitchType"`

	// Sites that require operating switches (maximum quantity is 100)
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`

	// 1 - on; 0 - off; required when SwitchType is 1 | 2;
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifyWebPageProtectSwitchRequest struct {
	*tchttp.BaseRequest
	
	// Switch type: 1 - protection switch; 2 - auto recovery switch; 3 - remove protection directory
	SwitchType *uint64 `json:"SwitchType,omitnil,omitempty" name:"SwitchType"`

	// Sites that require operating switches (maximum quantity is 100)
	Ids []*string `json:"Ids,omitnil,omitempty" name:"Ids"`

	// 1 - on; 0 - off; required when SwitchType is 1 | 2;
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ModifyWebPageProtectSwitchRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebPageProtectSwitchRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "SwitchType")
	delete(f, "Ids")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyWebPageProtectSwitchRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyWebPageProtectSwitchResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ModifyWebPageProtectSwitchResponse struct {
	*tchttp.BaseResponse
	Response *ModifyWebPageProtectSwitchResponseParams `json:"Response"`
}

func (r *ModifyWebPageProtectSwitchResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyWebPageProtectSwitchResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type NetAttackEvent struct {
	// Log ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Target port
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Source IP
	SrcIP *string `json:"SrcIP,omitnil,omitempty" name:"SrcIP"`

	// Source location
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Attack time
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Attack Status: 0: Attack Attempt 1: Confirmed Attack (Successful Attack).
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Processing Status: 0 Pending, 1 Processed, 2 Allowlisted, 3 Ignored, 4 Deleted, 5: Defense Enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether vulnerabilities support defense. 0: No 1: Yes
	VulSupportDefense *uint64 `json:"VulSupportDefense,omitnil,omitempty" name:"VulSupportDefense"`

	// Whether to enable vulnerability defense: 0 - No, 1 - Yes
	VulDefenceStatus *uint64 `json:"VulDefenceStatus,omitnil,omitempty" name:"VulDefenceStatus"`

	// Machine payment version, 0 Basic version, 1 Pro edition, 2 Flagship edition, 3 Lightweight edition
	PayVersion *uint64 `json:"PayVersion,omitnil,omitempty" name:"PayVersion"`

	// cvm uuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Attacks
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Whether to add new hosts today
	New *bool `json:"New,omitnil,omitempty" name:"New"`

	// Whether application protection is enabled. 0: disabled, 1: enabled
	RaspOpen *int64 `json:"RaspOpen,omitnil,omitempty" name:"RaspOpen"`

	// ip analysis
	IPAnalyse *IPAnalyse `json:"IPAnalyse,omitnil,omitempty" name:"IPAnalyse"`
}

type NetAttackEventInfo struct {
	// Processing Status: 0 Pending, 1 Processed, 2 Allowlisted, 3 Ignored, 4 Deleted, 5: Defense Enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Attack source IP address
	SrcIP *string `json:"SrcIP,omitnil,omitempty" name:"SrcIP"`

	// Attack Source
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability CVE ID
	CVEId *string `json:"CVEId,omitnil,omitempty" name:"CVEId"`

	// Vulnerability attack level
	AttackLevel *uint64 `json:"AttackLevel,omitnil,omitempty" name:"AttackLevel"`

	// Vulnerability Defense Status: 0 Disabled, 1 Enabled.
	VulDefenceStatus *uint64 `json:"VulDefenceStatus,omitnil,omitempty" name:"VulDefenceStatus"`

	// Whether vulnerabilities support defense. 0: No 1: Yes
	VulSupportDefense *uint64 `json:"VulSupportDefense,omitnil,omitempty" name:"VulSupportDefense"`

	// Service Process Base64 
	SvcPs *string `json:"SvcPs,omitnil,omitempty" name:"SvcPs"`

	// Attack packet
	NetPayload *string `json:"NetPayload,omitnil,omitempty" name:"NetPayload"`

	// Abnormal behavior
	AbnormalAction *string `json:"AbnormalAction,omitnil,omitempty" name:"AbnormalAction"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Target port
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Attack count
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Machine payment version, 0 Basic version, 1 Pro edition, 2 Flagship edition, 3 Lightweight edition
	PayVersion *uint64 `json:"PayVersion,omitnil,omitempty" name:"PayVersion"`

	// cvm uuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Time of Attack
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// 0: Attack Attempt 1: Successful Attack
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// 0: No Compromised Behavior 1: RCE (command execution) 2: Dnslog 3: Writefile
	HostOpType *uint64 `json:"HostOpType,omitnil,omitempty" name:"HostOpType"`

	// Process Tree, needs to be decoded with base64.
	HostOpProcessTree *string `json:"HostOpProcessTree,omitnil,omitempty" name:"HostOpProcessTree"`

	// IP analysis
	IPAnalyse *IPAnalyse `json:"IPAnalyse,omitnil,omitempty" name:"IPAnalyse"`

	// Response packet base64 encoded
	NetResponsePayload *string `json:"NetResponsePayload,omitnil,omitempty" name:"NetResponsePayload"`
}

type NetAttackTopInfo struct {
	// Top Statistical Data on Network Attack Host Dimension
	Agent []*TopInfo `json:"Agent,omitnil,omitempty" name:"Agent"`

	// Top Statistical Data on Network Attack IP Source Dimension
	SrcIp []*TopInfo `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Top Statistical Data on Network Attack Target Port Dimension
	DstPort []*TopInfo `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Top Statistical Data on Network Attack Vulnerability Dimension
	Vul []*TopInfo `json:"Vul,omitnil,omitempty" name:"Vul"`
}

type NetAttackTrend struct {
	// Time Point, e.g., 2023-05-06
	DateTime *string `json:"DateTime,omitnil,omitempty" name:"DateTime"`

	// Attack count
	AttackCount *uint64 `json:"AttackCount,omitnil,omitempty" name:"AttackCount"`

	// Attack Attempts
	TryAttackCount *uint64 `json:"TryAttackCount,omitnil,omitempty" name:"TryAttackCount"`

	// Attack Success Count
	SuccAttackCount *uint64 `json:"SuccAttackCount,omitnil,omitempty" name:"SuccAttackCount"`
}

type NetAttackWhiteRule struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Rule description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// 0: A group of Quuid 1: All hosts
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Whether to process previous events: 0: do not process; 1: process
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Host QUUIDs, separated by semicolons (;).
	Quuids *string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Source IP. Single IP: 1.1.1.1, IP Range: 1.1.1.1-1.1.2.1, IP Range: 1.1.1.0/24, separated by semicolons (;)
	SrcIP *string `json:"SrcIP,omitnil,omitempty" name:"SrcIP"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type OpenPortStatistics struct {
	// Port number
	Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"`

	// Number of Hosts
	MachineNum *uint64 `json:"MachineNum,omitnil,omitempty" name:"MachineNum"`
}

type OrderDetail struct {
	// Resource ID
	ResourceID *string `json:"ResourceID,omitnil,omitempty" name:"ResourceID"`

	// Billing item
	InquireKey *string `json:"InquireKey,omitnil,omitempty" name:"InquireKey"`

	// Order status
	// -Normal
	// -Isolation period
	// -3 Terminated
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type OrderModifyObject struct {
	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// New Product Identification. PRO_VERSION: Professional Edition; FLAGSHIP: Premium Edition
	NewSubProductCode *string `json:"NewSubProductCode,omitnil,omitempty" name:"NewSubProductCode"`

	// Scale-up/Scale-down Count, which is ignored for reconfiguration sub-product
	InquireNum *int64 `json:"InquireNum,omitnil,omitempty" name:"InquireNum"`
}

type OrderResource struct {
	// Resource primary key ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Resource ID
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Start time
	BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"`

	// Expiration time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Authorization type
	LicenseType *uint64 `json:"LicenseType,omitnil,omitempty" name:"LicenseType"`
}

type OsName struct {
	// System name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Operating system type enumeration value
	MachineOSType *uint64 `json:"MachineOSType,omitnil,omitempty" name:"MachineOSType"`
}

type PatchEffectHostList struct {
	// Version information: 0-Basic Version 1-Pro Edition 2-Flagship Edition 3-Lite Edition
	HostVersion *uint64 `json:"HostVersion,omitnil,omitempty" name:"HostVersion"`

	// Instance status: "PENDING"-creating "LAUNCH_FAILED"-creation failed "RUNNING"-running "STOPPED"-shutdown "STARTING"-starting "STOPPING"-indicates shutdown in progress "REBOOTING"-restarting "SHUTDOWN"-indicate shutdown and pending termination "TERMINATING"-indicates terminating in progress
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// First scan time
	FirstScanTime *string `json:"FirstScanTime,omitnil,omitempty" name:"FirstScanTime"`

	// Last scan time
	LatestScanTime *string `json:"LatestScanTime,omitnil,omitempty" name:"LatestScanTime"`

	// Remediation status: 0-not remediated; 1-in remediation; 2-FIX_FAILURE; 3-repair successful; 4-timeout
	FixStatus *uint64 `json:"FixStatus,omitnil,omitempty" name:"FixStatus"`

	// Host basic information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Host Security Uuid
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Unique Uuid of a CVM or BM machine
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Status: 0: pending 1: ignored 3: fixed 5: detecting 6: in remediation 7: rolling back 8: FIX_FAILURE
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Fixing time
	LatestFixTime *string `json:"LatestFixTime,omitnil,omitempty" name:"LatestFixTime"`

	// KB id
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// Whether restart is required 0: not required 1: required
	RestartRequired *uint64 `json:"RestartRequired,omitnil,omitempty" name:"RestartRequired"`

	// Availability zone ID.	
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Machine type info
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Whether to create a snapshot for the fix task: 0: not created; other: created.
	HasSnapshot *uint64 `json:"HasSnapshot,omitnil,omitempty" name:"HasSnapshot"`
}

type PatchInfoDetail struct {
	// KB No.
	KBNo *string `json:"KBNo,omitnil,omitempty" name:"KBNo"`

	// KB name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// 2025-05
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Vulnerability impacted by KB
	RelatedCveId []*string `json:"RelatedCveId,omitnil,omitempty" name:"RelatedCveId"`

	// KB documentation
	KbDocUrl *string `json:"KbDocUrl,omitnil,omitempty" name:"KbDocUrl"`

	// KB id No.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type Place struct {
	// City ID
	CityId *uint64 `json:"CityId,omitnil,omitempty" name:"CityId"`

	// Province ID
	ProvinceId *uint64 `json:"ProvinceId,omitnil,omitempty" name:"ProvinceId"`

	// Country ID. Currently, only 1 is supported, indicating domestic.
	CountryId *uint64 `json:"CountryId,omitnil,omitempty" name:"CountryId"`

	// Location name
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`
}

type PolicyRules struct {
	// Process
	Process *CommandLine `json:"Process,omitnil,omitempty" name:"Process"`

	// Parent process
	PProcess *CommandLine `json:"PProcess,omitnil,omitempty" name:"PProcess"`

	// Ancestor process
	AProcess *CommandLine `json:"AProcess,omitnil,omitempty" name:"AProcess"`
}

type PrivilegeEventInfo struct {
	// Data ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host Security UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process path
	FullPath *string `json:"FullPath,omitnil,omitempty" name:"FullPath"`

	// Execute commands
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Username
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// User group
	UserGroup *string `json:"UserGroup,omitnil,omitempty" name:"UserGroup"`

	// Process file permission
	ProcFilePrivilege *string `json:"ProcFilePrivilege,omitnil,omitempty" name:"ProcFilePrivilege"`

	// Parent process name
	ParentProcName *string `json:"ParentProcName,omitnil,omitempty" name:"ParentProcName"`

	// Parent process username
	ParentProcUser *string `json:"ParentProcUser,omitnil,omitempty" name:"ParentProcUser"`

	// Parent process user group
	ParentProcGroup *string `json:"ParentProcGroup,omitnil,omitempty" name:"ParentProcGroup"`

	// Parent process path
	ParentProcPath *string `json:"ParentProcPath,omitnil,omitempty" name:"ParentProcPath"`

	// Process tree json pid: process ID; exe: file path; account: groups and users to which the process belongs; cmdline: execute commands; ssh_service: SSH service IP; ssh_source: log-in source
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Processing status: 0: pending; 2: allowlisted; 3: processed; 4: ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Machine name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Recommended solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Hazard description information
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Tag
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Reference link
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Permission list (Separate multiple items with |.)
	NewCaps *string `json:"NewCaps,omitnil,omitempty" name:"NewCaps"`

	// Host online status: OFFLINE; ONLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Processing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Alarm count
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type PrivilegeRule struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Whether the mode is S mode
	SMode *uint64 `json:"SMode,omitnil,omitempty" name:"SMode"`

	// Operator
	Operator *string `json:"Operator,omitnil,omitempty" name:"Operator"`

	// Whether the rule is global
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Status. 0: valid; 1: invalid.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Host IP
	Hostip *string `json:"Hostip,omitnil,omitempty" name:"Hostip"`
}

type ProcessStatistics struct {
	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Number of hosts
	MachineNum *uint64 `json:"MachineNum,omitnil,omitempty" name:"MachineNum"`
}

type ProductStatusInfo struct {
	// Protection status. 1: unprotected; 2: protecting; 3: in trial; 4 expired
	FWUserStatus *uint64 `json:"FWUserStatus,omitnil,omitempty" name:"FWUserStatus"`

	// Whether application for trial is available. True indicates yes.
	CanApplyTrial *bool `json:"CanApplyTrial,omitnil,omitempty" name:"CanApplyTrial"`

	// Reason for unavailable trial (Leave it blank if the trial is available.)
	CanNotApplyReason *string `json:"CanNotApplyReason,omitnil,omitempty" name:"CanNotApplyReason"`

	// Last trial end time (Leave it blank if no trial record exists.)
	LastTrialTime *string `json:"LastTrialTime,omitnil,omitempty" name:"LastTrialTime"`
}

type RansomDefenseBackup struct {
	// Backup time
	BackupTime *string `json:"BackupTime,omitnil,omitempty" name:"BackupTime"`

	// Ransom Status: 0 - No Alarm, 1 - Alarm Present
	EventStatus *uint64 `json:"EventStatus,omitnil,omitempty" name:"EventStatus"`

	// Backup status: 0 backup in progress, 1 normal, 2, 3 failure, 4 snapshot expired, 5 number of snapshots exceed the limit, 9 snapshot deleted.
	BackupStatus *uint64 `json:"BackupStatus,omitnil,omitempty" name:"BackupStatus"`

	// Number of backup disk
	DiskCount *uint64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"`

	// Hard Disk Information, separated by semicolons (;).
	Disks *string `json:"Disks,omitnil,omitempty" name:"Disks"`

	// Snapshot List, separated by semicolons (;)
	SnapshotIds *string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Policy Status: 0 Disabled, 1 Enabled, 9 Deleted
	StrategyStatus *uint64 `json:"StrategyStatus,omitnil,omitempty" name:"StrategyStatus"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`
}

type RansomDefenseEvent struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// cvm uuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Event Status: 0-Pending, 1-Processed, 2-Trusted, 3-In Process, 4-Backup Resumed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Tampered File Path
	BaitFilePath *string `json:"BaitFilePath,omitnil,omitempty" name:"BaitFilePath"`

	// Malicious File Path
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Malicious Process ID
	Pid *uint64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Malicious Process Parameters
	PidParam *string `json:"PidParam,omitnil,omitempty" name:"PidParam"`

	// Malicious File Size
	FileSize *uint64 `json:"FileSize,omitnil,omitempty" name:"FileSize"`

	// Malicious File MD5
	FileMd5 *string `json:"FileMd5,omitnil,omitempty" name:"FileMd5"`

	// Event Type: 0 Encrypted Ransom, 1 File Tampering
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Event Sending Time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// CVM Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Event Modification Event
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Host public IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host Intranet IP
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// Process Tree Base64 Json
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Process startup time
	ProcessStartTime *string `json:"ProcessStartTime,omitnil,omitempty" name:"ProcessStartTime"`

	// Number of Snapshot Backups Owned by the Host
	SnapshotNum *uint64 `json:"SnapshotNum,omitnil,omitempty" name:"SnapshotNum"`
}

// Predefined struct for user
type RansomDefenseRollbackRequestParams struct {
	// Snapshot time
	BackupTime *string `json:"BackupTime,omitnil,omitempty" name:"BackupTime"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Information about the hard disks that need to be rolled back. Hard disks are directly separated by semicolons (;); blanks are all disks that have been snapshot: disk-id1|disk-name1;disk-id2|disk-name2.
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`
}

type RansomDefenseRollbackRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot time
	BackupTime *string `json:"BackupTime,omitnil,omitempty" name:"BackupTime"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Information about the hard disks that need to be rolled back. Hard disks are directly separated by semicolons (;); blanks are all disks that have been snapshot: disk-id1|disk-name1;disk-id2|disk-name2.
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`
}

func (r *RansomDefenseRollbackRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RansomDefenseRollbackRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "BackupTime")
	delete(f, "Quuid")
	delete(f, "DiskInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RansomDefenseRollbackRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RansomDefenseRollbackResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RansomDefenseRollbackResponse struct {
	*tchttp.BaseResponse
	Response *RansomDefenseRollbackResponseParams `json:"Response"`
}

func (r *RansomDefenseRollbackResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RansomDefenseRollbackResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RansomDefenseRollbackTask struct {
	// Task ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Rollback Task Status: 0 - In Progress, 1 - Succeeded, 2 - Failed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Hard drive ID list, separated by semicolons (;)
	Disks *string `json:"Disks,omitnil,omitempty" name:"Disks"`

	// Operation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Snapshot time
	BackupTime *string `json:"BackupTime,omitnil,omitempty" name:"BackupTime"`

	// Status!=0 indicates the completion time.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Availability zone information
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// Host example ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Host type
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`
}

type RansomDefenseStrategy struct {
	// Policy ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Operating UIN
	Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"`

	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Policy Remarks
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Enabling Status: 0 Disabled, 1 Enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether it takes effect for all hosts.
	IsAll *uint64 `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// Includes directories, separated by semicolons (;).
	IncludeDir *string `json:"IncludeDir,omitnil,omitempty" name:"IncludeDir"`

	// Includes directories, separated by semicolons (;).
	ExcludeDir *string `json:"ExcludeDir,omitnil,omitempty" name:"ExcludeDir"`

	// Backup mode: 0 weekly, 1 daily, 2 do not backup.
	BackupType *uint64 `json:"BackupType,omitnil,omitempty" name:"BackupType"`

	// Backup days in a week (1-7): 1; 2; 3; 4.
	Weekday *string `json:"Weekday,omitnil,omitempty" name:"Weekday"`

	// Backup Execution Time Point (0-23): 11:00; 12:00
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Storage Days, 0 for Permanent
	SaveDay *uint64 `json:"SaveDay,omitnil,omitempty" name:"SaveDay"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Number of Bound Machines
	MachineCount *uint64 `json:"MachineCount,omitnil,omitempty" name:"MachineCount"`
}

type RansomDefenseStrategyDetail struct {
	// Policy ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Operating UIN
	Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"`

	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Policy Remarks
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Enabling Status: 0 Disabled, 1 Enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether it takes effect for all hosts.
	IsAll *uint64 `json:"IsAll,omitnil,omitempty" name:"IsAll"`

	// Includes directories, separated by semicolons (;).
	IncludeDir *string `json:"IncludeDir,omitnil,omitempty" name:"IncludeDir"`

	// Includes directories, separated by semicolons (;).
	ExcludeDir *string `json:"ExcludeDir,omitnil,omitempty" name:"ExcludeDir"`

	// Backup pattern: 0 weekly, 1 daily.
	BackupType *uint64 `json:"BackupType,omitnil,omitempty" name:"BackupType"`

	// Backup days in a week (1-7): 1; 2; 3; 4.
	Weekday *string `json:"Weekday,omitnil,omitempty" name:"Weekday"`

	// Backup Execution Time Point (0-23): 11:00; 12:00
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Storage Days, 0 for Permanent
	SaveDay *uint64 `json:"SaveDay,omitnil,omitempty" name:"SaveDay"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Number of Bound Machines
	MachineCount *uint64 `json:"MachineCount,omitnil,omitempty" name:"MachineCount"`

	// Policy Associated Event Count
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`
}

type RansomDefenseStrategyMachineBackupInfo struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Cloud Tag
	CloudTags []*Tag `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Availability zone information
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// Host security tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Protection status: 0 Disabled, 1 Enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy ID. 0 indicates no binding to any policy.
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Hard disk information, all hard disks take effect when left blank:
	// Separate diskId1|diskName1;diskId2|diskName2
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Number of Backups
	BackupCount *uint64 `json:"BackupCount,omitnil,omitempty" name:"BackupCount"`

	// Latest Backup Status: 0 - Backing Up, 1 - Normal, 2 - Failed, 9 - No Backup Yet
	LastBackupStatus *uint64 `json:"LastBackupStatus,omitnil,omitempty" name:"LastBackupStatus"`

	// Reason for the Last Backup Failure
	LastBackupMessage *string `json:"LastBackupMessage,omitnil,omitempty" name:"LastBackupMessage"`

	// Last Backup Time
	LastBackupTime *string `json:"LastBackupTime,omitnil,omitempty" name:"LastBackupTime"`

	// Latest Rollback Progress Percentage
	RollBackPercent *uint64 `json:"RollBackPercent,omitnil,omitempty" name:"RollBackPercent"`

	// Latest Rollback Status: 0 - In Progress, 1 - Succeeded, 2 - Failed
	RollBackStatus *uint64 `json:"RollBackStatus,omitnil,omitempty" name:"RollBackStatus"`

	// Backup Success Count
	BackupSuccessCount *uint64 `json:"BackupSuccessCount,omitnil,omitempty" name:"BackupSuccessCount"`

	// Version information: 0-Basic version, 1-Pro edition, 2-Flagship edition, 3-Lightweight edition
	HostVersion *uint64 `json:"HostVersion,omitnil,omitempty" name:"HostVersion"`

	// Machine Zone Type. CVM - Cloud Virtual Machine; BM: Bare Metal; ECM: Edge Computing Machine; LH: Lightweight Application Server; Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`
}

type RansomDefenseStrategyMachineDetail struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Cloud Tag
	CloudTags []*Tag `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Availability zone information
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// Host security tag
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Protection status: 0 Disabled, 1 Enabled.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy ID. 0 indicates no binding to any policy.
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Hard disk information, all hard disks take effect when left blank:
	// Separate diskId1|diskName1;diskId2|diskName2
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`

	// Version information: 0-Basic version, 1-Pro edition, 2-Flagship edition, 3-Lightweight edition
	HostVersion *uint64 `json:"HostVersion,omitnil,omitempty" name:"HostVersion"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Machine Zone Type. CVM - Cloud Virtual Machine; BM: Bare Metal; ECM: Edge Computing Machine; LH: Lightweight Application Server; Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`
}

type RansomDefenseStrategyMachineInfo struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Specified Hard Disk List. When it is empty, it means all hard disks: disk_id1|disk_name1;disk_id2|disk_name2.
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`
}

type RaspAttackTypeListItem struct {
	// Attack Type Name
	AttackTypeName *string `json:"AttackTypeName,omitnil,omitempty" name:"AttackTypeName"`

	// Attack Type ID
	AttackTypeID *int64 `json:"AttackTypeID,omitnil,omitempty" name:"AttackTypeID"`

	// Feature type of the vulnerability, rasp: vulnerability defense, memshell_inject: memory shell injection
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`
}

type RaspEvent struct {
	// Vulnerability Event ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Machine UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Machine QUuid.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// host name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP address
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Attack source IP address
	SourceIp *string `json:"SourceIp,omitnil,omitempty" name:"SourceIp"`

	// City of the attack source IP address
	City *string `json:"City,omitnil,omitempty" name:"City"`

	// Port under attack
	AttackPort *uint64 `json:"AttackPort,omitnil,omitempty" name:"AttackPort"`

	// First Attack Time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last attack time
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Attack count
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Status 0: pending 1: defended 2: processed 3: ignored 4: deleted 5: allowlisted
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Application attack type
	AttackTypeName *string `json:"AttackTypeName,omitnil,omitempty" name:"AttackTypeName"`

	// Application Attack Type id
	AttackType *int64 `json:"AttackType,omitnil,omitempty" name:"AttackType"`

	// Node name.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Node ID.
	NodeId *string `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// container id
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Container running status
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Container isolation status
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image Name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// podip
	PodIp *string `json:"PodIp,omitnil,omitempty" name:"PodIp"`

	// Cluster name.
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster ID.
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Event details, including poc
	RaspDetail *string `json:"RaspDetail,omitnil,omitempty" name:"RaspDetail"`

	// regular node: NORMAL
	// Super node: SUPER
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Event Type 1: Attack Time 2: Successful Defense
	EventType *int64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Unique id of a super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// poc id
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Request URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// malicious feature
	Poc *string `json:"Poc,omitnil,omitempty" name:"Poc"`
}

type RaspEventDetail struct {
	// Vulnerability Event ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Status 0: pending 1: defended 2: processed 3: ignored 4: deleted 5: allowlisted
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Machine QUuid.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Private IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Asset tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostTags []*string `json:"HostTags,omitnil,omitempty" name:"HostTags"`

	// First Attack Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last attack time
	// Note: This field may return null, indicating that no valid values can be obtained.
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Application attack type
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackTypeName *string `json:"AttackTypeName,omitnil,omitempty" name:"AttackTypeName"`

	// Application Attack Type id
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackType *int64 `json:"AttackType,omitnil,omitempty" name:"AttackType"`

	// Request URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Vulnerability name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Attack count
	// Note: This field may return null, indicating that no valid values can be obtained.
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// CVE ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Attack source IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	SourceIp *string `json:"SourceIp,omitnil,omitempty" name:"SourceIp"`

	// City of the attack source IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	City *string `json:"City,omitnil,omitempty" name:"City"`

	// Port under attack
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackPort *uint64 `json:"AttackPort,omitnil,omitempty" name:"AttackPort"`

	// Vulnerability description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Repair method
	// Note: This field may return null, indicating that no valid values can be obtained.
	Fix *string `json:"Fix,omitnil,omitempty" name:"Fix"`

	// Request content
	// Note: This field may return null, indicating that no valid values can be obtained.
	NetworkPayload *string `json:"NetworkPayload,omitnil,omitempty" name:"NetworkPayload"`

	// Node name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Node ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeId *string `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Container name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// container id
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Container running status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Container isolation status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image Name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Pod name
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// podip
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodIp *string `json:"PodIp,omitnil,omitempty" name:"PodIp"`

	// Cluster name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Process id
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Associated Process Main Class Name
	// Note: This field may return null, indicating that no valid values can be obtained.
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// Stack information
	// Note: This field may return null, indicating that no valid values can be obtained.
	StackTrace *string `json:"StackTrace,omitnil,omitempty" name:"StackTrace"`

	// Vulnerability ID-Related Event Details (JSON array format, unique to RASP)
	// Note: This field may return null, indicating that no valid values can be obtained.
	RaspDetail *string `json:"RaspDetail,omitnil,omitempty" name:"RaspDetail"`

	// Intrusion Status: 1 Attack Event, 2 Successful Defense
	EventType *int64 `json:"EventType,omitnil,omitempty" name:"EventType"`
}

type RaspEventOverview struct {
	// Number of protectable vulnerabilities
	DefenceVuls *int64 `json:"DefenceVuls,omitnil,omitempty" name:"DefenceVuls"`

	// Number of accurately prevented vulnerabilities
	PreciseDefenseVuls *int64 `json:"PreciseDefenseVuls,omitnil,omitempty" name:"PreciseDefenseVuls"`

	// Unprocessed application defense event count
	UnhandledRaspEvents *int64 `json:"UnhandledRaspEvents,omitnil,omitempty" name:"UnhandledRaspEvents"`

	// Number of unprocessed Java Webshell scan events
	UnhandledMemShellScanEvents *int64 `json:"UnhandledMemShellScanEvents,omitnil,omitempty" name:"UnhandledMemShellScanEvents"`

	// Number of unprocessed memory shell injection events
	UnhandledMemShellInjectEvents *int64 `json:"UnhandledMemShellInjectEvents,omitnil,omitempty" name:"UnhandledMemShellInjectEvents"`

	// Daily event handling trend
	UnHandledEvents []*int64 `json:"UnHandledEvents,omitnil,omitempty" name:"UnHandledEvents"`

	// Daily vulnerability detect event trend
	RaspAttackCounts []*int64 `json:"RaspAttackCounts,omitnil,omitempty" name:"RaspAttackCounts"`

	// Daily vulnerability defense event trend
	RaspDefendCounts []*int64 `json:"RaspDefendCounts,omitnil,omitempty" name:"RaspDefendCounts"`

	// Daily Java Webshell detect event trend
	MemShellAttackCounts []*int64 `json:"MemShellAttackCounts,omitnil,omitempty" name:"MemShellAttackCounts"`

	// Daily Java Webshell defense event trends
	MemShellDefendCounts []*int64 `json:"MemShellDefendCounts,omitnil,omitempty" name:"MemShellDefendCounts"`

	// Date
	Date []*string `json:"Date,omitnil,omitempty" name:"Date"`

	// Enable RASP protection switch number of assets
	ProtectAssetOpenCount *uint64 `json:"ProtectAssetOpenCount,omitnil,omitempty" name:"ProtectAssetOpenCount"`

	// Total number of assets
	ProtectAssetCount *uint64 `json:"ProtectAssetCount,omitnil,omitempty" name:"ProtectAssetCount"`

	// Number of asset protection bound to the flagship edition
	UltimateAssetCount *uint64 `json:"UltimateAssetCount,omitnil,omitempty" name:"UltimateAssetCount"`

	// Number of assets bound to the Prioritized Protection package
	RaspAssetCount *uint64 `json:"RaspAssetCount,omitnil,omitempty" name:"RaspAssetCount"`

	// Number of unauthorized assets
	NotProtectAssetCount *uint64 `json:"NotProtectAssetCount,omitnil,omitempty" name:"NotProtectAssetCount"`

	// Pending events count in the last 7 days
	RecentUnhandledEvents *int64 `json:"RecentUnhandledEvents,omitnil,omitempty" name:"RecentUnhandledEvents"`

	// Total Number of Successful Defenses
	RaspDefendCount *int64 `json:"RaspDefendCount,omitnil,omitempty" name:"RaspDefendCount"`
}

// Predefined struct for user
type RaspEventOverviewRequestParams struct {

}

type RaspEventOverviewRequest struct {
	*tchttp.BaseRequest
	
}

func (r *RaspEventOverviewRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RaspEventOverviewRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RaspEventOverviewRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RaspEventOverviewResponseParams struct {
	// Application defense overview information
	Overview *RaspEventOverview `json:"Overview,omitnil,omitempty" name:"Overview"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RaspEventOverviewResponse struct {
	*tchttp.BaseResponse
	Response *RaspEventOverviewResponseParams `json:"Response"`
}

func (r *RaspEventOverviewResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RaspEventOverviewResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RaspLicenseList struct {
	// Machine unique ID
	QUUID *string `json:"QUUID,omitnil,omitempty" name:"QUUID"`

	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Public IP address
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Private IP address
	PrivateIP *string `json:"PrivateIP,omitnil,omitempty" name:"PrivateIP"`

	// Cloud Tag Information
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Version information
	// -Prioritized Protection package
	// -Container Security - Pro Edition
	// -CWP - Flagship Edition
	ProtectionVersion []*string `json:"ProtectionVersion,omitnil,omitempty" name:"ProtectionVersion"`

	// Protection setting
	// -0 unconfigured
	// -Configured
	ConfigurationSetting *uint64 `json:"ConfigurationSetting,omitnil,omitempty" name:"ConfigurationSetting"`

	// Master switch
	// -0 Not enabled
	// - 1: enabled.
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Vulnerability defense switch
	// -0 Not enabled
	// - 1: enabled.
	VulDefEnable *uint64 `json:"VulDefEnable,omitnil,omitempty" name:"VulDefEnable"`

	// Vulnerability defense mode
	// -0 Standard
	// -1. Major Event Support
	VulDefMode *uint64 `json:"VulDefMode,omitnil,omitempty" name:"VulDefMode"`

	// Vulnerability defense action
	// -0 Detect only
	// -Detect + defend
	VulDefAction *uint64 `json:"VulDefAction,omitnil,omitempty" name:"VulDefAction"`

	// Java Webshell Defense switch
	// -0 Not enabled
	// - 1: enabled.
	MemShellDefEnable *uint64 `json:"MemShellDefEnable,omitnil,omitempty" name:"MemShellDefEnable"`

	// More protection
	// -0 Do not inject processes that will restart 
	// -Inject a process that will restart
	SafeInject *uint64 `json:"SafeInject,omitnil,omitempty" name:"SafeInject"`

	// Performance threshold configuration switch
	// -0 Not enabled
	// - 1: enabled.
	PerformanceLimit *uint64 `json:"PerformanceLimit,omitnil,omitempty" name:"PerformanceLimit"`

	// CPU threshold, Value 1-99
	PerformanceLimitCpu *uint64 `json:"PerformanceLimitCpu,omitnil,omitempty" name:"PerformanceLimitCpu"`

	// Memory threshold, value 1-99
	PerformanceLimitMem *uint64 `json:"PerformanceLimitMem,omitnil,omitempty" name:"PerformanceLimitMem"`

	// Memory remaining threshold
	PerformanceLimitMemAmount *uint64 `json:"PerformanceLimitMemAmount,omitnil,omitempty" name:"PerformanceLimitMemAmount"`

	// Plug-in status
	// -0 Use normally
	// -1: Existence of anomalies
	// -2 inactive
	RaspException *uint64 `json:"RaspException,omitnil,omitempty" name:"RaspException"`

	// Latest update time
	LatestUpdateTime *string `json:"LatestUpdateTime,omitnil,omitempty" name:"LatestUpdateTime"`

	// Cluster ID, only valid for container assets
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster name, only container assets have values
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Order information
	OrderDetail *OrderDetail `json:"OrderDetail,omitnil,omitempty" name:"OrderDetail"`

	// Whether unbinding is allowed: false - not allowed, true - allowed.
	IsUnBind *bool `json:"IsUnBind,omitnil,omitempty" name:"IsUnBind"`

	// uuid. Unique ID of the machine. Only valid when AssetType = CWP.
	UUID *string `json:"UUID,omitnil,omitempty" name:"UUID"`

	// No injection/Failure reason of injection
	Reason *string `json:"Reason,omitnil,omitempty" name:"Reason"`
}

type RaspLicensePlugin struct {
	// java Process pid
	PID *uint64 `json:"PID,omitnil,omitempty" name:"PID"`

	// Java Main Class
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// 0: Injecting, 1: Injection successful, 2: Plugin timed out, 3: Plug-in exit, 4: Injection failure
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Error details
	ErrorLog *string `json:"ErrorLog,omitnil,omitempty" name:"ErrorLog"`

	// Failure reason of injection
	Reason *string `json:"Reason,omitnil,omitempty" name:"Reason"`

	// Injection duration
	InjectTime *string `json:"InjectTime,omitnil,omitempty" name:"InjectTime"`
}

type RaspMemShellDetail struct {
	// Event ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Server QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Private IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Host tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostTags []*string `json:"HostTags,omitnil,omitempty" name:"HostTags"`

	// Memory Trojan Type. 0: Filter Type; 1: Listener Type; 2: Servlet Type; 3: Interceptors Type; 4: Agent Type; 5: Other
	// Note: This field may return null, indicating that no valid values can be obtained.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Processing Status. 0 - Pending; 1 - Allowlisted; 2 - Deleted; 3 - Ignored; 4 - Manually Processed
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Associated class loader.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClassLoaderName *string `json:"ClassLoaderName,omitnil,omitempty" name:"ClassLoaderName"`

	// Parent class name
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuperClassName *string `json:"SuperClassName,omitnil,omitempty" name:"SuperClassName"`

	// Inherited API
	// Note: This field may return null, indicating that no valid values can be obtained.
	Interfaces *string `json:"Interfaces,omitnil,omitempty" name:"Interfaces"`

	// Annotation
	// Note: This field may return null, indicating that no valid values can be obtained.
	Annotations *string `json:"Annotations,omitnil,omitempty" name:"Annotations"`

	// Class name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// Class file md5
	// Note: This field may return null, indicating that no valid values can be obtained.
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Java Process Path
	// Note: This field may return null, indicating that no valid values can be obtained.
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Java process command line parameters
	// Note: This field may return null, indicating that no valid values can be obtained.
	Args *string `json:"Args,omitnil,omitempty" name:"Args"`

	// Java Memory Horse Binary Code (base64)
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClassContent *string `json:"ClassContent,omitnil,omitempty" name:"ClassContent"`

	// Java Memory Trojan Decompilation Code
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClassContentPretty *string `json:"ClassContentPretty,omitnil,omitempty" name:"ClassContentPretty"`

	// Event description
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventDescription *string `json:"EventDescription,omitnil,omitempty" name:"EventDescription"`

	// Security advice
	// Note: This field may return null, indicating that no valid values can be obtained.
	SecurityAdvice *string `json:"SecurityAdvice,omitnil,omitempty" name:"SecurityAdvice"`

	// First detection time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last detection time
	// Note: This field may return null, indicating that no valid values can be obtained.
	RecentFoundTime *string `json:"RecentFoundTime,omitnil,omitempty" name:"RecentFoundTime"`

	// Node name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Node ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeId *string `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Container name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// container id
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Container running status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Container isolation status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Pod name
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// podip
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodIp *string `json:"PodIp,omitnil,omitempty" name:"PodIp"`

	// Cluster name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`
}

type RaspMemShellEvent struct {
	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Server QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Server name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Server IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Memory Trojan Type. 0: Filter Type; 1: Listener Type; 2: Servlet Type; 3: Interceptors Type; 4: Agent Type; 5: Other
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// First detection time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last detection time
	RecentFoundTime *string `json:"RecentFoundTime,omitnil,omitempty" name:"RecentFoundTime"`

	// Processing Status. 0 - Pending; 1 - Allowlisted; 2 - Deleted; 3 - Ignored; 4 - Manually Processed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Class file md5
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Class name
	ClassName *string `json:"ClassName,omitnil,omitempty" name:"ClassName"`

	// Parent class name
	SuperClassName *string `json:"SuperClassName,omitnil,omitempty" name:"SuperClassName"`

	// Inherited API
	Interfaces *string `json:"Interfaces,omitnil,omitempty" name:"Interfaces"`

	// Annotation
	Annotations *string `json:"Annotations,omitnil,omitempty" name:"Annotations"`

	// Associated class loader.
	LoaderClassName *string `json:"LoaderClassName,omitnil,omitempty" name:"LoaderClassName"`

	// Process ID
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Java Process Path
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Java process command line parameters
	Args *string `json:"Args,omitnil,omitempty" name:"Args"`

	// Node name.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Node ID.
	NodeId *string `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// container id
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Container running status
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Container isolation status
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// podip
	PodIp *string `json:"PodIp,omitnil,omitempty" name:"PodIp"`

	// Cluster name.
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster ID.
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Same as the node id, the frontend can leave this unused.
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Private ip address of the server
	HostInnerIP *string `json:"HostInnerIP,omitnil,omitempty" name:"HostInnerIP"`

	// Public ip of the server
	HostPublicIP *string `json:"HostPublicIP,omitnil,omitempty" name:"HostPublicIP"`

	// Regular node: NORMAL
	// Super node: SUPER
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Super Node Unique ID
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`
}

type RaspRule struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Regular expression for a custom request URL range. If this parameter is left blank, saving fails.
	URLRegexp *string `json:"URLRegexp,omitnil,omitempty" name:"URLRegexp"`

	// Vulnerability ID
	VulVulsID *uint64 `json:"VulVulsID,omitnil,omitempty" name:"VulVulsID"`

	// Vulnerability name
	VulVulsName *string `json:"VulVulsName,omitnil,omitempty" name:"VulVulsName"`

	// cve_id
	CveID *string `json:"CveID,omitnil,omitempty" name:"CveID"`

	// Vulnerability defense type, which comes from the vulnerability table. 1: component vulnerability defense supported, with component vulnerabilities not allowlisted through a regular expression; 2: regular expression defense supported.
	SupportDefense *uint64 `json:"SupportDefense,omitnil,omitempty" name:"SupportDefense"`

	// Allowlisting scope. 0: Allowlist all requests; 1: Allowlist requests within a custom request scope.
	WhiteType *uint64 `json:"WhiteType,omitnil,omitempty" name:"WhiteType"`

	// Status. 0: valid.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type RaspRuleVul struct {
	// Vulnerability ID
	VulVulsID *uint64 `json:"VulVulsID,omitnil,omitempty" name:"VulVulsID"`

	// Vulnerability name
	VulVulsName *string `json:"VulVulsName,omitnil,omitempty" name:"VulVulsName"`

	// cve_id
	CveID *string `json:"CveID,omitnil,omitempty" name:"CveID"`

	// Vulnerability defense type, which comes from the vulnerability table. 1: component vulnerability defense supported, with component vulnerabilities not allowlisted through a regular expression; 2: regular expression defense supported.
	SupportDefense *uint64 `json:"SupportDefense,omitnil,omitempty" name:"SupportDefense"`
}

type RecordInfo struct {
	// Host IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Host Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Client Offline Time
	OfflineTime *string `json:"OfflineTime,omitnil,omitempty" name:"OfflineTime"`

	// Client Uninstallation Time
	UninstallTime *string `json:"UninstallTime,omitnil,omitempty" name:"UninstallTime"`

	// Client Uninstallation Call Chain
	UninstallCmd *string `json:"UninstallCmd,omitnil,omitempty" name:"UninstallCmd"`

	// Client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

// Predefined struct for user
type RecoverMalwaresRequestParams struct {
	// Trojan ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type RecoverMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Trojan ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *RecoverMalwaresRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RecoverMalwaresRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RecoverMalwaresRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RecoverMalwaresResponseParams struct {
	// An array of IDs for successfully recovered items; if none, an empty array is returned.
	SuccessIds []*uint64 `json:"SuccessIds,omitnil,omitempty" name:"SuccessIds"`

	// An array of IDs for items that failed to be recovered; if none, an empty array is returned.
	FailedIds []*uint64 `json:"FailedIds,omitnil,omitempty" name:"FailedIds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RecoverMalwaresResponse struct {
	*tchttp.BaseResponse
	Response *RecoverMalwaresResponseParams `json:"Response"`
}

func (r *RecoverMalwaresResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RecoverMalwaresResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type RegionInfo struct {
	// Region identifiers, such as ap-guangzhou, ap-shanghai, and ap-beijing
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Chinese name of a region, such as South China (Guangzhou), East China (Shanghai Finance), and North China (Beijing)
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// Region ID
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Region code, such as gz, sh, and bj
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// English name of the region
	RegionNameEn *string `json:"RegionNameEn,omitnil,omitempty" name:"RegionNameEn"`
}

type RegionListDetail struct {
	// Machine type
	// CVM, Tencent Cloud Virtual Machine
	// LH, TencentCloud Lighthouse
	// ECM, Tencent Cloud Edge Computing Machine
	// BM, Tencent BM 1.0
	// Other, Other servers (non-Tencent Cloud)
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// 0 Tencent Cloud
	// 1 IDC
	// 2 Alibaba Cloud
	// 3 Huawei Cloud
	// 4 Amazon
	// 5 Microsoft
	// 6 Google
	// 7 Oracle
	// 8 Digital Ocean
	CloudFrom *uint64 `json:"CloudFrom,omitnil,omitempty" name:"CloudFrom"`

	// Region list
	RegionList []*RegionInfo `json:"RegionList,omitnil,omitempty" name:"RegionList"`
}

type RegionSet struct {
	// Region name
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// AZ information
	ZoneSet []*ZoneInfo `json:"ZoneSet,omitnil,omitempty" name:"ZoneSet"`
}

type RelateVulInfo struct {
	// CVEid
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability tag
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// Vulnerability level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// CVSS score
	CVSS *float64 `json:"CVSS,omitnil,omitempty" name:"CVSS"`

	// Vulnerability disclosure time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Vulnerability ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

// Predefined struct for user
type RemoveLocalStorageItemRequestParams struct {
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`
}

type RemoveLocalStorageItemRequest struct {
	*tchttp.BaseRequest
	
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`
}

func (r *RemoveLocalStorageItemRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveLocalStorageItemRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Key")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveLocalStorageItemRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveLocalStorageItemResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RemoveLocalStorageItemResponse struct {
	*tchttp.BaseResponse
	Response *RemoveLocalStorageItemResponseParams `json:"Response"`
}

func (r *RemoveLocalStorageItemResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveLocalStorageItemResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveMachineRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type RemoveMachineRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

func (r *RemoveMachineRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveMachineRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Uuid")
	delete(f, "Quuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveMachineRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveMachineResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RemoveMachineResponse struct {
	*tchttp.BaseResponse
	Response *RemoveMachineResponseParams `json:"Response"`
}

func (r *RemoveMachineResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveMachineResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RetryCreateSnapshotRequestParams struct {
	// Fix task ID
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Unique ID of the snapshot returned by the task progress
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type RetryCreateSnapshotRequest struct {
	*tchttp.BaseRequest
	
	// Fix task ID
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Unique ID of the snapshot returned by the task progress
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *RetryCreateSnapshotRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RetryCreateSnapshotRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FixId")
	delete(f, "Quuid")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RetryCreateSnapshotRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RetryCreateSnapshotResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RetryCreateSnapshotResponse struct {
	*tchttp.BaseResponse
	Response *RetryCreateSnapshotResponseParams `json:"Response"`
}

func (r *RetryCreateSnapshotResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RetryCreateSnapshotResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RetryVulFixRequestParams struct {
	// Vulnerability ID
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Kb Id 
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

type RetryVulFixRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	FixId *uint64 `json:"FixId,omitnil,omitempty" name:"FixId"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Kb Id 
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`
}

func (r *RetryVulFixRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RetryVulFixRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FixId")
	delete(f, "Quuid")
	delete(f, "VulId")
	delete(f, "KbId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RetryVulFixRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RetryVulFixResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type RetryVulFixResponse struct {
	*tchttp.BaseResponse
	Response *RetryVulFixResponseParams `json:"Response"`
}

func (r *RetryVulFixResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RetryVulFixResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ReverseShell struct {
	// ID primary key
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWPP UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	Hostip *string `json:"Hostip,omitnil,omitempty" name:"Hostip"`

	// Target IP
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`

	// Target port
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process path
	FullPath *string `json:"FullPath,omitnil,omitempty" name:"FullPath"`

	// Command details
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Executing user
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Executing user group
	UserGroup *string `json:"UserGroup,omitnil,omitempty" name:"UserGroup"`

	// Parent process name
	ParentProcName *string `json:"ParentProcName,omitnil,omitempty" name:"ParentProcName"`

	// Parent process user
	ParentProcUser *string `json:"ParentProcUser,omitnil,omitempty" name:"ParentProcUser"`

	// Parent process user group
	ParentProcGroup *string `json:"ParentProcGroup,omitnil,omitempty" name:"ParentProcGroup"`

	// Parent process path
	ParentProcPath *string `json:"ParentProcPath,omitnil,omitempty" name:"ParentProcPath"`

	// Processing status. 0 - pending processing; 2 - allowlisted; 3 - processed; 4 - ignored; 6 - blocked.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Server name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Process tree
	ProcTree *string `json:"ProcTree,omitnil,omitempty" name:"ProcTree"`

	// Detection method: 0: behavior analysis; 1 command feature detection
	DetectBy *uint64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	//  Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Process id
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Threat level. 0: medium risk, 1: high risk.
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Escaped content of command details. It is used when regular expressions match allowlisted full strings.	
	CmdLineQuote *string `json:"CmdLineQuote,omitnil,omitempty" name:"CmdLineQuote"`
}

type ReverseShellEventInfo struct {
	// ID primary key
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host Security UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host UUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host private IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Target IP
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`

	// Target port
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process path
	FullPath *string `json:"FullPath,omitnil,omitempty" name:"FullPath"`

	// Command details
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// User for execution
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// User group for execution
	UserGroup *string `json:"UserGroup,omitnil,omitempty" name:"UserGroup"`

	// Parent process name
	ParentProcName *string `json:"ParentProcName,omitnil,omitempty" name:"ParentProcName"`

	// Parent process user
	ParentProcUser *string `json:"ParentProcUser,omitnil,omitempty" name:"ParentProcUser"`

	// Parent process user group
	ParentProcGroup *string `json:"ParentProcGroup,omitnil,omitempty" name:"ParentProcGroup"`

	// Parent process path
	ParentProcPath *string `json:"ParentProcPath,omitnil,omitempty" name:"ParentProcPath"`

	// Processing status: 0: pending; 2: allowlisted; 3: processed; 4: ignored
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Occurrence time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Detection method
	DetectBy *uint64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	// Process tree json pid: process ID; exe: file path; account: groups and users to which the process belongs; cmdline: execute commands; ssh_service: SSH service IP; ssh_source: log-in source
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Recommended solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Description
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Tag
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Reference link
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status: OFFLINE; ONLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Processing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Escaped content of command details. It is used when regular expressions match allowlisted full strings.
	CmdLineQuote *string `json:"CmdLineQuote,omitnil,omitempty" name:"CmdLineQuote"`

	// Risk level
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`
}

type ReverseShellRule struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Target IP
	DestIp *string `json:"DestIp,omitnil,omitempty" name:"DestIp"`

	// Target port
	DestPort *string `json:"DestPort,omitnil,omitempty" name:"DestPort"`

	// Operator
	Operator *string `json:"Operator,omitnil,omitempty" name:"Operator"`

	// Whether a global rule
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Status (0: valid; 1: invalid)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Host IP
	Hostip *string `json:"Hostip,omitnil,omitempty" name:"Hostip"`
}

type ReverseShellRuleAggregation struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	UuidHostips []*UuidHostip `json:"UuidHostips,omitnil,omitempty" name:"UuidHostips"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Target IP address
	DestIp *string `json:"DestIp,omitnil,omitempty" name:"DestIp"`

	// Target port
	DestPort *string `json:"DestPort,omitnil,omitempty" name:"DestPort"`

	// Operator
	Operator *string `json:"Operator,omitnil,omitempty" name:"Operator"`

	// Whether a global rule
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Status (0: valid; 1: invalid)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Allowlisting method. 0: regular allowlisting, 1: regular expression allowlisting.
	WhiteType *uint64 `json:"WhiteType,omitnil,omitempty" name:"WhiteType"`

	// Regular expression
	RuleRegexp *string `json:"RuleRegexp,omitnil,omitempty" name:"RuleRegexp"`

	// Whether to process historical events. 0: no, 1: yes.
	HandleHistory *uint64 `json:"HandleHistory,omitnil,omitempty" name:"HandleHistory"`

	// Batch ID.
	GroupID *string `json:"GroupID,omitnil,omitempty" name:"GroupID"`

	// Number of servers covered by a rule. When IsGlobal is set to 1, all servers are displayed.
	MachinesNums *string `json:"MachinesNums,omitnil,omitempty" name:"MachinesNums"`
}

type RiskDnsEvent struct {
	// Event ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy ID
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Type of hit policy [-1: unknown|0: system|1: user]
	PolicyType *int64 `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Name of hit policy
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Protection level [0: basic edition|1: professional edition|2: ultimate edition]
	ProtectLevel *int64 `json:"ProtectLevel,omitnil,omitempty" name:"ProtectLevel"`

	// Server ID
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Public IP address
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// Client ID
	AgentId *string `json:"AgentId,omitnil,omitempty" name:"AgentId"`

	// Access domain name
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Tag Features
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Access count
	AccessCount *int64 `json:"AccessCount,omitnil,omitempty" name:"AccessCount"`

	// Threat description
	ThreatDesc *string `json:"ThreatDesc,omitnil,omitempty" name:"ThreatDesc"`

	// Fixing solution
	SuggestSolution *string `json:"SuggestSolution,omitnil,omitempty" name:"SuggestSolution"`

	// Reference link
	ReferenceLink *string `json:"ReferenceLink,omitnil,omitempty" name:"ReferenceLink"`

	// Processing status [0: pending|2: allowlisted|3: untrusted status|4: processed|5: ignored|6: blocked]
	HandleStatus *int64 `json:"HandleStatus,omitnil,omitempty" name:"HandleStatus"`

	// Process ID
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process MD5
	ProcessMd5 *string `json:"ProcessMd5,omitnil,omitempty" name:"ProcessMd5"`

	// Command line
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// First access time
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Last access Time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Host online status [OFFLINE: offline|ONLINE: online|UNKNOWN: unknown]
	HostStatus *string `json:"HostStatus,omitnil,omitempty" name:"HostStatus"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// [1:CentOS|2:Debian|3:Gentoo|4:Redhat|5:Ubuntu|6:Windows|7:TencentOS|8:CoreOS|9:FreeBSD|10:SUSE]
	OsType *int64 `json:"OsType,omitnil,omitempty" name:"OsType"`
}

type RiskDnsList struct {
	// External access domain name
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Access count
	AccessCount *uint64 `json:"AccessCount,omitnil,omitempty" name:"AccessCount"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process MD5
	ProcessMd5 *string `json:"ProcessMd5,omitnil,omitempty" name:"ProcessMd5"`

	// Whether the rule is global. 0: no; 1: yes.
	GlobalRuleId *uint64 `json:"GlobalRuleId,omitnil,omitempty" name:"GlobalRuleId"`

	// User rule ID
	UserRuleId *uint64 `json:"UserRuleId,omitnil,omitempty" name:"UserRuleId"`

	// Status. 0: pending; 2: added to allowlist; 3: untrusted; 4: processed; 5: ignored.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// First access time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last access Time
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Unique QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Reference
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// Command line
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Process ID
	Pid *uint64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Recommended solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Tag Features
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status [OFFLINE: offline|ONLINE: online|UNKNOWN: unknown]
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`
}

type RiskDnsPolicy struct {
	// Policy name
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Policy type [0: system; 1: user]
	PolicyType *int64 `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Policy action [0: alarm; 1: allow; 2:intercept + alarm]
	PolicyAction *int64 `json:"PolicyAction,omitnil,omitempty" name:"PolicyAction"`

	// Host range [1: all Professional + Ultimate Editions|2: all Ultimate Editions|0: partial hosts]
	HostScope *int64 `json:"HostScope,omitnil,omitempty" name:"HostScope"`

	// Host ID
	HostIds []*string `json:"HostIds,omitnil,omitempty" name:"HostIds"`

	// Domain name (when used as an input parameter, it needs base64 encode.)
	Domains []*string `json:"Domains,omitnil,omitempty" name:"Domains"`

	// Whether effective [0: effective,1: not effective]
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Policy ID
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy description
	PolicyDesc *string `json:"PolicyDesc,omitnil,omitempty" name:"PolicyDesc"`

	// Whether to process previous events [0: no|1: yes]
	IsDealOldEvent *int64 `json:"IsDealOldEvent,omitnil,omitempty" name:"IsDealOldEvent"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Event ID
	EventId *int64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type RiskMainClass struct {
	// Risky services for RASP injection.	
	ServiceName *string `json:"ServiceName,omitnil,omitempty" name:"ServiceName"`
}

type RiskProcessEvent struct {
	// Event ID
	EventId *int64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Public IP address
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// Process ID
	ProcessId *int64 `json:"ProcessId,omitnil,omitempty" name:"ProcessId"`

	// File path
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Executed commands
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Process startup time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Last detection time
	DetectTime *string `json:"DetectTime,omitnil,omitempty" name:"DetectTime"`

	// Virus name
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Trojan detection platform [1: Cloud search engine |2:TAV | 3: Binary Ai | 4: Abnormal behavior | 5: threat intelligence]
	CheckPlatform []*string `json:"CheckPlatform,omitnil,omitempty" name:"CheckPlatform"`

	// Virus tag
	VirusTags []*string `json:"VirusTags,omitnil,omitempty" name:"VirusTags"`

	// Threat description
	ThreatDesc *string `json:"ThreatDesc,omitnil,omitempty" name:"ThreatDesc"`

	// Recommended solution
	SuggestSolution *string `json:"SuggestSolution,omitnil,omitempty" name:"SuggestSolution"`

	// Reference link
	ReferenceLink *string `json:"ReferenceLink,omitnil,omitempty" name:"ReferenceLink"`

	// Processing Status [0 Pending; 1 Processed; 2 Scanning; 3 Scanned; 4 Exited; 5 Ignore]
	HandleStatus *int64 `json:"HandleStatus,omitnil,omitempty" name:"HandleStatus"`

	// Host Online Status
	OnlineStatus *int64 `json:"OnlineStatus,omitnil,omitempty" name:"OnlineStatus"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// First time detection method 0 scan;1 real-time monitoring
	FirstDetectionMethod *uint64 `json:"FirstDetectionMethod,omitnil,omitempty" name:"FirstDetectionMethod"`
}

type RuleInfo struct {
	// Full-text index configurations
	FullText *FullTextInfo `json:"FullText,omitnil,omitempty" name:"FullText"`

	// Key-value index configurations
	KeyValue *KeyValueInfo `json:"KeyValue,omitnil,omitempty" name:"KeyValue"`

	// Meta field index configuration
	Tag *KeyValueInfo `json:"Tag,omitnil,omitempty" name:"Tag"`
}

// Predefined struct for user
type ScanBaselineRequestParams struct {
	// Policy ID array (Either StrategyIdList, CategoryIdList, or RuleIdList must be selected.)
	StrategyIdList []*uint64 `json:"StrategyIdList,omitnil,omitempty" name:"StrategyIdList"`

	// Baseline ID array (Either StrategyIdList, CategoryIdList, or RuleIdList must be selected.)
	CategoryIdList []*uint64 `json:"CategoryIdList,omitnil,omitempty" name:"CategoryIdList"`

	// Detection item ID array (Either StrategyIdList, CategoryIdList, or RuleIdList must be selected.)
	RuleIdList []*uint64 `json:"RuleIdList,omitnil,omitempty" name:"RuleIdList"`

	// Not required when StrategyIdList is selected, but required in other cases.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Host UUID array
	UuidList []*string `json:"UuidList,omitnil,omitempty" name:"UuidList"`
}

type ScanBaselineRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID array (Either StrategyIdList, CategoryIdList, or RuleIdList must be selected.)
	StrategyIdList []*uint64 `json:"StrategyIdList,omitnil,omitempty" name:"StrategyIdList"`

	// Baseline ID array (Either StrategyIdList, CategoryIdList, or RuleIdList must be selected.)
	CategoryIdList []*uint64 `json:"CategoryIdList,omitnil,omitempty" name:"CategoryIdList"`

	// Detection item ID array (Either StrategyIdList, CategoryIdList, or RuleIdList must be selected.)
	RuleIdList []*uint64 `json:"RuleIdList,omitnil,omitempty" name:"RuleIdList"`

	// Not required when StrategyIdList is selected, but required in other cases.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Host UUID array
	UuidList []*string `json:"UuidList,omitnil,omitempty" name:"UuidList"`
}

func (r *ScanBaselineRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanBaselineRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyIdList")
	delete(f, "CategoryIdList")
	delete(f, "RuleIdList")
	delete(f, "QuuidList")
	delete(f, "UuidList")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanBaselineRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanBaselineResponseParams struct {
	// Host Quuid being scanned
	ScanningQuuids []*string `json:"ScanningQuuids,omitnil,omitempty" name:"ScanningQuuids"`

	// TaskId returned upon successful task issuance
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ScanBaselineResponse struct {
	*tchttp.BaseResponse
	Response *ScanBaselineResponseParams `json:"Response"`
}

func (r *ScanBaselineResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanBaselineResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanTaskAgainRequestParams struct {
	// Module type. Currently supported values: Malware: Trojan; Vul: vulnerability; Baseline: baseline.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// String array of host QUUIDs. This parameter is effective for selected servers.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Scan timeout
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`
}

type ScanTaskAgainRequest struct {
	*tchttp.BaseRequest
	
	// Module type. Currently supported values: Malware: Trojan; Vul: vulnerability; Baseline: baseline.
	ModuleType *string `json:"ModuleType,omitnil,omitempty" name:"ModuleType"`

	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// String array of host QUUIDs. This parameter is effective for selected servers.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Scan timeout
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`
}

func (r *ScanTaskAgainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanTaskAgainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ModuleType")
	delete(f, "TaskId")
	delete(f, "QuuidList")
	delete(f, "TimeoutPeriod")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanTaskAgainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanTaskAgainResponseParams struct {
	// number of hosts with successful delivery
	SuccessCount *uint64 `json:"SuccessCount,omitnil,omitempty" name:"SuccessCount"`

	// Number of hosts (Basic version, do not support scanning)
	BasicVersionCount *uint64 `json:"BasicVersionCount,omitnil,omitempty" name:"BasicVersionCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ScanTaskAgainResponse struct {
	*tchttp.BaseResponse
	Response *ScanTaskAgainResponseParams `json:"Response"`
}

func (r *ScanTaskAgainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanTaskAgainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ScanTaskDetails struct {
	// Server IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Server name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Operating system
	OsName *string `json:"OsName,omitnil,omitempty" name:"OsName"`

	// Number of risks
	RiskNum *uint64 `json:"RiskNum,omitnil,omitempty" name:"RiskNum"`

	// Scan start time
	ScanBeginTime *string `json:"ScanBeginTime,omitnil,omitempty" name:"ScanBeginTime"`

	// Scan end time
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Status code: Scanning; Ok; Fail.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Unique ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Failure type. 3: offline; 4: timeout; 5: failed; 8: early agent version.
	FailType *uint64 `json:"FailType,omitnil,omitempty" name:"FailType"`

	// Public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

// Predefined struct for user
type ScanVulAgainRequestParams struct {
	// Vulnerability event ID string (Multiple entries are separated by English commas.)
	EventIds *string `json:"EventIds,omitnil,omitempty" name:"EventIds"`

	// Recheck machine UUID (Multiple entries are separated by commas.)
	Uuids *string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0 vulnerabilities, 1 windows patch
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`
}

type ScanVulAgainRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability event ID string (Multiple entries are separated by English commas.)
	EventIds *string `json:"EventIds,omitnil,omitempty" name:"EventIds"`

	// Recheck machine UUID (Multiple entries are separated by commas.)
	Uuids *string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0 vulnerabilities, 1 windows patch
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`
}

func (r *ScanVulAgainRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanVulAgainRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIds")
	delete(f, "Uuids")
	delete(f, "EventType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanVulAgainRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanVulAgainResponseParams struct {
	// Number of successful hosts
	SuccessCount *uint64 `json:"SuccessCount,omitnil,omitempty" name:"SuccessCount"`

	// Number of Basic Version hosts (unsupported)
	BasicVersionCount *uint64 `json:"BasicVersionCount,omitnil,omitempty" name:"BasicVersionCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ScanVulAgainResponse struct {
	*tchttp.BaseResponse
	Response *ScanVulAgainResponseParams `json:"Response"`
}

func (r *ScanVulAgainResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanVulAgainResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanVulRequestParams struct {
	// Whether to count only critical vulnerabilities. 1: only critical vulnerabilities; 0: all vulnerabilities.
	VulLevels *string `json:"VulLevels,omitnil,omitempty" name:"VulLevels"`

	// Server type. 1: Pro Edition server; 2: selected server.
	HostType *uint64 `json:"HostType,omitnil,omitempty" name:"HostType"`

	// Vulnerability category. 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability (separate multiple values by commas).
	VulCategories *string `json:"VulCategories,omitnil,omitempty" name:"VulCategories"`

	// String array of host QUUIDs. This parameter is effective for selected servers.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether it is an emergency vulnerability. 0: no; 1: yes.
	VulEmergency *uint64 `json:"VulEmergency,omitnil,omitempty" name:"VulEmergency"`

	// Scan duration, in seconds. Default duration: 3,600 second.
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`

	// IDs of vulnerabilities to be scanned
	VulIds []*uint64 `json:"VulIds,omitnil,omitempty" name:"VulIds"`

	// 0: version comparison, 2: version comparison + POC.
	ScanMethod *uint64 `json:"ScanMethod,omitnil,omitempty" name:"ScanMethod"`

	// kb No.
	KBNumber []*string `json:"KBNumber,omitnil,omitempty" name:"KBNumber"`
}

type ScanVulRequest struct {
	*tchttp.BaseRequest
	
	// Whether to count only critical vulnerabilities. 1: only critical vulnerabilities; 0: all vulnerabilities.
	VulLevels *string `json:"VulLevels,omitnil,omitempty" name:"VulLevels"`

	// Server type. 1: Pro Edition server; 2: selected server.
	HostType *uint64 `json:"HostType,omitnil,omitempty" name:"HostType"`

	// Vulnerability category. 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability (separate multiple values by commas).
	VulCategories *string `json:"VulCategories,omitnil,omitempty" name:"VulCategories"`

	// String array of host QUUIDs. This parameter is effective for selected servers.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether it is an emergency vulnerability. 0: no; 1: yes.
	VulEmergency *uint64 `json:"VulEmergency,omitnil,omitempty" name:"VulEmergency"`

	// Scan duration, in seconds. Default duration: 3,600 second.
	TimeoutPeriod *uint64 `json:"TimeoutPeriod,omitnil,omitempty" name:"TimeoutPeriod"`

	// IDs of vulnerabilities to be scanned
	VulIds []*uint64 `json:"VulIds,omitnil,omitempty" name:"VulIds"`

	// 0: version comparison, 2: version comparison + POC.
	ScanMethod *uint64 `json:"ScanMethod,omitnil,omitempty" name:"ScanMethod"`

	// kb No.
	KBNumber []*string `json:"KBNumber,omitnil,omitempty" name:"KBNumber"`
}

func (r *ScanVulRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanVulRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "VulLevels")
	delete(f, "HostType")
	delete(f, "VulCategories")
	delete(f, "QuuidList")
	delete(f, "VulEmergency")
	delete(f, "TimeoutPeriod")
	delete(f, "VulIds")
	delete(f, "ScanMethod")
	delete(f, "KBNumber")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanVulRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanVulResponseParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Selected host includes basic version count
	BasicVersionCount *uint64 `json:"BasicVersionCount,omitnil,omitempty" name:"BasicVersionCount"`

	// Number of machines for scan task creation
	SuccessCount *uint64 `json:"SuccessCount,omitnil,omitempty" name:"SuccessCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ScanVulResponse struct {
	*tchttp.BaseResponse
	Response *ScanVulResponseParams `json:"Response"`
}

func (r *ScanVulResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanVulResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanVulSettingRequestParams struct {
	// Regular detection interval (days)
	TimerInterval *uint64 `json:"TimerInterval,omitnil,omitempty" name:"TimerInterval"`

	// Vulnerability type. 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability. Pass in the values in array format. Example: [1,2]
	VulCategories []*uint64 `json:"VulCategories,omitnil,omitempty" name:"VulCategories"`

	// Severity level. 1: low-risk; 2: medium-risk; 3: high-risk; 4: critical. Pass in the values in array format. Example: [1,2,3]
	VulLevels []*uint64 `json:"VulLevels,omitnil,omitempty" name:"VulLevels"`

	// Periodic detection time. Example: 02:10:50
	TimerTime *string `json:"TimerTime,omitnil,omitempty" name:"TimerTime"`

	// Whether the vulnerability is an emergency vulnerability. 0: no; 1: yes.
	VulEmergency *uint64 `json:"VulEmergency,omitnil,omitempty" name:"VulEmergency"`

	// Scan start time. Example: 00:00
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Scan end time. Example: 08:00
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether to enable scanning. 1: enable; 0: disable.
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// If empty, scan all Pro Edition, Flagship Edition, and Lite hosts by default. If not empty, only scan selected hosts.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0: version comparison, 2: version comparison + POC.
	ScanMethod *uint64 `json:"ScanMethod,omitnil,omitempty" name:"ScanMethod"`
}

type ScanVulSettingRequest struct {
	*tchttp.BaseRequest
	
	// Regular detection interval (days)
	TimerInterval *uint64 `json:"TimerInterval,omitnil,omitempty" name:"TimerInterval"`

	// Vulnerability type. 1: web CMS vulnerability; 2: application vulnerability; 4: Linux software vulnerability; 5: Windows system vulnerability. Pass in the values in array format. Example: [1,2]
	VulCategories []*uint64 `json:"VulCategories,omitnil,omitempty" name:"VulCategories"`

	// Severity level. 1: low-risk; 2: medium-risk; 3: high-risk; 4: critical. Pass in the values in array format. Example: [1,2,3]
	VulLevels []*uint64 `json:"VulLevels,omitnil,omitempty" name:"VulLevels"`

	// Periodic detection time. Example: 02:10:50
	TimerTime *string `json:"TimerTime,omitnil,omitempty" name:"TimerTime"`

	// Whether the vulnerability is an emergency vulnerability. 0: no; 1: yes.
	VulEmergency *uint64 `json:"VulEmergency,omitnil,omitempty" name:"VulEmergency"`

	// Scan start time. Example: 00:00
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Scan end time. Example: 08:00
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether to enable scanning. 1: enable; 0: disable.
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// If empty, scan all Pro Edition, Flagship Edition, and Lite hosts by default. If not empty, only scan selected hosts.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0: version comparison, 2: version comparison + POC.
	ScanMethod *uint64 `json:"ScanMethod,omitnil,omitempty" name:"ScanMethod"`
}

func (r *ScanVulSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanVulSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TimerInterval")
	delete(f, "VulCategories")
	delete(f, "VulLevels")
	delete(f, "TimerTime")
	delete(f, "VulEmergency")
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "EnableScan")
	delete(f, "Uuids")
	delete(f, "ScanMethod")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanVulSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanVulSettingResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ScanVulSettingResponse struct {
	*tchttp.BaseResponse
	Response *ScanVulSettingResponseParams `json:"Response"`
}

func (r *ScanVulSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanVulSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ScreenAttackHotspot struct {
	// Event name
	EventName *string `json:"EventName,omitnil,omitempty" name:"EventName"`

	// Attacker IP address
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Victim IP address
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`

	// Region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Time
	CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"`
}

type ScreenBaselineInfo struct {
	// Baseline name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Baseline ID
	CategoryId *uint64 `json:"CategoryId,omitnil,omitempty" name:"CategoryId"`

	// Last detection time
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Baseline risk items
	BaselineFailCount *uint64 `json:"BaselineFailCount,omitnil,omitempty" name:"BaselineFailCount"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type ScreenBroadcasts struct {
	// Security report article title
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Severity level of security report article: 0: none; 1: critical; 2: high-risk; 3: medium-risk; 4: low-risk
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Release time
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// Article ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type ScreenDefendAttackLog struct {
	// Log ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Client ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Source IP
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Source port
	SrcPort *uint64 `json:"SrcPort,omitnil,omitempty" name:"SrcPort"`

	// Attack method
	HttpMethod *string `json:"HttpMethod,omitnil,omitempty" name:"HttpMethod"`

	// Threat type
	VulType *string `json:"VulType,omitnil,omitempty" name:"VulType"`

	// Attack time
	CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"`

	// Target port
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Host quuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Target IP
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`
}

type ScreenEmergentMsg struct {
	// Notification tag/title
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Notification content
	Text *string `json:"Text,omitnil,omitempty" name:"Text"`

	// Redirection type: 0=vulnerability management
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`
}

type ScreenEventsCnt struct {
	// Displayed content: Total number of pending risks and total number of affected assets
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Total number of events
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// name: Specific type of the displayed content, including attack event, potential risk, compromised asset, and potentially risky asset
	// Value: event count after statistics
	Category []*ScreenNameValue `json:"Category,omitnil,omitempty" name:"Category"`
}

type ScreenInvasion struct {
	// Intrusion time
	CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"`

	// Event type. 0: virus scanning; 1: abnormal log-in; 2: password cracking; 3: malicious request; 4: high-risk command; 5: local privilege escalation; 6: reverse shell.
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// JSON file of the event data, which varies by event.
	// [Virus scanning] Virus name: VirusName, file name: FileName, file path: FilePath, file size: FileSize, file MD5: MD5, first detection time: CreateTime, last detection time: LatestScanTime, severity description: HarmDescribe, fixing suggestion: SuggestScheme
	// [Abnormal log-in] Source IP: SrcIp, location: Location, log-in username: UserName, log-in time: LoginTime
	// [Password cracking]Source IP: SrcIp, location: City and Country, protocol: Protocol, log-in username: UserName, port: Port, attempt count: Count, first attack time: CreateTime, last attack time: ModifyTime
	// [Malicious request] Malicious request domain name: Url, process: ProcessName, MD5: ProcessMd5, PID: Pid, request count: AccessCount, last request time: MergeTime, severity description: HarmDescribe, fixing suggestion: SuggestScheme
	// [High-risk command] Hit rule name: RuleName, rule category: RuleCategory, command content: BashCmd, data source: DetectBy, Log-in user: User, PID: Pid, occurrence time: CreateTime, severity description: HarmDescribe, fixing suggestion: SuggestScheme
	// [Local privilege escalation] Privilege escalation user: UserName, parent process: ParentProcName, user of parent process: ParentProcGroup, Detection time: CreateTime, severity description: HarmDescribe, fixing suggestion: SuggestScheme
	// [Reverse shell] Connected process: ProcessName, executed command: CmdLine, parent process: ParentProcName, target host: DstIp, target port: DstPort, detection time: CreateTime, severity description: HarmDescribe, fixing suggestion: SuggestScheme
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Unified event risk level. 0: prompt; 1: low; 2: medium; 3: high; 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Level in Chinese
	LevelZh *string `json:"LevelZh,omitnil,omitempty" name:"LevelZh"`

	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type ScreenMachine struct {
	// Host name.
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host System.
	MachineOs *string `json:"MachineOs,omitnil,omitempty" name:"MachineOs"`

	// CWP UUID. If the CWP client is offline for a long time, an empty character is returned.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Status of a host on the large screen. 0: agent not installed; 1: offline; 2: offline - risky; 3: offline - critical;
	// 4: device installed - normal; 5: device installed - normal and of either Pro Edition or Ultimate Edition; 6: device installed - risky (network attack events > 0);
	// 7: device installed - risky (network attack events > 0) and of either Pro Edition or Ultimate Edition; 8: device installed - critical (intrusion detection events > 0);
	// 9: device installed - critical (intrusion detection events > 0) and of either Pro Edition or Ultimate Edition
	MachineStatus *uint64 `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// CVM or BM Machine Unique UUID.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Number of vulnerabilities
	VulNum *int64 `json:"VulNum,omitnil,omitempty" name:"VulNum"`

	// Host IP.
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Public IP address of the host
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Number of baseline risks
	BaselineNum *int64 `json:"BaselineNum,omitnil,omitempty" name:"BaselineNum"`

	// Number of network risks
	CyberAttackNum *int64 `json:"CyberAttackNum,omitnil,omitempty" name:"CyberAttackNum"`

	// Risk status
	// <li>SAFE: Safe</li>
	// <li>RISK: Risk</li>
	// <li>UNKNOWN: Unknown</li>
	SecurityStatus *string `json:"SecurityStatus,omitnil,omitempty" name:"SecurityStatus"`

	// Number of intrusion events
	InvasionNum *int64 `json:"InvasionNum,omitnil,omitempty" name:"InvasionNum"`

	// Machine Zone Type. CVM - Cloud Virtual Machine; BM: Bare Metal; ECM: Edge Computing Machine; LH: Lightweight Application Server; Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// CPU load status
	CpuLoad *string `json:"CpuLoad,omitnil,omitempty" name:"CpuLoad"`

	// Number of CPU cores
	CpuSize *float64 `json:"CpuSize,omitnil,omitempty" name:"CpuSize"`

	// Hard disk utilization (%)
	DiskLoad *string `json:"DiskLoad,omitnil,omitempty" name:"DiskLoad"`

	// Hard disk capacity (GB)
	DiskSize *float64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`

	// Memory utilization (%)
	MemLoad *string `json:"MemLoad,omitnil,omitempty" name:"MemLoad"`

	// Memory capacity (GB)
	MemSize *float64 `json:"MemSize,omitnil,omitempty" name:"MemSize"`

	// Kernel version
	CoreVersion *string `json:"CoreVersion,omitnil,omitempty" name:"CoreVersion"`

	// Additional information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type ScreenNameValue struct {
	// Statistics type: Different APIs correspond to different content
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Statistics quantity
	Value *uint64 `json:"Value,omitnil,omitempty" name:"Value"`
}

type ScreenProtection struct {
	// Type value: virus scanning, brute force cracking, vulnerability scan, baseline check
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Virus scanning: 0: never scanned or asset not paid; 1: scanned and malicious files found; 2: scanned but isolation protection disabled; 3: scanned, protection enabled, and no risk found.
	// Brute force cracking: 0: protection disabled (asset not paid); 1: automatic blocking enabled.
	// Vulnerability scan: 0: never scanned or asset not paid; 1: vulnerability found; 2: no risk found.
	// Baseline check: 0: never checked or asset not paid; 1: baseline risks found; 2: no risk found.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type ScreenProtectionCnt struct {
	// cloud: Cloud Security Engine; detect: detection engine; defend: attack defense; threat: threat intelligence; analysis: abnormal analysis; ai: AI engine
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// cloud: Cloud Security Engine; detect: detection engine; defend: attack defense; threat: threat intelligence; analysis: abnormal analysis; ai: AI engine
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Total number
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type ScreenRegionInfo struct {
	// Region identifiers, such as ap-guangzhou, ap-shanghai, and ap-beijing
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Chinese name of region, such as South China (Guangzhou), East China (Shanghai Finance), and North China (Beijing)
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// Region ID
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Region code, such as gz, sh, and bj
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// English name of the region
	RegionNameEn *string `json:"RegionNameEn,omitnil,omitempty" name:"RegionNameEn"`
}

type ScreenRegionMachines struct {
	// All regions
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Region description in Chinese
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// Host list
	Machines []*ScreenMachine `json:"Machines,omitnil,omitempty" name:"Machines"`

	// Total number of hosts in this region
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Number of risky hosts
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Number of potentially risky hosts
	AttackCnt *uint64 `json:"AttackCnt,omitnil,omitempty" name:"AttackCnt"`

	// Number of risk-free hosts
	SafetyCnt *uint64 `json:"SafetyCnt,omitnil,omitempty" name:"SafetyCnt"`

	// Number of hosts in offline/uninstalled status
	UnAgentOfflineCnt *uint64 `json:"UnAgentOfflineCnt,omitnil,omitempty" name:"UnAgentOfflineCnt"`

	// Number of hosts that are omitted from displaying. When it is equal to 0, no hosts are omitted.
	IgnoreCnt *uint64 `json:"IgnoreCnt,omitnil,omitempty" name:"IgnoreCnt"`
}

type ScreenTrendsChart struct {
	// Time on the X-axis
	X *string `json:"X,omitnil,omitempty" name:"X"`

	// Numerical value on the Y-axis
	Y *uint64 `json:"Y,omitnil,omitempty" name:"Y"`

	// Statistical type: defense count, attack count
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type ScreenVulInfo struct {
	// Vulnerability Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Last detection Time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Vulnerability level 1: low-risk; 2: medium-risk; 3: high-risk; 4: prompt
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Vulnerability type: 1 - web-cms vulnerabilities; 2 - application vulnerabilities; 4 - Linux software vulnerabilities; 5 - Windows system vulnerabilities
	Category *uint64 `json:"Category,omitnil,omitempty" name:"Category"`

	// Host UUID.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

// Predefined struct for user
type SearchLogRequestParams struct {
	// Start time for logs to be searched and analyzed, which is a Unix timestamp in milliseconds
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time for logs to be searched and analyzed, which is a Unix timestamp in milliseconds
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// The retrieval analysis statement has a maximum length of 12KB. Refer to the query syntax in the referenced document https://www.tencentcloud.com/document/product/296/50508.?from_cn_redirect=1
	QueryString *string `json:"QueryString,omitnil,omitempty" name:"QueryString"`

	// Number of raw logs returned for a single query. Maximum value: 1000. The Context parameter can be used to obtain subsequent logs.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Order for returning the raw logs. Valid values: asc (ascending), desc (descending). Default value: desc.
	Sort *string `json:"Sort,omitnil,omitempty" name:"Sort"`

	// Pass the Context value returned by the last API call to retrieve more subsequent logs. A total of up to 10,000 raw logs can be obtained, with a validity period of 1 hour.
	Context *string `json:"Context,omitnil,omitempty" name:"Context"`
}

type SearchLogRequest struct {
	*tchttp.BaseRequest
	
	// Start time for logs to be searched and analyzed, which is a Unix timestamp in milliseconds
	StartTime *int64 `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time for logs to be searched and analyzed, which is a Unix timestamp in milliseconds
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// The retrieval analysis statement has a maximum length of 12KB. Refer to the query syntax in the referenced document https://www.tencentcloud.com/document/product/296/50508.?from_cn_redirect=1
	QueryString *string `json:"QueryString,omitnil,omitempty" name:"QueryString"`

	// Number of raw logs returned for a single query. Maximum value: 1000. The Context parameter can be used to obtain subsequent logs.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Order for returning the raw logs. Valid values: asc (ascending), desc (descending). Default value: desc.
	Sort *string `json:"Sort,omitnil,omitempty" name:"Sort"`

	// Pass the Context value returned by the last API call to retrieve more subsequent logs. A total of up to 10,000 raw logs can be obtained, with a validity period of 1 hour.
	Context *string `json:"Context,omitnil,omitempty" name:"Context"`
}

func (r *SearchLogRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SearchLogRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StartTime")
	delete(f, "EndTime")
	delete(f, "QueryString")
	delete(f, "Count")
	delete(f, "Sort")
	delete(f, "Context")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SearchLogRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SearchLogResponseParams struct {
	// Number of raw logs matching the retrieval criteria
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Pass through the Context value returned by this API, which can access more logs later, with an expiration time of 1 hour.
	Context *string `json:"Context,omitnil,omitempty" name:"Context"`

	// Whether all logs meeting the retrieval criteria have been returned. If not, use the Context parameter to retrieve more logs.
	ListOver *bool `json:"ListOver,omitnil,omitempty" name:"ListOver"`

	// Whether the returned data is the SQL analysis result
	Analysis *bool `json:"Analysis,omitnil,omitempty" name:"Analysis"`

	// Raw logs matching the retrieval criteria
	Data []*LogInfo `json:"Data,omitnil,omitempty" name:"Data"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SearchLogResponse struct {
	*tchttp.BaseResponse
	Response *SearchLogResponseParams `json:"Response"`
}

func (r *SearchLogResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SearchLogResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SearchTemplate struct {
	// Name for search
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Index type for search
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Statement for search
	Condition *string `json:"Condition,omitnil,omitempty" name:"Condition"`

	// Time range
	TimeRange *string `json:"TimeRange,omitnil,omitempty" name:"TimeRange"`

	// Converted search statement content
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`

	// Search method. Input box: standard filtering. Search: simple.
	Flag *string `json:"Flag,omitnil,omitempty" name:"Flag"`

	// Displayed data
	DisplayData *string `json:"DisplayData,omitnil,omitempty" name:"DisplayData"`

	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type SecurityDynamic struct {
	// CWPP client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Security event occurrence time
	EventTime *string `json:"EventTime,omitnil,omitempty" name:"EventTime"`

	// Security event type
	// <li>MALWARE: Trojan event</li>
	// <li>NON_LOCAL_LOGIN: cross-region log-in</li>
	// <li>BRUTEATTACK_SUCCESS: successful password cracking</li>
	// <li>VUL: vulnerability</li>
	// <li>BASELINE: security baseline</li>
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Security event message
	Message *string `json:"Message,omitnil,omitempty" name:"Message"`

	// Security event level
	// <li>RISK: critical</li>
	// <li>HIGH: high-risk</li>
	// <li>NORMAL: medium-risk</li>
	// <li>LOW: low-risk</li>
	// <li>UNKNOWNED: suspicious</li>
	SecurityLevel *string `json:"SecurityLevel,omitnil,omitempty" name:"SecurityLevel"`
}

type SecurityEventInfo struct {
	// Number of security events
	EventCnt *uint64 `json:"EventCnt,omitnil,omitempty" name:"EventCnt"`

	// Number of affected machines
	UuidCnt *uint64 `json:"UuidCnt,omitnil,omitempty" name:"UuidCnt"`
}

type SecurityTrend struct {
	// Event time
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// Number of events
	EventNum *uint64 `json:"EventNum,omitnil,omitempty" name:"EventNum"`
}

// Predefined struct for user
type SeparateMalwaresRequestParams struct {
	// Trojan event ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to kill the process
	KillProcess *bool `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`
}

type SeparateMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Trojan event ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Whether to kill the process
	KillProcess *bool `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`
}

func (r *SeparateMalwaresRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SeparateMalwaresRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "KillProcess")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SeparateMalwaresRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SeparateMalwaresResponseParams struct {
	// Successfully isolated arrays of IDs; if no array is successfully isolated, an empty array is returned.
	SuccessIds []*uint64 `json:"SuccessIds,omitnil,omitempty" name:"SuccessIds"`

	// Unsuccessfully isolated arrays of IDs; if none, an empty array is returned.
	FailedIds []*uint64 `json:"FailedIds,omitnil,omitempty" name:"FailedIds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SeparateMalwaresResponse struct {
	*tchttp.BaseResponse
	Response *SeparateMalwaresResponseParams `json:"Response"`
}

func (r *SeparateMalwaresResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SeparateMalwaresResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetBashEventsStatusRequestParams struct {
	// ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// New status (0 - pending; 1 - high-risk; 2 - normal)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type SetBashEventsStatusRequest struct {
	*tchttp.BaseRequest
	
	// ID array (The maximum number of IDs is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`

	// New status (0 - pending; 1 - high-risk; 2 - normal)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *SetBashEventsStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetBashEventsStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetBashEventsStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetBashEventsStatusResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetBashEventsStatusResponse struct {
	*tchttp.BaseResponse
	Response *SetBashEventsStatusResponseParams `json:"Response"`
}

func (r *SetBashEventsStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetBashEventsStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetLocalStorageExpireRequestParams struct {
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Expiration time (unit: second)
	Expire *uint64 `json:"Expire,omitnil,omitempty" name:"Expire"`
}

type SetLocalStorageExpireRequest struct {
	*tchttp.BaseRequest
	
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Expiration time (unit: second)
	Expire *uint64 `json:"Expire,omitnil,omitempty" name:"Expire"`
}

func (r *SetLocalStorageExpireRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetLocalStorageExpireRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Key")
	delete(f, "Expire")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetLocalStorageExpireRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetLocalStorageExpireResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetLocalStorageExpireResponse struct {
	*tchttp.BaseResponse
	Response *SetLocalStorageExpireResponseParams `json:"Response"`
}

func (r *SetLocalStorageExpireResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetLocalStorageExpireResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetLocalStorageItemRequestParams struct {
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// Expiration time (unit: second)
	Expire *uint64 `json:"Expire,omitnil,omitempty" name:"Expire"`
}

type SetLocalStorageItemRequest struct {
	*tchttp.BaseRequest
	
	// Key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// Value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// Expiration time (unit: second)
	Expire *uint64 `json:"Expire,omitnil,omitempty" name:"Expire"`
}

func (r *SetLocalStorageItemRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetLocalStorageItemRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Key")
	delete(f, "Value")
	delete(f, "Expire")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetLocalStorageItemRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetLocalStorageItemResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetLocalStorageItemResponse struct {
	*tchttp.BaseResponse
	Response *SetLocalStorageItemResponseParams `json:"Response"`
}

func (r *SetLocalStorageItemResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetLocalStorageItemResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ShellPolicyList struct {
	// Policy ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// 0: system policy, 1: custom policy.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyType *uint64 `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Policy description
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyDesc *string `json:"PolicyDesc,omitnil,omitempty" name:"PolicyDesc"`

	// Policy action [0: alarm; 1: allow; 2:intercept + alarm]
	// Note: This field may return null, indicating that no valid values can be obtained.
	PolicyAction *uint64 `json:"PolicyAction,omitnil,omitempty" name:"PolicyAction"`

	// 0: enabled, 1: disabled.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsEnabled *uint64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Host range. [0: a group of QUuids, 1: all Pro edition hosts, 2: Premium edition, 3: all hosts.]
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostScope *uint64 `json:"HostScope,omitnil,omitempty" name:"HostScope"`
}

type SkillInfo struct {
	// Skill name
	SkillName *string `json:"SkillName,omitnil,omitempty" name:"SkillName"`

	// Skill description
	SkillDesc *string `json:"SkillDesc,omitnil,omitempty" name:"SkillDesc"`

	// Skill source
	SkillSource *string `json:"SkillSource,omitnil,omitempty" name:"SkillSource"`

	// Skill risk tag
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// skill risk description
	RiskDesc *string `json:"RiskDesc,omitnil,omitempty" name:"RiskDesc"`

	// evidence chain
	Evidence *string `json:"Evidence,omitnil,omitempty" name:"Evidence"`

	// Event ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type StandardModeConfig struct {
	// Blocking duration (unit: second)
	Ttl *uint64 `json:"Ttl,omitnil,omitempty" name:"Ttl"`
}

// Predefined struct for user
type StartBaselineDetectRequestParams struct {
	// Baseline detection parameter
	Param *BaselineDetectParam `json:"Param,omitnil,omitempty" name:"Param"`
}

type StartBaselineDetectRequest struct {
	*tchttp.BaseRequest
	
	// Baseline detection parameter
	Param *BaselineDetectParam `json:"Param,omitnil,omitempty" name:"Param"`
}

func (r *StartBaselineDetectRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartBaselineDetectRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Param")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StartBaselineDetectRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StartBaselineDetectResponseParams struct {
	// Scan task ID
	TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StartBaselineDetectResponse struct {
	*tchttp.BaseResponse
	Response *StartBaselineDetectResponseParams `json:"Response"`
}

func (r *StartBaselineDetectResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StartBaselineDetectResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopAssetScanRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type StopAssetScanRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *StopAssetScanRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopAssetScanRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopAssetScanRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopAssetScanResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StopAssetScanResponse struct {
	*tchttp.BaseResponse
	Response *StopAssetScanResponseParams `json:"Response"`
}

func (r *StopAssetScanResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopAssetScanResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopBaselineDetectRequestParams struct {
	// Cancel task ID collection
	TaskIds []*int64 `json:"TaskIds,omitnil,omitempty" name:"TaskIds"`
}

type StopBaselineDetectRequest struct {
	*tchttp.BaseRequest
	
	// Cancel task ID collection
	TaskIds []*int64 `json:"TaskIds,omitnil,omitempty" name:"TaskIds"`
}

func (r *StopBaselineDetectRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopBaselineDetectRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopBaselineDetectRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopBaselineDetectResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StopBaselineDetectResponse struct {
	*tchttp.BaseResponse
	Response *StopBaselineDetectResponseParams `json:"Response"`
}

func (r *StopBaselineDetectResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopBaselineDetectResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopNoticeBanTipsRequestParams struct {

}

type StopNoticeBanTipsRequest struct {
	*tchttp.BaseRequest
	
}

func (r *StopNoticeBanTipsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopNoticeBanTipsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopNoticeBanTipsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopNoticeBanTipsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type StopNoticeBanTipsResponse struct {
	*tchttp.BaseResponse
	Response *StopNoticeBanTipsResponseParams `json:"Response"`
}

func (r *StopNoticeBanTipsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopNoticeBanTipsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type Strategy struct {
	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Total number of baseline detection items
	RuleCount *uint64 `json:"RuleCount,omitnil,omitempty" name:"RuleCount"`

	// Number of hosts
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Scan cycle
	ScanCycle *uint64 `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Scan time
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Available or not?
	Enabled *uint64 `json:"Enabled,omitnil,omitempty" name:"Enabled"`

	// pass rate
	PassRate *uint64 `json:"PassRate,omitnil,omitempty" name:"PassRate"`

	// Baseline ID
	CategoryIds *string `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// Whether a default policy
	IsDefault *uint64 `json:"IsDefault,omitnil,omitempty" name:"IsDefault"`
}

// Predefined struct for user
type SwitchBashRulesRequestParams struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to disable
	Disabled *uint64 `json:"Disabled,omitnil,omitempty" name:"Disabled"`
}

type SwitchBashRulesRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to disable
	Disabled *uint64 `json:"Disabled,omitnil,omitempty" name:"Disabled"`
}

func (r *SwitchBashRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SwitchBashRulesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Disabled")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SwitchBashRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SwitchBashRulesResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SwitchBashRulesResponse struct {
	*tchttp.BaseResponse
	Response *SwitchBashRulesResponseParams `json:"Response"`
}

func (r *SwitchBashRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SwitchBashRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncAssetScanRequestParams struct {
	// Whether synchronized: true - yes; false - no; the default is false
	Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"`
}

type SyncAssetScanRequest struct {
	*tchttp.BaseRequest
	
	// Whether synchronized: true - yes; false - no; the default is false
	Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"`
}

func (r *SyncAssetScanRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncAssetScanRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Sync")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SyncAssetScanRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncAssetScanResponseParams struct {
	// Enumeration values are (in uppercase): NOTASK (no synchronization task), SYNCING (synchronizing), and FINISHED (synchronization completed)
	State *string `json:"State,omitnil,omitempty" name:"State"`

	// Latest synchronization start time
	LatestStartTime *string `json:"LatestStartTime,omitnil,omitempty" name:"LatestStartTime"`

	// Last sync end time
	LatestEndTime *string `json:"LatestEndTime,omitnil,omitempty" name:"LatestEndTime"`

	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SyncAssetScanResponse struct {
	*tchttp.BaseResponse
	Response *SyncAssetScanResponseParams `json:"Response"`
}

func (r *SyncAssetScanResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncAssetScanResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncBaselineDetectSummaryRequestParams struct {
	// IDs for calculating the progress of ongoing check tasks. Generally, this parameter is not required.
	TaskIds []*uint64 `json:"TaskIds,omitnil,omitempty" name:"TaskIds"`
}

type SyncBaselineDetectSummaryRequest struct {
	*tchttp.BaseRequest
	
	// IDs for calculating the progress of ongoing check tasks. Generally, this parameter is not required.
	TaskIds []*uint64 `json:"TaskIds,omitnil,omitempty" name:"TaskIds"`
}

func (r *SyncBaselineDetectSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncBaselineDetectSummaryRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SyncBaselineDetectSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncBaselineDetectSummaryResponseParams struct {
	// Processing progress
	ProgressRate *int64 `json:"ProgressRate,omitnil,omitempty" name:"ProgressRate"`

	// Total number of failed policies
	NotPassPolicyCount *int64 `json:"NotPassPolicyCount,omitnil,omitempty" name:"NotPassPolicyCount"`

	// Total number of hosts
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// 1: first scan about to start; 0: already scanned.
	WillFirstScan *int64 `json:"WillFirstScan,omitnil,omitempty" name:"WillFirstScan"`

	// ID of ongoing detection task
	DetectingTaskIds []*int64 `json:"DetectingTaskIds,omitnil,omitempty" name:"DetectingTaskIds"`

	// Remaining scanning time (minutes)
	LeftMins *int64 `json:"LeftMins,omitnil,omitempty" name:"LeftMins"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SyncBaselineDetectSummaryResponse struct {
	*tchttp.BaseResponse
	Response *SyncBaselineDetectSummaryResponseParams `json:"Response"`
}

func (r *SyncBaselineDetectSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncBaselineDetectSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncMachinesRequestParams struct {
	// Whether to synchronize
	Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"`
}

type SyncMachinesRequest struct {
	*tchttp.BaseRequest
	
	// Whether to synchronize
	Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"`
}

func (r *SyncMachinesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncMachinesRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Sync")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SyncMachinesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncMachinesResponseParams struct {
	// Enumeration values are (in uppercase): NOTASK (no synchronization task), SYNCING (synchronizing), and FINISHED (synchronization completed)
	State *string `json:"State,omitnil,omitempty" name:"State"`

	// Latest synchronization start time
	LatestStartTime *string `json:"LatestStartTime,omitnil,omitempty" name:"LatestStartTime"`

	// Latest synchronization end time
	LatestEndTime *string `json:"LatestEndTime,omitnil,omitempty" name:"LatestEndTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SyncMachinesResponse struct {
	*tchttp.BaseResponse
	Response *SyncMachinesResponseParams `json:"Response"`
}

func (r *SyncMachinesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncMachinesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type Tag struct {
	// Tag ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Tag name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Number of servers
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type TagMachine struct {
	// ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Host ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host private IP address
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host public IP address
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host region
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Host region type
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`
}

type Tags struct {
	// Tag key
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`

	// Tag value
	TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"`
}

type TaskStatus struct {
	// Scanning (including initializing)
	Scanning *string `json:"Scanning,omitnil,omitempty" name:"Scanning"`

	// Scan terminated (including terminating)
	Ok *string `json:"Ok,omitnil,omitempty" name:"Ok"`

	// Scan failed
	Fail *string `json:"Fail,omitnil,omitempty" name:"Fail"`

	// Scan failed, with specific reason displayed: scan timeout, low client version, or client offline.
	Stop *string `json:"Stop,omitnil,omitempty" name:"Stop"`
}

// Predefined struct for user
type TestWebHookRuleRequestParams struct {
	// Rule ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Test content
	Data *string `json:"Data,omitnil,omitempty" name:"Data"`
}

type TestWebHookRuleRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Test content
	Data *string `json:"Data,omitnil,omitempty" name:"Data"`
}

func (r *TestWebHookRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *TestWebHookRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Id")
	delete(f, "Data")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "TestWebHookRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type TestWebHookRuleResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type TestWebHookRuleResponse struct {
	*tchttp.BaseResponse
	Response *TestWebHookRuleResponseParams `json:"Response"`
}

func (r *TestWebHookRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *TestWebHookRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type TopInfo struct {
	// Top statistical data, such as IP, and vulnerability name
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`

	// Top statistical count
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`
}

// Predefined struct for user
type TrustMalwaresRequestParams struct {
	// Trojan ID array (The maximum number of IDs at one time is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type TrustMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Trojan ID array (The maximum number of IDs at one time is 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *TrustMalwaresRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *TrustMalwaresRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "TrustMalwaresRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type TrustMalwaresResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type TrustMalwaresResponse struct {
	*tchttp.BaseResponse
	Response *TrustMalwaresResponseParams `json:"Response"`
}

func (r *TrustMalwaresResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *TrustMalwaresResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UntrustMalwaresRequestParams struct {
	// Trojan ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type UntrustMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Trojan ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

func (r *UntrustMalwaresRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UntrustMalwaresRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Ids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UntrustMalwaresRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UntrustMalwaresResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UntrustMalwaresResponse struct {
	*tchttp.BaseResponse
	Response *UntrustMalwaresResponseParams `json:"Response"`
}

func (r *UntrustMalwaresResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UntrustMalwaresResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateBaselineStrategyRequestParams struct {
	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Detection period
	ScanCycle *uint64 `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Time when routine detection scans are triggered.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Array of baseline IDs selected under this policy
	CategoryIds []*string `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// Whether all servers are scanned: 1: yes; 0 :no. If the value is 1, all Professional Edition hosts are scanned.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// CVM type:
	// cvm: Tencent Cloud Virtual Machine
	// bm: bare metal
	// ecm: edge computing host
	// lh: Tencent Cloud Lighthouse
	// other: hybrid cloud machine
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Host region ap-guangzhou
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// Host ID array
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type UpdateBaselineStrategyRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Policy name
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Detection period
	ScanCycle *uint64 `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Time when routine detection scans are triggered.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Array of baseline IDs selected under this policy
	CategoryIds []*string `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// Whether all servers are scanned: 1: yes; 0 :no. If the value is 1, all Professional Edition hosts are scanned.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// CVM type:
	// cvm: Tencent Cloud Virtual Machine
	// bm: bare metal
	// ecm: edge computing host
	// lh: Tencent Cloud Lighthouse
	// other: hybrid cloud machine
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Host region ap-guangzhou
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// Host ID array
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

func (r *UpdateBaselineStrategyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateBaselineStrategyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "StrategyId")
	delete(f, "StrategyName")
	delete(f, "ScanCycle")
	delete(f, "ScanAt")
	delete(f, "CategoryIds")
	delete(f, "IsGlobal")
	delete(f, "MachineType")
	delete(f, "RegionCode")
	delete(f, "Quuids")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateBaselineStrategyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateBaselineStrategyResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateBaselineStrategyResponse struct {
	*tchttp.BaseResponse
	Response *UpdateBaselineStrategyResponseParams `json:"Response"`
}

func (r *UpdateBaselineStrategyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateBaselineStrategyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type UpdateHostLoginWhiteObj struct {
	// Region information array
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`

	// Source IP
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Username
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Data ID to be updated
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

// Predefined struct for user
type UpdateMachineTagsRequestParams struct {
	// Machine QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Tag ID. This operation will overwrite the existing Tag list.
	TagIds []*uint64 `json:"TagIds,omitnil,omitempty" name:"TagIds"`

	// Server region. For example, ap-guangzhou.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Server type (CVM|BM|ECM|LH|Other)
	MachineArea *string `json:"MachineArea,omitnil,omitempty" name:"MachineArea"`
}

type UpdateMachineTagsRequest struct {
	*tchttp.BaseRequest
	
	// Machine QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Tag ID. This operation will overwrite the existing Tag list.
	TagIds []*uint64 `json:"TagIds,omitnil,omitempty" name:"TagIds"`

	// Server region. For example, ap-guangzhou.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Server type (CVM|BM|ECM|LH|Other)
	MachineArea *string `json:"MachineArea,omitnil,omitempty" name:"MachineArea"`
}

func (r *UpdateMachineTagsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateMachineTagsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Quuid")
	delete(f, "TagIds")
	delete(f, "MachineRegion")
	delete(f, "MachineArea")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateMachineTagsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateMachineTagsResponseParams struct {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateMachineTagsResponse struct {
	*tchttp.BaseResponse
	Response *UpdateMachineTagsResponseParams `json:"Response"`
}

func (r *UpdateMachineTagsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateMachineTagsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type UsualPlace struct {
	// ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// CWPP client UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Country ID
	CountryId *uint64 `json:"CountryId,omitnil,omitempty" name:"CountryId"`

	// Province ID
	ProvinceId *uint64 `json:"ProvinceId,omitnil,omitempty" name:"ProvinceId"`

	// City ID
	CityId *uint64 `json:"CityId,omitnil,omitempty" name:"CityId"`
}

type UuidHostip struct {
	// Server ID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server IP address
	Hostip *string `json:"Hostip,omitnil,omitempty" name:"Hostip"`
}

type ValueInfo struct {
	// Field delimiter
	Tokenizer *string `json:"Tokenizer,omitnil,omitempty" name:"Tokenizer"`

	// Field type
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Whether the analysis feature is enabled for the field
	SqlFlag *bool `json:"SqlFlag,omitnil,omitempty" name:"SqlFlag"`

	// Whether Chinese characters are contained
	ContainZH *bool `json:"ContainZH,omitnil,omitempty" name:"ContainZH"`
}

type VersionWhiteConfig struct {
	// Number of days before expiration
	Deadline *uint64 `json:"Deadline,omitnil,omitempty" name:"Deadline"`

	// Number of authorizations
	LicenseNum *uint64 `json:"LicenseNum,omitnil,omitempty" name:"LicenseNum"`

	// Whether application can be made
	IsApplyFor *bool `json:"IsApplyFor,omitnil,omitempty" name:"IsApplyFor"`

	// Type
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`
}

type VertexDetail struct {
	// Node type. 1: process, 2: network, 3: file, 4: SSH.
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Time used by each node type, in the format of 2022-11-29 00:00:00.
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// Alarm information.
	AlarmInfo []*AlarmInfo `json:"AlarmInfo,omitnil,omitempty" name:"AlarmInfo"`

	// Process name. This parameter takes effect when this node is a process.
	ProcName *string `json:"ProcName,omitnil,omitempty" name:"ProcName"`

	// Command line. This parameter takes effect when this node is a process.
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Process ID. This parameter takes effect when this node is a process.
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// File MD5. This parameter takes effect when this node is a file.
	FileMd5 *string `json:"FileMd5,omitnil,omitempty" name:"FileMd5"`

	// File write content. This parameter takes effect when this node is a file.
	FileContent *string `json:"FileContent,omitnil,omitempty" name:"FileContent"`

	// File path. This parameter takes effect when this node is a file.
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// File creation time. This parameter takes effect when this node is a file.
	FileCreateTime *string `json:"FileCreateTime,omitnil,omitempty" name:"FileCreateTime"`

	// Request destination address. This parameter takes effect when this node is a network.
	Address *string `json:"Address,omitnil,omitempty" name:"Address"`

	// Target port. This parameter takes effect when this node is a network.
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Login source IP address. This parameter takes effect when this node is ssh.
	SrcIP *string `json:"SrcIP,omitnil,omitempty" name:"SrcIP"`

	// Login username and user group. This parameter takes effect when this node is ssh.
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Vulnerability name. This parameter takes effect when this node is a vulnerability.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Vulnerability exploitation time. This parameter takes effect when this node is a vulnerability.
	VulTime *string `json:"VulTime,omitnil,omitempty" name:"VulTime"`

	// HTTP request content. This parameter takes effect when this node is a vulnerability.
	HttpContent *string `json:"HttpContent,omitnil,omitempty" name:"HttpContent"`

	// Source IP address of the vulnerability exploiter. This parameter takes effect when this node is a vulnerability.
	VulSrcIP *string `json:"VulSrcIP,omitnil,omitempty" name:"VulSrcIP"`

	// Node ID.
	VertexId *string `json:"VertexId,omitnil,omitempty" name:"VertexId"`
}

type VertexInfo struct {
	// Node type: process: 1; network: 2; file: 3; ssh: 4;
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// VID contained in this node
	Vid *string `json:"Vid,omitnil,omitempty" name:"Vid"`

	// Parent node VID of this node
	ParentVid *string `json:"ParentVid,omitnil,omitempty" name:"ParentVid"`

	// Whether a leaf node
	IsLeaf *bool `json:"IsLeaf,omitnil,omitempty" name:"IsLeaf"`

	// Process name. This parameter is used when Type is 1.
	ProcNamePrefix *string `json:"ProcNamePrefix,omitnil,omitempty" name:"ProcNamePrefix"`

	// Process name MD5. This parameter is used when Type is 1.
	ProcNameMd5 *string `json:"ProcNameMd5,omitnil,omitempty" name:"ProcNameMd5"`

	// Command line. This parameter is used when Type is 1.
	CmdLinePrefix *string `json:"CmdLinePrefix,omitnil,omitempty" name:"CmdLinePrefix"`

	// Command line MD5. This parameter is used when Type is 1.
	CmdLineMd5 *string `json:"CmdLineMd5,omitnil,omitempty" name:"CmdLineMd5"`

	// File path. This parameter is used when Type is 3.
	FilePathPrefix *string `json:"FilePathPrefix,omitnil,omitempty" name:"FilePathPrefix"`

	// Request destination address. This parameter is used when Type is 2.
	AddressPrefix *string `json:"AddressPrefix,omitnil,omitempty" name:"AddressPrefix"`

	// Whether a vulnerability node
	IsWeDetect *bool `json:"IsWeDetect,omitnil,omitempty" name:"IsWeDetect"`

	// Whether an alarm node
	IsAlarm *bool `json:"IsAlarm,omitnil,omitempty" name:"IsAlarm"`

	// File path MD5. This parameter is used when Type is 3.
	FilePathMd5 *string `json:"FilePathMd5,omitnil,omitempty" name:"FilePathMd5"`

	// Request destination address MD5. This parameter is used when Type is 2.
	AddressMd5 *string `json:"AddressMd5,omitnil,omitempty" name:"AddressMd5"`
}

type VulDefenceEvent struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Vulnerability event ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP address
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// 0: Attack Attempt (WeDetect); 1: Successful Attack Attempt (WeDetect); 2: RASP Defense Event
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Attack source IP address
	SourceIp *string `json:"SourceIp,omitnil,omitempty" name:"SourceIp"`

	// City of the attack source IP address
	City *string `json:"City,omitnil,omitempty" name:"City"`

	// Attack source port
	SourcePort []*uint64 `json:"SourcePort,omitnil,omitempty" name:"SourcePort"`

	// Event Creation Time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update Event Time
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Number of Occurrences
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Status. 0: Pending; 1: Defended; 2: Processed; 3: Ignored; 4: Deleted
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// 0: Pro Edition; 1: Flagship Edition; 2: LH Light Edition (for Lighthouse only); 3: CVM Light Edition (for CVM only).
	UpgradeType *int64 `json:"UpgradeType,omitnil,omitempty" name:"UpgradeType"`

	// 0: do not support fixing; 1: support fixing.
	FixType *int64 `json:"FixType,omitnil,omitempty" name:"FixType"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type VulDefenceEventDetail struct {
	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Vulnerability Event ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP address
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// 0: Attack Attempt (WeDetect); 1: Successful Attack Attempt (WeDetect); 2: RASP Defense Event
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Attack source IP address
	SourceIp *string `json:"SourceIp,omitnil,omitempty" name:"SourceIp"`

	// City of the attack source IP address
	City *string `json:"City,omitnil,omitempty" name:"City"`

	// Attack source port
	SourcePort []*uint64 `json:"SourcePort,omitnil,omitempty" name:"SourcePort"`

	// Event Creation Time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update Event Time
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Number of Occurrences
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Status. 0: Pending; 1: Defended; 2: Processed; 3: Ignored; 4: Deleted
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// ONLINE OFFLINE
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Vulnerability Description Information
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Fixing suggestion
	Fix *string `json:"Fix,omitnil,omitempty" name:"Fix"`

	// Attack Payload
	NetworkPayload *string `json:"NetworkPayload,omitnil,omitempty" name:"NetworkPayload"`

	// Associated Process PID
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Associated Process Main Class Name
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// Stack Information (Unique for RASP)
	StackTrace *string `json:"StackTrace,omitnil,omitempty" name:"StackTrace"`

	// Vulnerability ID-Related Event Details (JSON array format, unique to RASP)
	EventDetail *string `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

	// Host Compromise Event Process Tree (JSON format, unique to WeDetect)
	ExceptionPstree *string `json:"ExceptionPstree,omitnil,omitempty" name:"ExceptionPstree"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type VulDefenceOverview struct {
	// Defense switch: 0 - disable; 1 - enable
	Enable *int64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Number of hosts with defense enabled
	DefendHostCount *int64 `json:"DefendHostCount,omitnil,omitempty" name:"DefendHostCount"`

	// Number of plugin exceptions
	ExceptionCount *int64 `json:"ExceptionCount,omitnil,omitempty" name:"ExceptionCount"`

	// Daily attack trend
	AttackCounts []*int64 `json:"AttackCounts,omitnil,omitempty" name:"AttackCounts"`

	// Daily defense trends
	DefendCounts []*int64 `json:"DefendCounts,omitnil,omitempty" name:"DefendCounts"`

	// Date
	Date []*string `json:"Date,omitnil,omitempty" name:"Date"`
}

type VulDefencePluginDetail struct {
	// ID of the injected process
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Main class name of the injected process
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// Plugin status. 0: injecting; 1: injection successful; 2: plugin timed out, 3: plugin exited; 4: injection failed; 5: logically deleted.
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Error log
	ErrorLog *string `json:"ErrorLog,omitnil,omitempty" name:"ErrorLog"`

	// Injection log
	InjectLog *string `json:"InjectLog,omitnil,omitempty" name:"InjectLog"`
}

type VulDefencePluginStatus struct {
	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Private IP address
	PrivateIp *string `json:"PrivateIp,omitnil,omitempty" name:"PrivateIp"`

	// Public IP address
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Plugin status: 0 - normal; 1 - abnormal
	Exception *int64 `json:"Exception,omitnil,omitempty" name:"Exception"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

type VulDefenceRangeDetail struct {
	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Tag
	Label *string `json:"Label,omitnil,omitempty" name:"Label"`

	// Vulnerability level. 1: low-risk; 2: medium-risk; 3: high-risk; 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// CVSS score
	CvssScore *float64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// cve id
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Release time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Vulnerability ID
	VulId *int64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Status. 0: defending; 1: allowlisted. It indicates that the vulnerability is included in an allowlist, which may not be a global allowlist.
	Status *int64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type VulDefenceSetting struct {
	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// System policy
	// Create a custom policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyType *uint64 `json:"StrategyType,omitnil,omitempty" name:"StrategyType"`

	// Threat level
	// Note: This field may return null, indicating that no valid values can be obtained.
	ThreatLevel *uint64 `json:"ThreatLevel,omitnil,omitempty" name:"ThreatLevel"`

	// All Flagship Edition Hosts
	// Specified hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Number of supported vulnerabilities.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SupportVulNum *uint64 `json:"SupportVulNum,omitnil,omitempty" name:"SupportVulNum"`

	// 0: disabled, 1: enabled.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Enable *uint64 `json:"Enable,omitnil,omitempty" name:"Enable"`

	// User appid.
	// Note: This field may return null, indicating that no valid values can be obtained.
	AppId *uint64 `json:"AppId,omitnil,omitempty" name:"AppId"`

	// User's member ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemberId *string `json:"MemberId,omitnil,omitempty" name:"MemberId"`

	// Policy action
	// Alarm
	// 1. Defense
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyAction *uint64 `json:"StrategyAction,omitnil,omitempty" name:"StrategyAction"`

	// User UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"`

	// User Nickname
	// Note: This field may return null, indicating that no valid values can be obtained.
	Nickname *string `json:"Nickname,omitnil,omitempty" name:"Nickname"`

	// Protection type
	// Vulnerability defense
	// Attack detection
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceType *uint64 `json:"DefenceType,omitnil,omitempty" name:"DefenceType"`

	// Number of custom hosts.
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceNum *uint64 `json:"InstanceNum,omitnil,omitempty" name:"InstanceNum"`

	// Policy ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyId *string `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`
}

type VulDetailInfo struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// 1: web-cms vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities; 0: emergency vulnerabilities
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Vulnerability description
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// Fixing suggestion
	Fix *string `json:"Fix,omitnil,omitempty" name:"Fix"`

	// Reference link
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// CVSS score
	CvssScore *float64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// CVSS details
	Cvss *string `json:"Cvss,omitnil,omitempty" name:"Cvss"`

	// Release time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`
}

type VulEffectHostList struct {
	// Event ID
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Status: 0 - pending processing; 1 - ignored; 3 - fixed; 5 - detecting; 6 - in remediation; 7 - rolling back; 8 - fix failed.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Last detection time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host alias
	AliasName *string `json:"AliasName,omitnil,omitempty" name:"AliasName"`

	// Host tag
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Version information: 0-Basic version, 1-Pro edition, 2-Flagship edition, 3-Lightweight edition
	HostVersion *uint64 `json:"HostVersion,omitnil,omitempty" name:"HostVersion"`

	// Whether automatic fixing is supported 0: Cannot be automatically repaired, 1: Can be automatically repaired, 2: Client offline, 3: Host can only be manually repaired if not flagship, 4: Not supported for this model, 5: In remediation, 6: Fixed, 7: In-progress detection, 9: Fix failed, 10: Ignored, 11: Vulnerability supported only on linux, not Windows, 12: Vulnerability supported only on Windows, not on linux, 13: Fixing failed but host is offline, 14: Fixing failed but host is not flagship, 15: Manually fixed
	IsSupportAutoFix *uint64 `json:"IsSupportAutoFix,omitnil,omitempty" name:"IsSupportAutoFix"`

	// Reason for failure
	FixStatusMsg *string `json:"FixStatusMsg,omitnil,omitempty" name:"FixStatusMsg"`

	// First detection time
	FirstDiscoveryTime *string `json:"FirstDiscoveryTime,omitnil,omitempty" name:"FirstDiscoveryTime"`

	// Instance status: "PENDING" - creating, "LAUNCH_FAILED" - creation failed, "RUNNING" - running, "STOPPED" - shutdown, "STARTING" - starting, "STOPPING" - indicates shutdown in progress, "REBOOTING" - restarting, "SHUTDOWN" - indicate shutdown and pending termination, "TERMINATING" - indicates terminating in progress.
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// Public IP address
	PublicIpAddresses *string `json:"PublicIpAddresses,omitnil,omitempty" name:"PublicIpAddresses"`

	// Cloud Tag Information
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Host Additional Information
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Host type
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Availability zone ID.
	RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"`

	// Whether to create a snapshot for the fix task: 0: not created; other: created.
	HasSnapshot *uint64 `json:"HasSnapshot,omitnil,omitempty" name:"HasSnapshot"`

	// Last repair time
	LatestFixTime *string `json:"LatestFixTime,omitnil,omitempty" name:"LatestFixTime"`

	// Description
	DescriptionEn *string `json:"DescriptionEn,omitnil,omitempty" name:"DescriptionEn"`
}

type VulEffectModuleInfo struct {
	// Component name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Affected host uuid
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// Affected component version
	Rule *string `json:"Rule,omitnil,omitempty" name:"Rule"`

	// Component path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Component version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Fix Command
	FixCmd *string `json:"FixCmd,omitnil,omitempty" name:"FixCmd"`

	// Affected host quuid
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`
}

type VulEmergentMsgInfo struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability disclosure time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability name, English description
	NameEn *string `json:"NameEn,omitnil,omitempty" name:"NameEn"`

	// Is auto-repair supported 0: not supported >0: supported
	SupportFix *int64 `json:"SupportFix,omitnil,omitempty" name:"SupportFix"`

	// Whether automatic defense is supported 0: no support 1: support
	SupportDefense *int64 `json:"SupportDefense,omitnil,omitempty" name:"SupportDefense"`

	// KB ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// KB number
	KbNumber *string `json:"KbNumber,omitnil,omitempty" name:"KbNumber"`
}

type VulFixStatusHostInfo struct {
	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Status. 0: initial status; 1: task issued (fixing); 2: completed (successful); 3: fixing failed (failed); 4: fixing failed due to snapshot creation failure (unfixed).
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Fixing time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Fix failure cause
	FailReason *string `json:"FailReason,omitnil,omitempty" name:"FailReason"`
}

type VulFixStatusInfo struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Vulnerability fixing progress: 1-100;
	Progress *uint64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Vulnerability fixing status for corresponding hosts
	HostList []*VulFixStatusHostInfo `json:"HostList,omitnil,omitempty" name:"HostList"`

	// Number of hosts with failed vulnerability fixing
	FailCnt *uint64 `json:"FailCnt,omitnil,omitempty" name:"FailCnt"`

	// Number of successful repairs
	FixSuccessCnt *uint64 `json:"FixSuccessCnt,omitnil,omitempty" name:"FixSuccessCnt"`

	// Repair method. 0: Update components or install patches. 1: Disable service.
	FixMethod *uint64 `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`

	// kb ID
	KbId *uint64 `json:"KbId,omitnil,omitempty" name:"KbId"`

	// kb number
	KbNumber *string `json:"KbNumber,omitnil,omitempty" name:"KbNumber"`

	// kb name
	KbName *string `json:"KbName,omitnil,omitempty" name:"KbName"`

	// Pre kb list
	PreKbList []*string `json:"PreKbList,omitnil,omitempty" name:"PreKbList"`
}

type VulFixStatusSnapshotInfo struct {
	// cvm id
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Snapshot name
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// Snapshot creation time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Snapshot ID
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Unique record ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Snapshot status. 0: initial; 1: created successfully; 2: creation failed; 10: unsupported; 11: no need to create.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Snapshot creation failure reason
	FailReason *string `json:"FailReason,omitnil,omitempty" name:"FailReason"`

	// Host type
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`
}

type VulHostTopInfo struct {
	// host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Vulnerability level and quantity statistics list
	VulLevelList []*VulLevelCountInfo `json:"VulLevelList,omitnil,omitempty" name:"VulLevelList"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// top rating
	Score *uint64 `json:"Score,omitnil,omitempty" name:"Score"`
}

type VulInfoByCveId struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Fixing support status: 0 - not support fixing for Windows and Linux; 1 - support fixing for both Windows and Linux; 2 - support fixing for Linux only; 3 - support fixing for Windows only.
	FixSwitch *uint64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`
}

type VulInfoHostInfo struct {
	// host name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP address
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host tag
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Host QUUID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// 0: Vulnerability cannot be automatically repaired, 1: Can be automatically repaired, 2: Client offline, 3: Manual fixing supported for non-flagship hosts, 4: Not supported for this model, 5: In remediation, 6: Fixed, 7: Detecting, 9: Fix failed, 10: Ignored, 11: Vulnerability supported only on linux, not Windows, 12: Vulnerability supported only on Windows, not linux.
	IsSupportAutoFix *uint64 `json:"IsSupportAutoFix,omitnil,omitempty" name:"IsSupportAutoFix"`

	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host instance ID.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Host type
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// agent online status; 0 for offline, 1 for online.
	AgentStatus *uint64 `json:"AgentStatus,omitnil,omitempty" name:"AgentStatus"`
}

type VulInfoList struct {
	// IDs of events corresponding to a vulnerability, separated by commas (,)
	Ids *string `json:"Ids,omitnil,omitempty" name:"Ids"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// 0: pending; 1: ignored; 3: fixed; 5: detecting; 6: fixing; 8: fixing failed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability disclosure time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

	// Last detection time
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Number of affected hosts
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Vulnerability level. 1: low-risk; 2: medium-risk; 3: high-risk; 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Obsolete
	From *uint64 `json:"From,omitnil,omitempty" name:"From"`

	// Description
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// Obsolete
	PublishTimeWisteria *string `json:"PublishTimeWisteria,omitnil,omitempty" name:"PublishTimeWisteria"`

	// Obsolete
	NameWisteria *string `json:"NameWisteria,omitnil,omitempty" name:"NameWisteria"`

	// Obsolete
	DescriptWisteria *string `json:"DescriptWisteria,omitnil,omitempty" name:"DescriptWisteria"`

	// Event status after aggregation
	StatusStr *string `json:"StatusStr,omitnil,omitempty" name:"StatusStr"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// CVSS score
	CvssScore *float64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// Vulnerability Tags, Separated by Multiple Commas
	// 
	// EXP exists
	// Wild Attacks: KNOWN_EXPLOITED
	// LOCAL: Local use
	// Mandatory vulnerabilities: NEED_FIX
	// RemoteExploit:NETWORK
	// POC exists: POC
	// System RESTART
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Whether automatic fixing is supported and hosts that support automatic fixing, 0=No 1=Yes
	FixSwitch *uint64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`

	// id of the last scan task
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Support defense, 0: no support 1: support
	IsSupportDefense *uint64 `json:"IsSupportDefense,omitnil,omitempty" name:"IsSupportDefense"`

	// Number of Attacks Defended
	DefenseAttackCount *uint64 `json:"DefenseAttackCount,omitnil,omitempty" name:"DefenseAttackCount"`

	// first occurrence time
	FirstAppearTime *string `json:"FirstAppearTime,omitnil,omitempty" name:"FirstAppearTime"`

	// Vulnerability Category 1: web-cms Vulnerability 2: Application Vulnerability 4: Linux Software Vulnerability 5: Windows System Vulnerability
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Attack intensity level.
	AttackLevel *uint64 `json:"AttackLevel,omitnil,omitempty" name:"AttackLevel"`

	// Whether a restart is required after vulnerability repair.
	FixNoNeedRestart *bool `json:"FixNoNeedRestart,omitnil,omitempty" name:"FixNoNeedRestart"`

	// Detection method. 0: version comparison, 1: POC verification.
	Method *uint64 `json:"Method,omitnil,omitempty" name:"Method"`

	// Whether vulnerability fixing is supported. 0: not supported; 1: supported.
	VulFixSwitch *uint64 `json:"VulFixSwitch,omitnil,omitempty" name:"VulFixSwitch"`

	// Latest remediation time
	LatestFixTime *string `json:"LatestFixTime,omitnil,omitempty" name:"LatestFixTime"`

	// Number of application protection activations for machines with vulnerability correspondence
	RaspOpenNodeCount *int64 `json:"RaspOpenNodeCount,omitnil,omitempty" name:"RaspOpenNodeCount"`

	// Number of application protection deactivations for machines with vulnerability correspondence
	RaspClosedNodeCount *int64 `json:"RaspClosedNodeCount,omitnil,omitempty" name:"RaspClosedNodeCount"`
}

type VulLevelCountInfo struct {
	// Vulnerability level
	VulLevel *uint64 `json:"VulLevel,omitnil,omitempty" name:"VulLevel"`

	// Number of vulnerabilities
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`
}

type VulLevelInfo struct {
	// // Severity level: 1 - low-risk; 2 - medium-risk; 3 - high-risk; 4 - critical
	VulLevel *uint64 `json:"VulLevel,omitnil,omitempty" name:"VulLevel"`

	// Quantity
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type VulOverview struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Number of new key-value pairs today
	TodayCount *int64 `json:"TodayCount,omitnil,omitempty" name:"TodayCount"`
}

type VulStoreListInfo struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// CVE ID
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// 1: web-cms vulnerabilities; 2: application vulnerabilities; 4: Linux software vulnerabilities; 5: Windows system vulnerabilities; 0: emergency vulnerabilities.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Release time
	PublishDate *string `json:"PublishDate,omitnil,omitempty" name:"PublishDate"`

	// Vulnerability Detection Method: 0 - Version Comparison, 1 - POC Verification
	Method *uint64 `json:"Method,omitnil,omitempty" name:"Method"`

	// Vulnerability attack level
	AttackLevel *uint64 `json:"AttackLevel,omitnil,omitempty" name:"AttackLevel"`

	// Whether automatic vulnerability fixing is supported
	// 0 - Windows/Linux both off; 1 - Windows/Linux both on; 2 - Linux only; 3 - Windows only
	FixSwitch *uint64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`

	// Whether defense against vulnerabilities is supported
	// 0: not supported; 1: supported.
	SupportDefense *uint64 `json:"SupportDefense,omitnil,omitempty" name:"SupportDefense"`
}

type VulTopInfo struct {
	// Vulnerability name.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	VulLevel *uint64 `json:"VulLevel,omitnil,omitempty" name:"VulLevel"`

	// Number of vulnerabilities
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`
}

type WarningInfoObj struct {
	// Event alarm type. 1: offline; 2: Trojan; 3: abnormal log-in; 4: brute force cracking; 5: vulnerability (including types of values 9, 10, 11, and 12); 6: high-risk command; 7: reverse shell; 8: local privilege escalation; 9: application vulnerability; 10: web CMS vulnerability; 11: emergency vulnerability; 12: security baseline; 13: tampering prevention; 14: malicious request; 15: network attack; 16: Windows system vulnerability; 17: Linux software vulnerability; 18: core file monitoring; 19: client uninstallation; 20: client offline.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// 1: disable alarm; 0: enable alarm
	DisablePhoneWarning *uint64 `json:"DisablePhoneWarning,omitnil,omitempty" name:"DisablePhoneWarning"`

	// Start time. Format: HH:mm.
	BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"`

	// End time. Format: HH:mm.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Time zone information
	TimeZone *string `json:"TimeZone,omitnil,omitempty" name:"TimeZone"`

	// Vulnerability level control bit (corresponding to the decimal storage in the database)
	ControlBit *uint64 `json:"ControlBit,omitnil,omitempty" name:"ControlBit"`

	// Vulnerability level control bits in binary. Each bit indicates the enabling status of the corresponding vulnerability level on the page: low, medium, and high (0: disabled; 1: enabled). For example, 101 indicates that both low and high levels are enabled.
	ControlBits *string `json:"ControlBits,omitnil,omitempty" name:"ControlBits"`

	// Alarm Host Range Type. 0: All Hosts; 1: By Project; 2: By Tencent Cloud Tag; 3: By Host Security Tag; 4: Custom Hosts
	HostRange *int64 `json:"HostRange,omitnil,omitempty" name:"HostRange"`

	// Configured Number of Hosts in the Range of Alarm, used by the frontend to decide when to display prompt information.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type WarningObject struct {
	// Event alarm type: 1: offline, 2: Trojan, 3: abnormal login, 4: crack, 5: vulnerability (split into four types 9-12), 6: high-risk command, 7: rebound shell, 8: local privilege escalation, 9: system component vulnerability, 10: web application vulnerability, 11: emergency vulnerability, 12: security baseline, 14: malicious request, 15: network attack, 16: Windows system vulnerability, 17: Linux software vulnerability.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// 1: disable alarm; 0: enable alarm.
	DisablePhoneWarning *uint64 `json:"DisablePhoneWarning,omitnil,omitempty" name:"DisablePhoneWarning"`

	// Start time. Format: HH:mm.
	BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"`

	// End time. Format: HH:mm.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// 1. Vulnerability level control bits in binary. Each bit corresponds to the vulnerability level enabling status on the corresponding page. Level: low, medium, high (0: disabled; 1: enabled). Example: 101, indicating both the low and high levels are enabled. 2. Brute force cracking control bits in binary. 01: notify upon successful brute force cracking; 10: notify upon brute force cracking failure.
	ControlBits *string `json:"ControlBits,omitnil,omitempty" name:"ControlBits"`

	// Alarm Host Range Type. 0: All Hosts; 1: By Project; 2: By Tencent Cloud Tag; 3: By Host Security Tag; 4: Custom Hosts
	HostRange *int64 `json:"HostRange,omitnil,omitempty" name:"HostRange"`

	// Unit.
	Unit *string `json:"Unit,omitnil,omitempty" name:"Unit"`
}

type WebHookCustomField struct {
	// key
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// value
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}

type WebHookEventKv struct {
	// Event type
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Event content
	ControlBit *string `json:"ControlBit,omitnil,omitempty" name:"ControlBit"`
}

type WebHookHostLabel struct {
	// Host Range [1: Project |2: Tencent Cloud Tag | 3: Host Security Tag | 4: Optional] Empty array means all.
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Host Project or Tag Content
	Values []*string `json:"Values,omitnil,omitempty" name:"Values"`
}

type WebHookPolicy struct {
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Event type
	Events []*WebHookEventKv `json:"Events,omitnil,omitempty" name:"Events"`

	// Host scope
	HostLabels []*WebHookHostLabel `json:"HostLabels,omitnil,omitempty" name:"HostLabels"`

	// Recipient
	Receivers []*WebHookReceiver `json:"Receivers,omitnil,omitempty" name:"Receivers"`

	// Format. 0: text; 1: JSON.
	Format *int64 `json:"Format,omitnil,omitempty" name:"Format"`

	// Custom passthrough field
	CustomFields []*WebHookCustomField `json:"CustomFields,omitnil,omitempty" name:"CustomFields"`

	// Whether it is disabled [1: disabled|0: enabled]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`

	// List of hosts
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Number of hosts
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// List of machines to be excluded.
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`

	// Push language type, Chinese zh, English en	
	MsgLanguage *string `json:"MsgLanguage,omitnil,omitempty" name:"MsgLanguage"`
}

type WebHookReceiver struct {
	// id
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Receiver name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// webhook URL
	Addr *string `json:"Addr,omitnil,omitempty" name:"Addr"`

	// Type
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// target region
	SCFRegion *string `json:"SCFRegion,omitnil,omitempty" name:"SCFRegion"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// function name
	FunctionName *string `json:"FunctionName,omitnil,omitempty" name:"FunctionName"`

	// Version
	FunctionVersion *string `json:"FunctionVersion,omitnil,omitempty" name:"FunctionVersion"`

	// Alias
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`
}

type WebHookReceiverUsage struct {
	// Recipient ID.
	ReceiverId *int64 `json:"ReceiverId,omitnil,omitempty" name:"ReceiverId"`

	// Receiver name
	ReceiverName *string `json:"ReceiverName,omitnil,omitempty" name:"ReceiverName"`

	// Policy name
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`
}

type WebHookRuleDetail struct {
	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Chatbot address
	HookAddr *string `json:"HookAddr,omitnil,omitempty" name:"HookAddr"`

	// Event type
	RuleItems []*WebHookEventKv `json:"RuleItems,omitnil,omitempty" name:"RuleItems"`

	// Rule ID
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Remarks
	RuleRemark *string `json:"RuleRemark,omitnil,omitempty" name:"RuleRemark"`

	// Host scope
	HostLabels []*WebHookHostLabel `json:"HostLabels,omitnil,omitempty" name:"HostLabels"`

	// Host ID List
	HostIds []*string `json:"HostIds,omitnil,omitempty" name:"HostIds"`

	// Whether it is disabled [1: disabled|0: enabled]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`
}

type WebHookRuleSummary struct {
	// Rule ID
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Robot Address
	HookAddr *string `json:"HookAddr,omitnil,omitempty" name:"HookAddr"`

	// Remarks
	RuleRemark *string `json:"RuleRemark,omitnil,omitempty" name:"RuleRemark"`

	// Event type
	RuleItems []*WebHookEventKv `json:"RuleItems,omitnil,omitempty" name:"RuleItems"`

	// Host range
	HostLabels []*WebHookHostLabel `json:"HostLabels,omitnil,omitempty" name:"HostLabels"`

	// Enable/Disable [1-Disable, 0-Enable]
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Number of hosts
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`
}

type YDRaspBlackWhiteListItem struct {
	// Rule ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Logical operator. 0: 5 valid regular expression logical ANDs; 1: logical OR.
	LogicalSymbol *uint64 `json:"LogicalSymbol,omitnil,omitempty" name:"LogicalSymbol"`

	// Class name regular expression, which is not matched if empty.
	ClassNameRegexp *string `json:"ClassNameRegexp,omitnil,omitempty" name:"ClassNameRegexp"`

	// Parent class name regular expression, which is not matched if empty.
	SuperClassNameRegexp *string `json:"SuperClassNameRegexp,omitnil,omitempty" name:"SuperClassNameRegexp"`

	// Inherited interface regular expression, which is not matched if empty.
	InterfacesRegexp *string `json:"InterfacesRegexp,omitnil,omitempty" name:"InterfacesRegexp"`

	// Annotation regular expression, which is not matched if empty.
	AnnotationsRegexp *string `json:"AnnotationsRegexp,omitnil,omitempty" name:"AnnotationsRegexp"`

	// Associated class loader regular expression, which is not matched if empty.
	LoaderClassNameRegexp *string `json:"LoaderClassNameRegexp,omitnil,omitempty" name:"LoaderClassNameRegexp"`

	// Allowlist type, rasp: vulnerability defense, memshell_scan: Java Webshell scan, memshell_inject: memory shell injection
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`

	// Status (0: valid, 1: deleted, 2: invalid (enabling switch off)).
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Java Webshell scan usage, process historical events, 0: do not process 1: process
	HandleHistory *uint64 `json:"HandleHistory,omitnil,omitempty" name:"HandleHistory"`

	// rasp and memory shell injection usage, match content, POC, can be a regular expression (MatchMode=5) or a string.
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// rasp and memory shell injection usage, attack source ip, leave unset for all sources, multiple allowed, can have ip ranges, such as: 192.168.57.1/24;172.17.0.1
	IP *string `json:"IP,omitnil,omitempty" name:"IP"`

	// Rule name
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// rasp and memory shell injection usage, allowlisting method, 0: malicious feature allowlisting, 1: request URL allowlisting
	FilterType *int64 `json:"FilterType,omitnil,omitempty" name:"FilterType"`

	// RASP and memory shell injection usage, attack type, vul.rasp_attacktype_mapping attack_type_id field
	AttackType *int64 `json:"AttackType,omitnil,omitempty" name:"AttackType"`

	// rasp and memory shell injection usage, match mode, 0: exact match, 1: prefix match, 2: suffix matching, 4: arbitrary matching, 5: partial matching, 6: regular expression matching.
	MatchMode *int64 `json:"MatchMode,omitnil,omitempty" name:"MatchMode"`

	// Effective asset type. 0: Host disabled. 1: Host enabled.
	CWPEffective *int64 `json:"CWPEffective,omitnil,omitempty" name:"CWPEffective"`

	// 0: a set of quuid 1: ALL the Real Server with host authorization
	CWPScope *int64 `json:"CWPScope,omitnil,omitempty" name:"CWPScope"`

	// Designate the effective host machine
	CWPQuuids []*string `json:"CWPQuuids,omitnil,omitempty" name:"CWPQuuids"`

	// Effective asset type. 0: Container disabled. 1: Container enabled.
	TCSSEffective *int64 `json:"TCSSEffective,omitnil,omitempty" name:"TCSSEffective"`

	// 0: a set of quuid 1: ALL the node with container authorization
	TCSSScope *int64 `json:"TCSSScope,omitnil,omitempty" name:"TCSSScope"`

	// Designate the container node to take effect
	TCSSQuuids []*string `json:"TCSSQuuids,omitnil,omitempty" name:"TCSSQuuids"`

	// Effective asset type. 0: Super node disabled. 1: Super node enabled.
	EksEffective *int64 `json:"EksEffective,omitnil,omitempty" name:"EksEffective"`

	// 0: a set of quuid 1: ALL the super node with container authorization
	EksScope *int64 `json:"EksScope,omitnil,omitempty" name:"EksScope"`

	// Designate the super node where the container takes effect
	EksNodeUniqueID []*string `json:"EksNodeUniqueID,omitnil,omitempty" name:"EksNodeUniqueID"`

	// Application asset. If global, all hosts. Otherwise, the number of selected host servers.
	CWPMachinesNums *string `json:"CWPMachinesNums,omitnil,omitempty" name:"CWPMachinesNums"`

	// Application asset. If global, all containers host nodes. Otherwise, select the number of host nodes.
	TCSSMachinesNums *string `json:"TCSSMachinesNums,omitnil,omitempty" name:"TCSSMachinesNums"`

	// Application asset. If global, all super nodes. Otherwise, select the number of nodes.
	EksMachinesNums *string `json:"EksMachinesNums,omitnil,omitempty" name:"EksMachinesNums"`
}

type ZoneInfo struct {
	// Availability zone name
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}