// 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 {
	// Cross-region log-in allowlist entity
	HostLoginWhiteObj *HostLoginWhiteObj `json:"HostLoginWhiteObj,omitnil,omitempty" name:"HostLoginWhiteObj"`

	// Synchronous event processing method:
	// "": do not process"All": add all events that match this configuration to the allowlist"Id": add the event corresponding to the event ID to the allowlist
	ProcessType *string `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`

	// Cross-region log-in event ID. This parameter is required when ProcessType is set to Id.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type AddLoginWhiteListsRequest struct {
	*tchttp.BaseRequest
	
	// Cross-region log-in allowlist entity
	HostLoginWhiteObj *HostLoginWhiteObj `json:"HostLoginWhiteObj,omitnil,omitempty" name:"HostLoginWhiteObj"`

	// Synchronous event processing method:
	// "": do not process"All": add all events that match this configuration to the allowlist"Id": add the event corresponding to the event ID to the allowlist
	ProcessType *string `json:"ProcessType,omitnil,omitempty" name:"ProcessType"`

	// Cross-region log-in event ID. This parameter is required when ProcessType is set to Id.
	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 {
	// Prompt list of duplicate addition
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether the web service is newly added [0: no|1: yes]
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Params []*AssetCoreModuleParam `json:"Params,omitnil,omitempty" name:"Params"`

	// Data update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Process []*AssetAppProcessInfo `json:"Process,omitnil,omitempty" name:"Process"`

	// Jar package Md5
	// Note: This field may return null, indicating that no valid values can be obtained.
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Data update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Number of additions today
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Data update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// CPU load readings (only valid for Linux systems)
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 Edition; 1 Professional Edition; 2 Premium Edition; 3 General Discount 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	OfflineTime *string `json:"OfflineTime,omitnil,omitempty" name:"OfflineTime"`

	// Host ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Data 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 Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// CpuLoadVul
	// Note: This field may return null, indicating that no valid values can be obtained.
	CpuLoadVul *string `json:"CpuLoadVul,omitnil,omitempty" name:"CpuLoadVul"`

	// Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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: no; 1: yes; 999: null (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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// 
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 (Windows only)
	UserType *uint64 `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Whether a domain account. 0: no; 1: yes; 2: no; 999: null (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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 (Windows only).
	UserType *uint64 `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Whether the account is a domain account. 0: no; 1: yes; 999: null (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 listNote: This field may return null, indicating that no valid values can be obtained.
	Keys []*AssetUserKeyInfo `json:"Keys,omitnil,omitempty" name:"Keys"`

	// Data update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

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

	// Whether the web service is newly added [0 - no|1 - yes]
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsNew *int64 `json:"IsNew,omitnil,omitempty" name:"IsNew"`

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type AttackSource struct {
	// Attack backtracking node description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Nodes []*AttackSourceNode `json:"Nodes,omitnil,omitempty" name:"Nodes"`

	// Attack backtracking node path
	// Note: This field may return null, indicating that no valid values can be obtained.
	Edges []*AttackSourceEdge `json:"Edges,omitnil,omitempty" name:"Edges"`

	// Parameters for requesting details on node-related events
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventInfoParam *string `json:"EventInfoParam,omitnil,omitempty" name:"EventInfoParam"`
}

type AttackSourceEdge struct {
	// Starting node
	From *string `json:"From,omitnil,omitempty" name:"From"`

	// Target node
	To *string `json:"To,omitnil,omitempty" name:"To"`
}

type AttackSourceEvent struct {
	// Event type. 0: virus scanning; 1: abnormal log-in; 2: password cracking; 3: malicious request; 4: high-risk command.
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// [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
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Intrusion time
	CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"`

	// Unified event risk level. 0: prompt; 1: low; 2: medium; 3: high; 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Risk level string 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 AttackSourceNode struct {
	// Event ID. If this parameter is left blank, no corresponding event exists.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// BRUTEFORCE: password cracking; MALWARE: Trojan; BASH: high-risk command; RISK_DNS: malicious request; LOGIN: cross-region log-in; HOST: host node; TIME_ORDER: general node.
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Node IP address. When the node is HOST, the value is the IP address of this node.
	Ip *string `json:"Ip,omitnil,omitempty" name:"Ip"`

	// Level. 0: prompt; 1: low-risk; 2: medium-risk; 3: high-risk; 4: critical.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Node ID
	NodeId *string `json:"NodeId,omitnil,omitempty" name:"NodeId"`

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

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// General node description
	NodeDesc *string `json:"NodeDesc,omitnil,omitempty" name:"NodeDesc"`

	// Timeline number. Nodes with the same number belong to the same timeline.
	TimeLineNum *uint64 `json:"TimeLineNum,omitnil,omitempty" name:"TimeLineNum"`

	// Node details
	NodeDetail *string `json:"NodeDetail,omitnil,omitempty" name:"NodeDetail"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Whether the allowlist is global
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Machine list associated with the allowlist
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Baseline ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	BaselineId *uint64 `json:"BaselineId,omitnil,omitempty" name:"BaselineId"`

	// Parent ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ParentId *uint64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`
}

type BaselineCustomRuleIdName struct {
	// Custom rule ID　
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Custom Rule Name
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

type BaselineDetail struct {
	// Baseline description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Severity level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Package name
	// Note: This field may return null, indicating that no valid values can be obtained.
	PackageName *string `json:"PackageName,omitnil,omitempty" name:"PackageName"`

	// Parent ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ParentId *uint64 `json:"ParentId,omitnil,omitempty" name:"ParentId"`

	// Baseline name
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 item
	// Note: This field may return null, indicating that no valid values can be obtained.
	PassCount *uint64 `json:"PassCount,omitnil,omitempty" name:"PassCount"`

	// Risky item
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailCount *uint64 `json:"FailCount,omitnil,omitempty" name:"FailCount"`

	// First check time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FirstScanTime *string `json:"FirstScanTime,omitnil,omitempty" name:"FirstScanTime"`

	// Last check time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Risky item processing status. 0: failed; 1: passed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host alias
	// Note: This field may return null, indicating that no valid values can be obtained.
	AliasName *string `json:"AliasName,omitnil,omitempty" name:"AliasName"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Check status
	// Note: This field may return null, indicating that no valid values can be obtained.
	MaxStatus *uint64 `json:"MaxStatus,omitnil,omitempty" name:"MaxStatus"`
}

type BaselineEventLevelInfo struct {
	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventLevel *uint64 `json:"EventLevel,omitnil,omitempty" name:"EventLevel"`

	// Number of vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`
}

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

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostTag *string `json:"HostTag,omitnil,omitempty" name:"HostTag"`

	// Private IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// Host Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// CWPP UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BaselineHostTopList struct {
	// List of event levels and occurrences
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventLevelList []*BaselineEventLevelInfo `json:"EventLevelList,omitnil,omitempty" name:"EventLevelList"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Score for calculating weight
	// Note: This field may return null, indicating that no valid values can be obtained.
	Score *uint64 `json:"Score,omitnil,omitempty" name:"Score"`
}

type BaselineInfo struct {
	// Baseline name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Number of check items
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleCount *uint64 `json:"RuleCount,omitnil,omitempty" name:"RuleCount"`

	// Number of affected servers
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Pass status. 0: passed; 1: failed.Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Baseline ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CategoryId *uint64 `json:"CategoryId,omitnil,omitempty" name:"CategoryId"`

	// Last check time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// 5: checking
	// Note: This field may return null, indicating that no valid values can be obtained.
	MaxStatus *uint64 `json:"MaxStatus,omitnil,omitempty" name:"MaxStatus"`

	// Baseline check items with risks
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectResultDesc *string `json:"DetectResultDesc,omitnil,omitempty" name:"DetectResultDesc"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *int64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Detection Status. 0: Failed; 1: Ignored; 3: Passed; 5: Under detection
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectStatus *int64 `json:"DetectStatus,omitnil,omitempty" name:"DetectStatus"`

	// Host ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	WanIp *string `json:"WanIp,omitnil,omitempty" name:"WanIp"`

	// First Occurrence Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Last Occurrence Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Can Be Fixed or Not
	// Note: This field may return null, indicating that no valid values can be obtained.
	CanBeFixed *int64 `json:"CanBeFixed,omitnil,omitempty" name:"CanBeFixed"`

	// Host Security UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

type BaselineItemDetect struct {
	// Item ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemId *int64 `json:"ItemId,omitnil,omitempty" name:"ItemId"`

	// Item Name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemName *string `json:"ItemName,omitnil,omitempty" name:"ItemName"`

	// Item Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemDesc *string `json:"ItemDesc,omitnil,omitempty" name:"ItemDesc"`

	// Fixing Method
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixMethod *string `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`

	// Rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// 0: Failed; 1: Ignored; 3: Passed; 5: Under detection
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectStatus *int64 `json:"DetectStatus,omitnil,omitempty" name:"DetectStatus"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *int64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Number of affected servers
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// First detection time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FirstTime *string `json:"FirstTime,omitnil,omitempty" name:"FirstTime"`

	// Last Detection Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Detection result, JSON string
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectResult *string `json:"DetectResult,omitnil,omitempty" name:"DetectResult"`

	// Rule ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Number of servers passed
	// Note: This field may return null, indicating that no valid values can be obtained.
	PassedHostCount *int64 `json:"PassedHostCount,omitnil,omitempty" name:"PassedHostCount"`

	// Number of servers failed
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	SysRuleId *int64 `json:"SysRuleId,omitnil,omitempty" name:"SysRuleId"`

	// Referenced Custom Rule Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Detection item hazard level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Total number of events
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Detection Item ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectBy *uint64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Process name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category: 0 - system rule; 1 - user rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression\nNote: This field may return null, indicating that no valid values can be obtained.
	RegexBashCmd *string `json:"RegexBashCmd,omitnil,omitempty" name:"RegexBashCmd"`

	// Host HostName
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 (Leiting edition)
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectBy *uint64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Process name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category. 0: system rule; 1: user rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegexBashCmd *string `json:"RegexBashCmd,omitnil,omitempty" name:"RegexBashCmd"`

	// 0: normal; 1: Professional edition; 2: Ultimate edition
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineType *int64 `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Additional Information on Machine
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

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

	// Yunjing 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category: 0 - system rule; 1 - user rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression
	// Note: This field may return null, indicating that no valid values can be obtained.
	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: command execution; ssh_service: ssh service IP, ssh_source: log-in source
	// Note: This field may return null, indicating that no valid values can be obtained.
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Recommended solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Reference link
	// Note: This field may return null, indicating that no valid values can be obtained.
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Host public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status: OFFLINE  ONLINE
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Log-in user
	// Note: This field may return null, indicating that no valid values can be obtained.
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Data source
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Processing time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Rule category. 0 - system rule; 1 - user rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleCategory *uint64 `json:"RuleCategory,omitnil,omitempty" name:"RuleCategory"`

	// Automatically generated regular expression
	// Note: This field may return null, indicating that no valid values can be obtained.
	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: command execution; ssh_service: ssh service IP, ssh_source: log-in source
	// Note: This field may return null, indicating that no valid values can be obtained.
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Recommended solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Reference link
	// Note: This field may return null, indicating that no valid values can be obtained.
	References []*string `json:"References,omitnil,omitempty" name:"References"`

	// Host public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status: OFFLINE; ONLINE
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Log-in user
	// Note: This field may return null, indicating that no valid values can be obtained.
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// 0: normal; 1: professional version; 2: ultimate edition
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineType *int64 `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Source of Detection: 0: bash log; 1: real-time monitoring
	// Note: This field may return null, indicating that no valid values can be obtained.
	DetectBy *int64 `json:"DetectBy,omitnil,omitempty" name:"DetectBy"`
}

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
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// When it is added to the allowlist, the EventId needs to be passed in.Note: This field may return null, indicating that no valid values can be obtained.
	EventId *int64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Whether to process old events as allowlisted ones: 0 - no; 1 - yes
	// Note: This field may return null, indicating that no valid values can be obtained.
	DealOldEvents *int64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// A collection of QUUIDs for effective hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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"`

	// Arrays of UUIDs for servers to be effective
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`

	// 0= blocklist; 1= allowlist
	// Note: This field may return null, indicating that no valid values can be obtained.
	White *uint64 `json:"White,omitnil,omitempty" name:"White"`

	// Whether to process previous events: 0: do not process; 1: process
	// Note: This field may return null, indicating that no valid values can be obtained.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Rule description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type BroadcastInfo struct {
	// Article name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Redirection location: 0: no redirection; 1: virus scanning; 2: vulnerability scan; 3: security baseline
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Title *string `json:"Title,omitnil,omitempty" name:"Title"`

	// Type: 0: emergency notification; 1: feature update; 2: industry honor; 3: version release
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// CWPP client UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Username
	// Note: This field may return null, indicating that no valid values can be obtained.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Source IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// SUCCESS: cracking successful; FAILED: cracking failed
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Country/Region ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Country *uint64 `json:"Country,omitnil,omitempty" name:"Country"`

	// City ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	City *uint64 `json:"City,omitnil,omitempty" name:"City"`

	// Province ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Province *uint64 `json:"Province,omitnil,omitempty" name:"Province"`

	// Creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// 0: no blocking (not supported for the client version)1: blocked
	// 2: blocking failed (program exception)
	// 3: no blocking (do not block 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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	BanStatus *uint64 `json:"BanStatus,omitnil,omitempty" name:"BanStatus"`

	// Event type. 200: brute force cracking event; 300: event of successful brute force cracking (page display); 400: event of brute force cracking on a non-existent account.Note: This field may return null, indicating that no valid values can be obtained.
	EventType *uint64 `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Occurrence count
	// Note: This field may return null, indicating that no valid values can be obtained.
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Machine UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Whether it is of the Pro Edition (true/false)
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsProVersion *bool `json:"IsProVersion,omitnil,omitempty" name:"IsProVersion"`

	// Username of the attacked service
	// Note: This field may return null, indicating that no valid values can be obtained.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Port
	// Note: This field may return null, indicating that no valid values can be obtained.
	Port *uint64 `json:"Port,omitnil,omitempty" name:"Port"`

	// Last attack time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// 0: pending; 1: ignored; 5: fixed; 6: added to allowlist
	// Note: This field may return null, indicating that no valid values can be obtained.
	DataStatus *uint64 `json:"DataStatus,omitnil,omitempty" name:"DataStatus"`

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Geo-location in Chinese
	// Note: This field may return null, indicating that no valid values can be obtained.
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`

	// Threat level. 0: low-risk; 1: medium-risk; 2: high-risk.Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Event source. 0: blocking rule; 1: threat intelligence.Note: This field may return null, indicating that no valid values can be obtained.
	DataFrom *int64 `json:"DataFrom,omitnil,omitempty" name:"DataFrom"`

	// Description of the brute force cracking status
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackStatusDesc *string `json:"AttackStatusDesc,omitnil,omitempty" name:"AttackStatusDesc"`

	// Blocking expiration time (valid only for events in blocking status)
	// Note: This field may return null, indicating that no valid values can be obtained.
	BanExpiredTime *string `json:"BanExpiredTime,omitnil,omitempty" name:"BanExpiredTime"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 Type
	VipType *int64 `json:"VipType,omitnil,omitempty" name:"VipType"`

	// Access type
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Information on hosts where this vulnerability can be fixed
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostList []*VulInfoHostInfo `json:"HostList,omitnil,omitempty" name:"HostList"`

	// Fixing prompt tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixTag []*string `json:"FixTag,omitnil,omitempty" name:"FixTag"`

	// Vulnerability categories: 1 web cms vulnerabilities, 2 application vulnerabilities, 4 linux software vulnerabilities, 5 windows system vulnerabilities
	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 CancelIgnoreVulRequestParams struct {
	// Vulnerability event ID string (multiple entries are separated by comma)
	EventIds *string `json:"EventIds,omitnil,omitempty" name:"EventIds"`
}

type CancelIgnoreVulRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability event ID string (multiple entries are separated by comma)
	EventIds *string `json:"EventIds,omitnil,omitempty" name:"EventIds"`
}

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

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

// Predefined struct for user
type CancelIgnoreVulResponseParams 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 CancelIgnoreVulResponse struct {
	*tchttp.BaseResponse
	Response *CancelIgnoreVulResponseParams `json:"Response"`
}

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

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

// 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 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 CheckBashPolicyParamsRequest 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 *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")
	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 ComponentStatistics struct {
	// Component ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

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

	// Component name
	ComponentName *string `json:"ComponentName,omitnil,omitempty" name:"ComponentName"`

	// Component type
	// <li>WEB: Web component</li>
	// <li>SYSTEM: system component</li>
	ComponentType *string `json:"ComponentType,omitnil,omitempty" name:"ComponentType"`

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

// 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"`

	// Perform allowlisting operations on pending historical items; 0 indicates no action, 1 indicates processing
	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"`

	// Perform allowlisting operations on pending historical items; 0 indicates no action, 1 indicates processing
	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 pattern: 0 weekly, 1 daily.
	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 pattern: 0 weekly, 1 daily.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// 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"`

	// Repair method: 0 component update or patch installation, 1 disable service
	FixMethod *uint64 `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`
}

// 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"`

	// Rule name, big asset center: asset_center
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Order type. 1: trial; 2: free; 3: experience; 4: free SSL certificate gift; 5: free CVM
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// 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"`

	// Rule name, big asset center: asset_center
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Order type. 1: trial; 2: free; 3: experience; 4: free SSL certificate gift; 5: free CVM
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// 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, "RuleName")
	delete(f, "SourceType")
	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"`
}

type DefendAttackLog 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"`

	// Attack description
	HttpCgi *string `json:"HttpCgi,omitnil,omitempty" name:"HttpCgi"`

	// Attack parameter
	HttpParam *string `json:"HttpParam,omitnil,omitempty" name:"HttpParam"`

	// Threat type
	VulType *string `json:"VulType,omitnil,omitempty" name:"VulType"`

	// Attack time
	CreatedAt *string `json:"CreatedAt,omitnil,omitempty" name:"CreatedAt"`

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

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

	// Target IP
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`

	// Target port
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Attack content
	HttpContent *string `json:"HttpContent,omitnil,omitempty" name:"HttpContent"`

	// Host Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

// 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. Maximum number of IDs: 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteBashEventsRequest struct {
	*tchttp.BaseRequest
	
	// ID array. Maximum number of IDs: 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

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")
	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"`
}

type DeleteBruteAttacksRequest struct {
	*tchttp.BaseRequest
	
	// Array of brute force cracking event IDs (maximum: 100)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

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")
	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 {
	// Allowlisted IDs (The maximum number is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteLoginWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlisted IDs (The maximum number is 100.)
	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 {
	// IDs of records to be deleted, up to 100 characters in length
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteMachineClearHistoryRequest struct {
	*tchttp.BaseRequest
	
	// IDs of records to be deleted, up to 100 characters in length
	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"`
}

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"`
}

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")
	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"`
}

type DeleteMalwaresRequest struct {
	*tchttp.BaseRequest
	
	// Trojan record ID array (The maximum number of IDs is 100.)
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

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")
	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"`
}

type DeletePrivilegeEventsRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum number being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

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")
	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 DeleteReverseShellEventsRequestParams struct {
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type DeleteReverseShellEventsRequest struct {
	*tchttp.BaseRequest
	
	// ID array, with the maximum value being 100.
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

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")
	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
	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
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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. Multiple events may be involved.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// List of alarm IDs
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 software applications
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	CpuLoad *AssetLoadSummary `json:"CpuLoad,omitnil,omitempty" name:"CpuLoad"`

	// Memory utilization
	// Note: This field may return null, indicating that no valid values can be obtained.
	MemLoad *AssetLoadSummary `json:"MemLoad,omitnil,omitempty" name:"MemLoad"`

	// Hard disk utilization
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 individual processes
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 assets
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalList []*AssetKeyVal `json:"TotalList,omitnil,omitempty" name:"TotalList"`

	// List of online assets
	// Note: This field may return null, indicating that no valid values can be obtained.
	LiveList []*AssetKeyVal `json:"LiveList,omitnil,omitempty" name:"LiveList"`

	// List of offline assets
	// Note: This field may return null, indicating that no valid values can be obtained.
	OfflineList []*AssetKeyVal `json:"OfflineList,omitnil,omitempty" name:"OfflineList"`

	// List of risky assets
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	User []*AssetKeyVal `json:"User,omitnil,omitempty" name:"User"`

	// Top 5 ports
	// Note: This field may return null, indicating that no valid values can be obtained.
	Port []*AssetKeyVal `json:"Port,omitnil,omitempty" name:"Port"`

	// Top 5 processes
	// Note: This field may return null, indicating that no valid values can be obtained.
	Process []*AssetKeyVal `json:"Process,omitnil,omitempty" name:"Process"`

	// Top 5 software
	// Note: This field may return null, indicating that no valid values can be obtained.
	Software []*AssetKeyVal `json:"Software,omitnil,omitempty" name:"Software"`

	// Top 5 databases
	// Note: This field may return null, indicating that no valid values can be obtained.
	Database []*AssetKeyVal `json:"Database,omitnil,omitempty" name:"Database"`

	// Top 5 web applications
	// Note: This field may return null, indicating that no valid values can be obtained.
	WebApp []*AssetKeyVal `json:"WebApp,omitnil,omitempty" name:"WebApp"`

	// Top 5 web sites
	// Note: This field may return null, indicating that no valid values can be obtained.
	WebLocation []*AssetKeyVal `json:"WebLocation,omitnil,omitempty" name:"WebLocation"`

	// Top 5 web frameworks
	// Note: This field may return null, indicating that no valid values can be obtained.
	WebFrame []*AssetKeyVal `json:"WebFrame,omitnil,omitempty" name:"WebFrame"`

	// Top 5 web services
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Data list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Data list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Data list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *uint64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAttackLogsRequestParams 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>HttpMethod - String - required: no - attack method (POST|GET)</li>
	// <li>DateRange - String - required: no - timeframe (store data from the past 3 months), such as the last month ["2019-11-17", "2019-12-17"]</li>
	// <li>VulType - String threat type - required: no</li>
	// <li>SrcIp - String attack source IP - required: no</li>
	// <li>DstIp - String attack target IP - required: no</li>
	// <li>SrcPort - String attack source port - required: no</li>
	// <li>DstPort - String attack target port - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// CVM machine ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type DescribeAttackLogsRequest 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>HttpMethod - String - required: no - attack method (POST|GET)</li>
	// <li>DateRange - String - required: no - timeframe (store data from the past 3 months), such as the last month ["2019-11-17", "2019-12-17"]</li>
	// <li>VulType - String threat type - required: no</li>
	// <li>SrcIp - String attack source IP - required: no</li>
	// <li>DstIp - String attack target IP - required: no</li>
	// <li>SrcPort - String attack source port - required: no</li>
	// <li>DstPort - String attack target port - required: no</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// CVM machine ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackLogsRequest) 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, "Uuid")
	delete(f, "Quuid")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackLogsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackLogsResponseParams struct {
	// Log list
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackLogs []*DefendAttackLog `json:"AttackLogs,omitnil,omitempty" name:"AttackLogs"`

	// 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 DescribeAttackLogsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackLogsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAttackSourceEventsRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Start date
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End date
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`

	// EventInfoParam returned by DescribeAttackSource API
	EventInfoParam *string `json:"EventInfoParam,omitnil,omitempty" name:"EventInfoParam"`

	// Maximum number of paginations, which is 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Starting step size, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeAttackSourceEventsRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Start date
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End date
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`

	// EventInfoParam returned by DescribeAttackSource API
	EventInfoParam *string `json:"EventInfoParam,omitnil,omitempty" name:"EventInfoParam"`

	// Maximum number of paginations, which is 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Starting step size, which is 0 by default.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackSourceEventsRequest) 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, "BeginDate")
	delete(f, "EndDate")
	delete(f, "EventInfoParam")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackSourceEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackSourceEventsResponseParams struct {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Attack tracing event list
	List []*AttackSourceEvent `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 DescribeAttackSourceEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackSourceEventsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAttackSourceRequestParams struct {
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Start date
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End date
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

type DescribeAttackSourceRequest struct {
	*tchttp.BaseRequest
	
	// Host UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Start date
	BeginDate *string `json:"BeginDate,omitnil,omitempty" name:"BeginDate"`

	// End date
	EndDate *string `json:"EndDate,omitnil,omitempty" name:"EndDate"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackSourceRequest) 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, "BeginDate")
	delete(f, "EndDate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAttackSourceRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAttackSourceResponseParams struct {
	// Attack backtracking data
	AttackSource *AttackSource `json:"AttackSource,omitnil,omitempty" name:"AttackSource"`

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

type DescribeAttackSourceResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAttackSourceResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAttackSourceResponse) 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	PendingAttackCount *uint64 `json:"PendingAttackCount,omitnil,omitempty" name:"PendingAttackCount"`

	// Total Attack Attempts
	// Note: This field may return null, indicating that no valid values can be obtained.
	PendingTryAttackCount *uint64 `json:"PendingTryAttackCount,omitnil,omitempty" name:"PendingTryAttackCount"`

	// Total Number of Successful Attacks
	// Note: This field may return null, indicating that no valid values can be obtained.
	PendingSuccAttackCount *uint64 `json:"PendingSuccAttackCount,omitnil,omitempty" name:"PendingSuccAttackCount"`

	// Number of New Attacks Today
	// Note: This field may return null, indicating that no valid values can be obtained.
	PendingNewAttackCount *uint64 `json:"PendingNewAttackCount,omitnil,omitempty" name:"PendingNewAttackCount"`

	// Total Number of Assets Under Attack
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackedAssetCount *uint64 `json:"AttackedAssetCount,omitnil,omitempty" name:"AttackedAssetCount"`

	// Number of New Attacked Assets Today
	// Note: This field may return null, indicating that no valid values can be obtained.
	NewAttackedAssetCount *uint64 `json:"NewAttackedAssetCount,omitnil,omitempty" name:"NewAttackedAssetCount"`

	// Total Number of Attacked Ports
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackedPortCount *uint64 `json:"AttackedPortCount,omitnil,omitempty" name:"AttackedPortCount"`

	// Number of New Attacked Ports Today
	// Note: This field may return null, indicating that no valid values can be obtained.
	NewAttackedPortCount *uint64 `json:"NewAttackedPortCount,omitnil,omitempty" name:"NewAttackedPortCount"`

	// Total Number of Attack Source IPs
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackSrcIpCount *uint64 `json:"AttackSrcIpCount,omitnil,omitempty" name:"AttackSrcIpCount"`

	// Number of New Attacking Source IPs Today
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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 DescribeAvailableExpertServiceDetailRequestParams struct {

}

type DescribeAvailableExpertServiceDetailRequest struct {
	*tchttp.BaseRequest
	
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAvailableExpertServiceDetailRequest) 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", "DescribeAvailableExpertServiceDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAvailableExpertServiceDetailResponseParams struct {
	// Security manager order
	ExpertService []*ExpertServiceOrderInfo `json:"ExpertService,omitnil,omitempty" name:"ExpertService"`

	// Number of available emergency responses
	EmergencyResponse *uint64 `json:"EmergencyResponse,omitnil,omitempty" name:"EmergencyResponse"`


	ProtectNet *uint64 `json:"ProtectNet,omitnil,omitempty" name:"ProtectNet"`

	// Whether you purchased security manager
	ExpertServiceBuy *bool `json:"ExpertServiceBuy,omitnil,omitempty" name:"ExpertServiceBuy"`

	// Whether you purchased emergency response
	EmergencyResponseBuy *bool `json:"EmergencyResponseBuy,omitnil,omitempty" name:"EmergencyResponseBuy"`


	ProtectNetBuy *bool `json:"ProtectNetBuy,omitnil,omitempty" name:"ProtectNetBuy"`

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

type DescribeAvailableExpertServiceDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAvailableExpertServiceDetailResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAvailableExpertServiceDetailResponse) 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 {
	// Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Configuration of the standard blocking mode
	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 {
	// Blocking enabling status:
	// 0: disabled 
	// 1: advanced blocking
	// 2: basic blocking (block only malicious IP addresses in the intelligence database)
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether to display the pop-up prompt. False: no; true: yes.
	ShowTips *bool `json:"ShowTips,omitnil,omitempty" name:"ShowTips"`

	// Whether to enable intelligent over-allowing mode
	OpenSmartMode *bool `json:"OpenSmartMode,omitnil,omitempty" name:"OpenSmartMode"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of affected servers
	// Note: This field may return null, indicating that no valid values can be obtained.
	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</i>
	// <li>HostIp - string - required: no - host IP</i>
	// <li>ItemId - int64 - required: no - item ID</i>
	// <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</i>
	// <li>HostIp - string - required: no - host IP</i>
	// <li>ItemId - int64 - required: no - item ID</i>
	// <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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Filtering criteria
	// <li>StrategyId - Uint64 - baseline policy ID</li>
	// <li>Status - Uint64 - processing status: 1: passed; 0: failed</li><li>Level - Uint64[] - risk level: 1: low; 2: medium; 3: high; 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"`

	// Filtering criteria
	// <li>StrategyId - Uint64 - baseline policy ID</li>
	// <li>Status - Uint64 - processing status: 1: passed; 0: failed</li><li>Level - Uint64[] - risk level: 1: low; 2: medium; 3: high; 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	BaselineList []*BaselineInfo `json:"BaselineList,omitnil,omitempty" name:"BaselineList"`

	// Total number of records for paging query
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	BaselineRuleList []*BaselineRuleInfo `json:"BaselineRuleList,omitnil,omitempty" name:"BaselineRuleList"`

	// Whether to display the description column. True: yes; false: no.Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Check progress (percentage)
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	PassRate *uint64 `json:"PassRate,omitnil,omitempty" name:"PassRate"`

	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// policy scan cycle (days)
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanCycle *string `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Regular scan time. The scan task is triggered at this time.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Whether all hosts are scanned. 1: yes; 0: no. If the value is 1, all Pro Edition hosts are scanned.Note: This field may return null, indicating that no valid values can be obtained.
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Machine type:
	// cvm: Tencent Cloud Virtual Machine
	// bm: BM
	// ecm: Edge Computing Machine
	// lh: Lighthouse
	// other: Hybrid Cloud Machine
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Host region
	// Note: This field may return null, indicating that no valid values can be obtained.
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// IDs of all user hosts involved in this policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// IDs of all user baselines involved in this policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	CategoryIds []*string `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// 1: scanned; 0: not scanned.Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// User policy information list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// None
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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>Keywords - String - required: no - keyword (rule name)</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>Keywords - String - required: no - keyword (rule name)</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 - CWPP 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 - filter by source IP</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 - filter by blocking status (separate multiple items with commas): 0 - not blocked (global ZK switch is off); 82 - not blocked (Non-Pro Edition); 83 - not blocked (allowlisted); 1 - blocked; 2 - not blocked (abnormal program); 3 - not blocked (private network attacks cannot be blocked); 4 - not blocked (Anping is not supported)</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 - CWPP 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 - filter by source IP</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 - filter by blocking status (separate multiple items with commas): 0 - not blocked (global ZK switch is off); 82 - not blocked (Non-Pro Edition); 83 - not blocked (allowlisted); 1 - blocked; 2 - not blocked (abnormal program); 3 - not blocked (private network attacks cannot be blocked); 4 - not blocked (Anping is not supported)</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
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of password cracking attacks
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// List of rules for blocking brute force cracking
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeComponentStatisticsRequestParams 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
	// ComponentName - String - required: no - component name
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeComponentStatisticsRequest 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
	// ComponentName - String - required: no - component name
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComponentStatisticsRequest) 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", "DescribeComponentStatisticsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComponentStatisticsResponseParams struct {
	// Total number of records in the component statistics list
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Array of list of counted components
	ComponentStatistics []*ComponentStatistics `json:"ComponentStatistics,omitnil,omitempty" name:"ComponentStatistics"`

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

type DescribeComponentStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComponentStatisticsResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComponentStatisticsResponse) 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 DescribeEmergencyResponseListRequestParams struct {
	// Filter criteria
	// <li>Keyword - String - whether required: no - filter by keyword</li>
	// <li>Uuids - String - whether required: no - filter by host ID</li>
	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"`

	// Sorting step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort method
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: StartTime, EndTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeEmergencyResponseListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Keyword - String - whether required: no - filter by keyword</li>
	// <li>Uuids - String - whether required: no - filter by host ID</li>
	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"`

	// Sorting step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort method
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: StartTime, EndTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEmergencyResponseListRequest) 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", "DescribeEmergencyResponseListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEmergencyResponseListResponseParams struct {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Emergency Response List
	List []*EmergencyResponseInfo `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 DescribeEmergencyResponseListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEmergencyResponseListResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEmergencyResponseListResponse) 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 {
	// Vulnerability list
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*EmergencyVul `json:"List,omitnil,omitempty" name:"List"`

	// Total number of vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Whether there is any risk
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeExpertServiceListRequestParams struct {
	// Filter criteria
	// <li>Keyword - String - whether required: no - filter by keyword</li>
	// <li>Uuids - String - whether required: no - filter by host ID</li>
	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"`

	// Sorting step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort method
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: StartTime, EndTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeExpertServiceListRequest struct {
	*tchttp.BaseRequest
	
	// Filter criteria
	// <li>Keyword - String - whether required: no - filter by keyword</li>
	// <li>Uuids - String - whether required: no - filter by host ID</li>
	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"`

	// Sorting step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort method
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: StartTime, EndTime
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExpertServiceListRequest) 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", "DescribeExpertServiceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExpertServiceListResponseParams struct {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Security manager data
	List []*SecurityButlerInfo `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 DescribeExpertServiceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeExpertServiceListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeExpertServiceOrderListRequestParams struct {
	// <li>InquireType- String - required: no - order type for filtering,</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries on each page. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeExpertServiceOrderListRequest struct {
	*tchttp.BaseRequest
	
	// <li>InquireType- String - required: no - order type for filtering,</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Number of entries on each page. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExpertServiceOrderListRequest) 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", "DescribeExpertServiceOrderListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExpertServiceOrderListResponseParams struct {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Order list
	List []*ExpertServiceOrderInfo `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 DescribeExpertServiceOrderListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeExpertServiceOrderListResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExpertServiceOrderListResponse) 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 {
	// Statistical data after analysis
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	FlagshipMachineCnt *uint64 `json:"FlagshipMachineCnt,omitnil,omitempty" name:"FlagshipMachineCnt"`

	// Protection duration, in days
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProtectDays *uint64 `json:"ProtectDays,omitnil,omitempty" name:"ProtectDays"`

	// Number of hosts added in the last 15 days
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 history account list
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Array of history accounts
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 - CWPP unique UUID</li>
	// <li>MachineName - String - required: no - host alias</li>
	// <li>Ip - String - required: no - host IP</li>
	// <li>InstanceID - String - required: no - host instance ID</li>
	// <li>SrcIp - String - required: no - filter by source IP</li>
	// <li>UserName - String - required: no - filter by username</li>
	// <li>Status - int - required: no - status filtering: 1: normal log-in; 5: whitelisted; 14: processed; 15: ignored</li>
	// <li>LoginTimeBegin - String - required: no - filter by modification time; start time</li>
	// <li>LoginTimeEnd - String - required: no - filter by modification time; end time</li>
	// <li>RiskLevel - int - 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 - CWPP unique UUID</li>
	// <li>MachineName - String - required: no - host alias</li>
	// <li>Ip - String - required: no - host IP</li>
	// <li>InstanceID - String - required: no - host instance ID</li>
	// <li>SrcIp - String - required: no - filter by source IP</li>
	// <li>UserName - String - required: no - filter by username</li>
	// <li>Status - int - required: no - status filtering: 1: normal log-in; 5: whitelisted; 14: processed; 15: ignored</li>
	// <li>LoginTimeBegin - String - required: no - filter by modification time; start time</li>
	// <li>LoginTimeEnd - String - required: no - filter by modification time; end time</li>
	// <li>RiskLevel - int - 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"`

	// Log-in an audit list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	IgnoreBaselineRuleList []*IgnoreBaselineRule `json:"IgnoreBaselineRuleList,omitnil,omitempty" name:"IgnoreBaselineRuleList"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 - whether required: no - item ID</i>
	// <li>RuleId - int64 - whether 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 - whether required: no - item ID</i>
	// <li>RuleId - int64 - whether 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemSet []*BaselineItemInfo `json:"ItemSet,omitnil,omitempty" name:"ItemSet"`

	// Affected hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeIndexListRequestParams struct {

}

type DescribeIndexListRequest struct {
	*tchttp.BaseRequest
	
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIndexListRequest) 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", "DescribeIndexListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeIndexListResponseParams struct {
	// ES index 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 DescribeIndexListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeIndexListResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeIndexListResponse) 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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: Keywords: IP or host name for fuzzy query; Type or status for precise match; CreateBeginTime, CreateEndTime for time period query
	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 DescribeJavaMemShellListRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria: Keywords: IP or host name for fuzzy query; Type or status for precise match; CreateBeginTime, CreateEndTime for time period query
	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 *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")
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Filter Criteria: Keywords: Fuzzy query of IP or host name, JavaShellStatus, exact match of Exception
	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
	
	// Filter Criteria: Keywords: Fuzzy query of IP or host name, JavaShellStatus, exact match of Exception
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Authorization ID
	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"`

	// <li>InstanceID, IP,
	// 
	// and MachineName for fuzzy search</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit number, 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeLicenseBindListRequest struct {
	*tchttp.BaseRequest
	
	// Authorization ID
	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"`

	// <li>InstanceID, IP,
	// 
	// and MachineName for fuzzy search</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit number, 10 by default.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	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 {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of bound machines
	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 {
	// Total number of authorizations (including those that are isolated, expired, and in other states)
	LicenseCnt *uint64 `json:"LicenseCnt,omitnil,omitempty" name:"LicenseCnt"`

	// Number of available authorizations
	AvailableLicenseCnt *uint64 `json:"AvailableLicenseCnt,omitnil,omitempty" name:"AvailableLicenseCnt"`

	// Number of available Professional Edition authorizations (including those in postpaid mode)
	AvailableProVersionLicenseCnt *uint64 `json:"AvailableProVersionLicenseCnt,omitnil,omitempty" name:"AvailableProVersionLicenseCnt"`

	// Number of available Ultimate Edition authorizations
	AvailableFlagshipVersionLicenseCnt *uint64 `json:"AvailableFlagshipVersionLicenseCnt,omitnil,omitempty" name:"AvailableFlagshipVersionLicenseCnt"`

	// Number of authorizations about to expire (no more than 15 days left)
	NearExpiryLicenseCnt *uint64 `json:"NearExpiryLicenseCnt,omitnil,omitempty" name:"NearExpiryLicenseCnt"`

	// Number of expired authorizations (excluding deleted ones)
	ExpireLicenseCnt *uint64 `json:"ExpireLicenseCnt,omitnil,omitempty" name:"ExpireLicenseCnt"`

	// Automatic upgrade enabling status. True: enabled; false: disabled. Default value: false.
	AutoOpenStatus *bool `json:"AutoOpenStatus,omitnil,omitempty" name:"AutoOpenStatus"`

	// PROVERSION_POSTPAY: Pro Edition - postpaid; PROVERSION_PREPAY: Pro edition - prepaid; FLAGSHIP_PREPAY: Ultimate Edition - prepaid.
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Whether automatic upgrade has been enabled before
	IsOpenStatusHistory *bool `json:"IsOpenStatusHistory,omitnil,omitempty" name:"IsOpenStatusHistory"`

	// Number of used authorizations
	UsedLicenseCnt *uint64 `json:"UsedLicenseCnt,omitnil,omitempty" name:"UsedLicenseCnt"`

	// Number of authorizations that have not expired
	NotExpiredLicenseCnt *uint64 `json:"NotExpiredLicenseCnt,omitnil,omitempty" name:"NotExpiredLicenseCnt"`

	// Total number of Ultimate Edition authorizations (valid orders)
	FlagshipVersionLicenseCnt *uint64 `json:"FlagshipVersionLicenseCnt,omitnil,omitempty" name:"FlagshipVersionLicenseCnt"`

	// Total number of Pro Edition authorizations (valid orders)
	ProVersionLicenseCnt *uint64 `json:"ProVersionLicenseCnt,omitnil,omitempty" name:"ProVersionLicenseCnt"`

	// Total number of Inclusive Edition authorizations (those of valid orders)
	CwpVersionLicenseCnt *uint64 `json:"CwpVersionLicenseCnt,omitnil,omitempty" name:"CwpVersionLicenseCnt"`

	// Number of available Inclusive Edition authorizations
	AvailableLHLicenseCnt *uint64 `json:"AvailableLHLicenseCnt,omitnil,omitempty" name:"AvailableLHLicenseCnt"`

	// Auto-purchase switch, true for ON, false for OFF
	AutoRepurchaseSwitch *bool `json:"AutoRepurchaseSwitch,omitnil,omitempty" name:"AutoRepurchaseSwitch"`

	// Is auto-renewal required for auto-purchase orders, true for ON, false for OFF
	AutoRepurchaseRenewSwitch *bool `json:"AutoRepurchaseRenewSwitch,omitnil,omitempty" name:"AutoRepurchaseRenewSwitch"`

	// Number of terminated orders
	DestroyOrderNum *uint64 `json:"DestroyOrderNum,omitnil,omitempty" name:"DestroyOrderNum"`

	// Whether automatic renewal is enabled. True: enabled; false: disabled.
	RepurchaseRenewSwitch *bool `json:"RepurchaseRenewSwitch,omitnil,omitempty" name:"RepurchaseRenewSwitch"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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"`


	Order *string `json:"Order,omitnil,omitempty" name:"Order"`


	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"`

	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	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 {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 {
	// Rule name. For example, cwp.
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`
}

type DescribeLicenseWhiteConfigRequest struct {
	*tchttp.BaseRequest
	
	// Rule name. For example, cwp.
	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 {
	// Ultimate Edition configuration information
	FlagShip *VersionWhiteConfig `json:"FlagShip,omitnil,omitempty" name:"FlagShip"`

	// Pro Edition configuration information
	Professional *VersionWhiteConfig `json:"Professional,omitnil,omitempty" name:"Professional"`

	// Inclusive Edition configuration information
	PrattWhitney *VersionWhiteConfig `json:"PrattWhitney,omitnil,omitempty" name:"PrattWhitney"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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"`

	// xx
	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. The value is an array of strings.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`

	// Log retention days. The value 3640 means the retention days are not limited.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`

	// Count of period changes in this month
	// Note: This field may return null, indicating that no valid values can be obtained.
	PeriodModifyCount *int64 `json:"PeriodModifyCount,omitnil,omitempty" name:"PeriodModifyCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 amount record
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeLoginWhiteCombinedListRequestParams 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>UserName - String - required: no - filter by username</li>
	// <li>ModifyBeginTime - String - required: no - filter by modification time; start time</li>
	// <li>ModifyEndTime - String - required: no - Filter by modification time; end time</li>
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeLoginWhiteCombinedListRequest 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>UserName - String - required: no - filter by username</li>
	// <li>ModifyBeginTime - String - required: no - filter by modification time; start time</li>
	// <li>ModifyEndTime - String - required: no - Filter by modification time; end time</li>
	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 {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of allowlists after merge
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Allowlist ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of results to be returned. Maximum value: 1000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria <li>IpOrAlias - String - required: no - host IP or alias for filtering</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeLoginWhiteHostListRequest struct {
	*tchttp.BaseRequest
	
	// Allowlist ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of results to be returned. Maximum value: 1000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filtering criteria <li>IpOrAlias - String - required: no - host IP or alias for filtering</li>
	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 {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Server list
	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 {
	// Filtering criteria
	// Return entries that match both Keywords and TimeBetween when multiple filtering criteria are used
	// <li> Keywords: instance name, private IP address, public IP address</li>
	// <li> TimeBetween: time interval</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Ascending order, ASC, Descending order DESC, ASC by default.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// AgentLastOfflineTime: last offline time of client
	// AutoClearTime: clearing time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeMachineClearHistoryRequest struct {
	*tchttp.BaseRequest
	
	// Filtering criteria
	// Return entries that match both Keywords and TimeBetween when multiple filtering criteria are used
	// <li> Keywords: instance name, private IP address, public IP address</li>
	// <li> TimeBetween: time interval</li>
	Filters []*Filters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Limit Entries, 10 by default, up to 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Ascending order, ASC, Descending order DESC, ASC by default.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// AgentLastOfflineTime: last offline time of client
	// AutoClearTime: clearing time
	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 {
	// Total number of entries
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List data
	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 {
	// Total number of assets
	MachineCnt *uint64 `json:"MachineCnt,omitnil,omitempty" name:"MachineCnt"`

	// Number of Tencent Cloud machines
	//
	// Deprecated: TencentCloudMachineCnt is deprecated.
	TencentCloudMachineCnt *uint64 `json:"TencentCloudMachineCnt,omitnil,omitempty" name:"TencentCloudMachineCnt"`

	// Number of Alibaba Cloud machines
	//
	// Deprecated: AliCloudMachineCnt is deprecated.
	AliCloudMachineCnt *uint64 `json:"AliCloudMachineCnt,omitnil,omitempty" name:"AliCloudMachineCnt"`

	// Number of Baidu Cloud machines
	//
	// Deprecated: BaiduCloudMachineCnt is deprecated.
	BaiduCloudMachineCnt *uint64 `json:"BaiduCloudMachineCnt,omitnil,omitempty" name:"BaiduCloudMachineCnt"`

	// Number of IDC machines
	//
	// Deprecated: IDCMachineCnt is deprecated.
	IDCMachineCnt *uint64 `json:"IDCMachineCnt,omitnil,omitempty" name:"IDCMachineCnt"`

	// Number of machines from other cloud service vendors
	//
	// Deprecated: OtherCloudMachineCnt is deprecated.
	OtherCloudMachineCnt *uint64 `json:"OtherCloudMachineCnt,omitnil,omitempty" name:"OtherCloudMachineCnt"`

	// Number of protected machines
	ProtectMachineCnt *uint64 `json:"ProtectMachineCnt,omitnil,omitempty" name:"ProtectMachineCnt"`

	// Number of protected Basic Edition machines
	BaseMachineCnt *uint64 `json:"BaseMachineCnt,omitnil,omitempty" name:"BaseMachineCnt"`

	// Number of protected Pro Edition machines
	SpecialtyMachineCnt *uint64 `json:"SpecialtyMachineCnt,omitnil,omitempty" name:"SpecialtyMachineCnt"`

	// Number of protected Ultimate Edition machines
	FlagshipMachineCnt *uint64 `json:"FlagshipMachineCnt,omitnil,omitempty" name:"FlagshipMachineCnt"`

	// Number of risky machines
	RiskMachineCnt *uint64 `json:"RiskMachineCnt,omitnil,omitempty" name:"RiskMachineCnt"`

	// Number of new risky machines compared with that yesterday
	CompareYesterdayRiskMachineCnt *int64 `json:"CompareYesterdayRiskMachineCnt,omitnil,omitempty" name:"CompareYesterdayRiskMachineCnt"`

	// Number of new unprotected machines compared with that yesterday
	CompareYesterdayNotProtectMachineCnt *int64 `json:"CompareYesterdayNotProtectMachineCnt,omitnil,omitempty" name:"CompareYesterdayNotProtectMachineCnt"`

	// Number of new machines about to expire compared with that yesterday
	CompareYesterdayDeadlineMachineCnt *int64 `json:"CompareYesterdayDeadlineMachineCnt,omitnil,omitempty" name:"CompareYesterdayDeadlineMachineCnt"`

	// Number of machines about to expire
	DeadlineMachineCnt *uint64 `json:"DeadlineMachineCnt,omitnil,omitempty" name:"DeadlineMachineCnt"`

	// Number of unprotected machines
	NotProtectMachineCnt *uint64 `json:"NotProtectMachineCnt,omitnil,omitempty" name:"NotProtectMachineCnt"`

	// Number of protected Inclusive Edition machines (Lighthouse machines)
	LHGeneralDiscountCnt *uint64 `json:"LHGeneralDiscountCnt,omitnil,omitempty" name:"LHGeneralDiscountCnt"`

	// Number of new hosts compared with that yesterday
	CompareYesterdayMachineCnt *int64 `json:"CompareYesterdayMachineCnt,omitnil,omitempty" name:"CompareYesterdayMachineCnt"`

	// Auto-cleanup Time, maximum 720 hours, minimum 0, 0 by default, 0=OFF
	MachineDestroyAfterOfflineHours *uint64 `json:"MachineDestroyAfterOfflineHours,omitnil,omitempty" name:"MachineDestroyAfterOfflineHours"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineLicense []*MachineLicenseDetail `json:"MachineLicense,omitnil,omitempty" name:"MachineLicense"`

	// Total number
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Operating system list
	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 {
	// Type of the machine's zone
	// CVM: Cloud Virtual Machine
	// BM: BMECM: Edge Computing Machine
	// LH: Lighthouse
	// Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. For example, ap-guangzhou and ap-shanghai.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Number 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>Ips - String - required: no - query by IP</li>
	// <li>Names - String - required: no - query by instance name</li>
	// <li>InstanceIds - String - required: no - instance ID for query </li>
	// <li>Status - String - required: no - client online status (OFFLINE: offline/shut down | ONLINE: online | UNINSTALLED: not installed | AGENT_OFFLINE: agent offline | AGENT_SHUTDOWN: agent shut down)</li>
	// <li>Version - String required: no - current edition ( PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Edition | Flagship: Ultimate Edition | ProtectedMachines: Pro + Ultimate Editions)</li>
	// <li>Risk - String - required: no - risky host (yes)</li>
	// <li>Os - String - required: no - operating system (value of DescribeMachineOsList)</li>
	// Each filter criterion supports only one value.
	// <li>Quuid - String - required: no - CVM instance UUID. Maximum value: 100.</li>
	// <li>AddedOnTheFifteen - String required: no - whether to query only hosts added within the last 15 days (1: yes) </li>
	// <li> TagId - String required: no - query the list of hosts associated with the specified tag </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 DescribeMachinesRequest struct {
	*tchttp.BaseRequest
	
	// Type of the machine's zone
	// CVM: Cloud Virtual Machine
	// BM: BMECM: Edge Computing Machine
	// LH: Lighthouse
	// Other: Hybrid Cloud Zone
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Machine region. For example, ap-guangzhou and ap-shanghai.
	MachineRegion *string `json:"MachineRegion,omitnil,omitempty" name:"MachineRegion"`

	// Number 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>Ips - String - required: no - query by IP</li>
	// <li>Names - String - required: no - query by instance name</li>
	// <li>InstanceIds - String - required: no - instance ID for query </li>
	// <li>Status - String - required: no - client online status (OFFLINE: offline/shut down | ONLINE: online | UNINSTALLED: not installed | AGENT_OFFLINE: agent offline | AGENT_SHUTDOWN: agent shut down)</li>
	// <li>Version - String required: no - current edition ( PRO_VERSION: Pro Edition | BASIC_VERSION: Basic Edition | Flagship: Ultimate Edition | ProtectedMachines: Pro + Ultimate Editions)</li>
	// <li>Risk - String - required: no - risky host (yes)</li>
	// <li>Os - String - required: no - operating system (value of DescribeMachineOsList)</li>
	// Each filter criterion supports only one value.
	// <li>Quuid - String - required: no - CVM instance UUID. Maximum value: 100.</li>
	// <li>AddedOnTheFifteen - String required: no - whether to query only hosts added within the last 15 days (1: yes) </li>
	// <li> TagId - String required: no - query the list of hosts associated with the specified tag </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 *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")
	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 {
	// List of hosts
	Machines []*Machine `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 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 and ap-shanghai.
	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 and ap-shanghai.
	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 {
	// List of Trojans
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*MaliciousRequestWhiteListInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {

}

type DescribeMalwareTimingScanSettingRequest struct {
	*tchttp.BaseRequest
	
}

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
	}
	
	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 {
	// Detection mode: 0 - full disk detection; 1 - rapid detection
	CheckPattern *uint64 `json:"CheckPattern,omitnil,omitempty" name:"CheckPattern"`

	// Detection cycle; start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Detection cycle; timeout end time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether all servers: 1 - all; 2 - specified
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// When you select servers, host quuid is required.
	// Note: This field may return null, indicating that no valid values can be obtained.
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Monitoring mode: 0 - standard; 1 - deep
	MonitoringPattern *uint64 `json:"MonitoringPattern,omitnil,omitempty" name:"MonitoringPattern"`

	// Cycle: 1 - daily
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Scheduled detection switch: 0 - disable; 1 - enable
	EnableScan *int64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

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

	// Real-time monitoring: 0 - disable 1 - enable
	RealTimeMonitoring *int64 `json:"RealTimeMonitoring,omitnil,omitempty" name:"RealTimeMonitoring"`

	// Whether to isolate automatically: 1 - yes; 0 - no
	AutoIsolation *uint64 `json:"AutoIsolation,omitnil,omitempty" name:"AutoIsolation"`

	// One-click scan timeout duration, such as 1800 seconds
	ClickTimeout *uint64 `json:"ClickTimeout,omitnil,omitempty" name:"ClickTimeout"`

	// Whether to terminate the process: 1: terminate; 0: not terminate. It is effective only if automatic isolation is enabled.
	KillProcess *uint64 `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// 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"`

	// Heuristic Engine: 0 - OFF, 1 - ON
	EnableInspiredEngine *uint64 `json:"EnableInspiredEngine,omitnil,omitempty" name:"EnableInspiredEngine"`

	// Whether to enable malicious process killing [0: Not Enabled; 1: Enabled]
	EnableMemShellScan *uint64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`

	// Protection mode: 0 - standard; 1 - enhanced
	ProtectMode *uint64 `json:"ProtectMode,omitnil,omitempty" name:"ProtectMode"`

	// Scope of detection: 0 - malicious files other than scripts; 1 - all malicious files
	ProtectFileScope *uint64 `json:"ProtectFileScope,omitnil,omitempty" name:"ProtectFileScope"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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]
	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]
	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 DescribeMonthInspectionReportRequestParams struct {
	// Pagination size
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type DescribeMonthInspectionReportRequest struct {
	*tchttp.BaseRequest
	
	// Pagination size
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Pagination step size
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeMonthInspectionReportRequest) 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", "DescribeMonthInspectionReportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeMonthInspectionReportResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Inspection report list
	List []*MonthInspectionReport `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 DescribeMonthInspectionReportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMonthInspectionReportResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeNetAttackSettingRequestParams struct {

}

type DescribeNetAttackSettingRequest struct {
	*tchttp.BaseRequest
	
}

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
	}
	
	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 {
	// 0 - Disable Network Attack Detection; 1 - Enable Network Attack Detection.
	NetAttackEnable *uint64 `json:"NetAttackEnable,omitnil,omitempty" name:"NetAttackEnable"`

	// 0: New warning events pending processing by default, 1: New warning events processed by default, 3: New warning events ignored by default.
	NetAttackAlarmStatus *uint64 `json:"NetAttackAlarmStatus,omitnil,omitempty" name:"NetAttackAlarmStatus"`

	// 1 - All Premium Edition Hosts, 0 - Hosts in InstanceIds List
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Selected hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// Custom Hosts to Exclude
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Postpay yesterday's charge
	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 activated
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*RansomDefenseBackup `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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"`
}

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")
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*RansomDefenseEvent `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Host list
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*RansomDefenseStrategyMachineBackupInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*RansomDefenseRollbackTask `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*RansomDefenseStrategy `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Host list
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*RansomDefenseStrategyMachineDetail `json:"List,omitnil,omitempty" name:"List"`

	// Total number of pagination query records
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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>IpOrName - String - 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 (First convert the domain name into the urlencode format, and then encode it using base64.)</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>IpOrName - String - 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 (First convert the domain name into the urlencode format, and then encode it using base64.)</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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Data list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanBeginTime *string `json:"ScanBeginTime,omitnil,omitempty" name:"ScanBeginTime"`

	// Number of vulnerabilities scanned
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskEventCount *uint64 `json:"RiskEventCount,omitnil,omitempty" name:"RiskEventCount"`

	// Scan end time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulInfo []*VulDetailInfo `json:"VulInfo,omitnil,omitempty" name:"VulInfo"`

	// Number of risk events
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskEventCount *uint64 `json:"RiskEventCount,omitnil,omitempty" name:"RiskEventCount"`

	// 0: one-click scan; 1: scheduled scan.Note: This field may return null, indicating that no valid values can be obtained.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Whether all tasks are being stopped. true: yes.Note: This field may return null, indicating that no valid values can be obtained.
	StoppingAll *bool `json:"StoppingAll,omitnil,omitempty" name:"StoppingAll"`

	// Number of vulnerabilities scanned
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 hosts with all Professional, Premium, and General Discount editions by default; if not empty, only scan the selected hosts.
	Uuids []*string `json:"Uuids,omitnil,omitempty" name:"Uuids"`


	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 event
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Statistical details icon data. Name: display the host IP and region; value: number of events
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 broadcasting article details
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 security report type: 0 - emergency notification; 1 - feature update; 2 - industry honor; 3 - version release
	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 security report type: 0 - emergency notification; 1 - feature update; 2 - industry honor; 3 - version release
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	WindowVul *SecurityEventInfo `json:"WindowVul,omitnil,omitempty" name:"WindowVul"`

	// Total of Linux system vulnerability events
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeSecurityProtectionStatRequestParams struct {

}

type DescribeSecurityProtectionStatRequest struct {
	*tchttp.BaseRequest
	
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityProtectionStatRequest) 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", "DescribeSecurityProtectionStatRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecurityProtectionStatResponseParams struct {
	// 0: asset not paid; 1: agent not installed; 2: Pro or Ultimate Edition for some assets; 3: Pro or Ultimate Edition for all assets.
	AssetManageStat *uint64 `json:"AssetManageStat,omitnil,omitempty" name:"AssetManageStat"`

	// 0: never scanned or asset not paid; 1: vulnerability risk found; 2: no risk.
	VulManageStat *uint64 `json:"VulManageStat,omitnil,omitempty" name:"VulManageStat"`

	// 0: never scanned or asset not paid; 1: baseline risk found; 2: no risk.
	SecureBasicLineStat *uint64 `json:"SecureBasicLineStat,omitnil,omitempty" name:"SecureBasicLineStat"`

	// 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.
	MalwareScanStat *uint64 `json:"MalwareScanStat,omitnil,omitempty" name:"MalwareScanStat"`

	// Enabling status of password cracking prevention. 0: disabled or asset not paid; 1: enabled; 2: events pending fixing found.
	DefenseBruteAttackStat *uint64 `json:"DefenseBruteAttackStat,omitnil,omitempty" name:"DefenseBruteAttackStat"`

	// Core file monitoring. 0: disabled (asset not paid); 1: enabled.
	FileTamperStat *uint64 `json:"FileTamperStat,omitnil,omitempty" name:"FileTamperStat"`

	// Web page tamper prevention. 0: disabled; 1: enabled.
	WebPageStat *uint64 `json:"WebPageStat,omitnil,omitempty" name:"WebPageStat"`

	// Abnormal log-in. 0: unfixed risks found; 1: no risk and allowlist not configured; 2: no risk and allowlist configured.
	LoginLogStat *uint64 `json:"LoginLogStat,omitnil,omitempty" name:"LoginLogStat"`

	// Password cracking risk detection. 0: unfixed risks found; 1: no risk with detection in progress.
	DiscoverBruteAttackStat *uint64 `json:"DiscoverBruteAttackStat,omitnil,omitempty" name:"DiscoverBruteAttackStat"`

	// Malicious request. 0: no asset in Pro or Ultimate Edition; 1: unfixed malicious request risks found; 2: paid assets found with no risk.
	MaliciousRequestStat *uint64 `json:"MaliciousRequestStat,omitnil,omitempty" name:"MaliciousRequestStat"`

	// Local privilege escalation. 0: no asset in Pro or Ultimate Edition; 1: unfixed risks found; 2: paid assets found with no risk.
	PrivilegeStat *uint64 `json:"PrivilegeStat,omitnil,omitempty" name:"PrivilegeStat"`

	// Reverse shell. 0: no asset in Pro or Ultimate Edition; 1: unfixed risks found; 2: paid assets found with no risk.
	ReverseShellStat *uint64 `json:"ReverseShellStat,omitnil,omitempty" name:"ReverseShellStat"`

	// Expert service. 0: disabled; 1: enabled.
	ExpertServiceStat *uint64 `json:"ExpertServiceStat,omitnil,omitempty" name:"ExpertServiceStat"`

	// Log analysis. 0: disabled; 1: enabled.
	LogAnalysisStat *uint64 `json:"LogAnalysisStat,omitnil,omitempty" name:"LogAnalysisStat"`

	// Security alarm. 0: disabled (for all assets); 1: enabled (for at least one asset).
	WarningSetStat *uint64 `json:"WarningSetStat,omitnil,omitempty" name:"WarningSetStat"`

	// High-risk command. 0: no asset in Pro or Ultimate Edition; 1: unfixed risks found; 2: paid assets found with no risk.
	EventBashStat *uint64 `json:"EventBashStat,omitnil,omitempty" name:"EventBashStat"`

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

type DescribeSecurityProtectionStatResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecurityProtectionStatResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecurityProtectionStatResponse) 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 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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	UndoVulCount *uint64 `json:"UndoVulCount,omitnil,omitempty" name:"UndoVulCount"`

	// Number of unfixed hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	UndoHostCount *int64 `json:"UndoHostCount,omitnil,omitempty" name:"UndoHostCount"`

	// Number of Standard Edition hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 General Discount 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 specified point list
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 number of vulnerabilities for corresponding days in batch
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// List of vulnerability defense events
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// Current number of abnormal plugins
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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"`

	// List of affected host QUUIDs
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Current number of ultimate edition hosts
	FlagshipCount *uint64 `json:"FlagshipCount,omitnil,omitempty" name:"FlagshipCount"`

	// List of affected host IDs
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// List of excluded host IDs
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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"`
}

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")
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixStartTime *string `json:"FixStartTime,omitnil,omitempty" name:"FixStartTime"`

	// Fixing end time. If this parameter is left blank, fixing is not ended.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixEndTime *string `json:"FixEndTime,omitnil,omitempty" name:"FixEndTime"`

	// Number of successfully fixed hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotList []*VulFixStatusSnapshotInfo `json:"SnapshotList,omitnil,omitempty" name:"SnapshotList"`

	// Details list of vulnerabilities to be fixed
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Number of snapshots failed to be created
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotFailCnt *uint64 `json:"SnapshotFailCnt,omitnil,omitempty" name:"SnapshotFailCnt"`

	// Whether retry is allowed. 0: not allowed; 1: allowed.Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

type DescribeVulInfoCvssRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`
}

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")
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulType *uint64 `json:"VulType,omitnil,omitempty" name:"VulType"`

	// Vulnerability Description Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Fixing solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	RepairPlan *string `json:"RepairPlan,omitnil,omitempty" name:"RepairPlan"`

	// Vulnerability CVE ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// Reference link
	// Note: This field may return null, indicating that no valid values can be obtained.
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// CVSS Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	CVSS *string `json:"CVSS,omitnil,omitempty" name:"CVSS"`

	// Release date
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublicDate *string `json:"PublicDate,omitnil,omitempty" name:"PublicDate"`

	// CVSS Score
	// Note: This field may return null, indicating that no valid values can be obtained.
	CvssScore *uint64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// CVSS Details
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveInfo *string `json:"CveInfo,omitnil,omitempty" name:"CveInfo"`

	// CVSS score, floating point type
	// Note: This field may return null, indicating that no valid values can be obtained.
	CvssScoreFloat *float64 `json:"CvssScoreFloat,omitnil,omitempty" name:"CvssScoreFloat"`

	// Vulnerability Tags, Separated by Multiple Commas
	// Note: This field may return null, indicating that no valid values can be obtained.
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Number of Attacks Defended
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenseAttackCount *uint64 `json:"DefenseAttackCount,omitnil,omitempty" name:"DefenseAttackCount"`

	// Total Number of Successful Network Repairs. Returns 0 by default for unsupported auto-repair vulnerabilities.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixSwitch *int64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// 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>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 - support for defense: 0: not supported; 1: supported</li>
	// <li>Labels - string - required: no - tag for search</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"`

	// 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>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 - support for defense: 0: not supported; 1: supported</li>
	// <li>Labels - string - required: no - tag for search</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 {
	// Vulnerability list
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulInfoList []*VulInfoList `json:"VulInfoList,omitnil,omitempty" name:"VulInfoList"`

	// Total number of vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Total number of focused vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemLabels []*string `json:"ItemLabels,omitnil,omitempty" name:"ItemLabels"`

	// Machine list
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Total Number of Machine Lists
	// Note: This field may return null, indicating that no valid values can be obtained.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of Project or Tag IDs, empty for custom hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemLabelIds []*string `json:"ItemLabelIds,omitnil,omitempty" name:"ItemLabelIds"`


	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Uuid
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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"`
}

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")
	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 EmergencyResponseInfo struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

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

	// Service status: 0 not started, · in progress, 2 completed
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

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

	// Service end time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Report download link
	ReportPath *string `json:"ReportPath,omitnil,omitempty" name:"ReportPath"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// CVSS score
	// Note: This field may return null, indicating that no valid values can be obtained.
	CvssScore *float64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// Vulnerability Tags, Separated by Multiple Commas
	// Note: This field may return null, indicating that no valid values can be obtained.
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Number of affected machines
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Whether to support defense: 0: no; 1: yes
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsSupportDefense *uint64 `json:"IsSupportDefense,omitnil,omitempty" name:"IsSupportDefense"`

	// Number of Attacks Defended
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenseAttackCount *uint64 `json:"DefenseAttackCount,omitnil,omitempty" name:"DefenseAttackCount"`

	// Detection rule: 0: version comparison; 1: POC verification
	// Note: This field may return null, indicating that no valid values can be obtained.
	Method *uint64 `json:"Method,omitnil,omitempty" name:"Method"`

	// Attack intensity level
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackLevel *uint64 `json:"AttackLevel,omitnil,omitempty" name:"AttackLevel"`

	// Whether vulnerability defense is enabled on hosts with vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenseState *bool `json:"DefenseState,omitnil,omitempty" name:"DefenseState"`
}

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"`
}

type ExpertServiceOrderInfo struct {
	// Order ID
	OrderId *uint64 `json:"OrderId,omitnil,omitempty" name:"OrderId"`

	// Order type. 1: emergency; 2: Ultimate Edition important period guarantee; 3: security manager.
	InquireType *uint64 `json:"InquireType,omitnil,omitempty" name:"InquireType"`

	// Number of services
	InquireNum *uint64 `json:"InquireNum,omitnil,omitempty" name:"InquireNum"`

	// Service start time
	BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"`

	// Service end time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Service duration, in months
	ServiceTime *uint64 `json:"ServiceTime,omitnil,omitempty" name:"ServiceTime"`

	// Order status. 0: not started; 1: in service; 2: expired; 3: completed; 4: refunded and terminated.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

// Predefined struct for user
type ExportAssetAppListRequestParams 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>
	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"`

	// 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>
	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"`

	// Filter criteria
	// <li>Name - String - whether required: no - account name</li>
	// <li>Uid - uint64 - whether required: no - Uid</li>
	// <li>Guid - uint64 - whether required: no - Guid</li>
	// <li>LoginTimeStart - String - whether required: no - start time, such as 2021-01-11</li>
	// <li>LoginTimeEnd - String - whether required: no - end time, such as 2021-01-11</li>
	// <li>LoginType - uint64 - whether 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 - whether required: no - Windows or Linux</li>
	// <li>Status - uint64 - whether required: no - account status: 0 - disabled; 1 - enabled</li>
	// <li>Type - uint64 - whether required: no - account type: 0 - guest user; 1 - standard user; 2 - administrator user (Windows Only)</li>
	// <li>IsDomain - uint64 - whether required: no - whether a domain account: 0 - no; 1 - yes (Windows only)</li>
	// <li>IsRoot - uint64 - whether required: no - whether there is root permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSudo - uint64 - whether required: no - whether there is sudo permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSshLogin - uint64 - whether required: no - whether to use ssh log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>ShellLoginStatus - uint64 - whether required: no - whether to use shell log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>PasswordStatus - uint64 - whether 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"`

	// Filter criteria
	// <li>Name - String - whether required: no - account name</li>
	// <li>Uid - uint64 - whether required: no - Uid</li>
	// <li>Guid - uint64 - whether required: no - Guid</li>
	// <li>LoginTimeStart - String - whether required: no - start time, such as 2021-01-11</li>
	// <li>LoginTimeEnd - String - whether required: no - end time, such as 2021-01-11</li>
	// <li>LoginType - uint64 - whether 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 - whether required: no - Windows or Linux</li>
	// <li>Status - uint64 - whether required: no - account status: 0 - disabled; 1 - enabled</li>
	// <li>Type - uint64 - whether required: no - account type: 0 - guest user; 1 - standard user; 2 - administrator user (Windows Only)</li>
	// <li>IsDomain - uint64 - whether required: no - whether a domain account: 0 - no; 1 - yes (Windows only)</li>
	// <li>IsRoot - uint64 - whether required: no - whether there is root permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSudo - uint64 - whether required: no - whether there is sudo permission: 0 - no; 1 - yes (Linux only)</li>
	// <li>IsSshLogin - uint64 - whether required: no - whether to use ssh log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>ShellLoginStatus - uint64 - whether required: no - whether to use shell log-in: 0 - no; 1 - yes (Linux only)</li>
	// <li>PasswordStatus - uint64 - whether 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 discarded.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	Fields *string `json:"Fields,omitnil,omitempty" name:"Fields"`
}

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"`
}

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")
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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"`
}

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")
	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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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, which is used to obtain the download URL (DownloadUrl) using the asynchronous task export API ExportTasks.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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>IpOrName - String - 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 (First convert the domain name into the urlencode format, and then encode it using base64.)</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>IpOrName - String - 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 (First convert the domain name into the urlencode format, and then encode it using base64.)</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 {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type ExportTasksRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	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 {
	// PENDING: download URL being generated; FINISHED: download URL generated; ERROR: network error or other errors.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// 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 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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	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)
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	TargetModifyTime *string `json:"TargetModifyTime,omitnil,omitempty" name:"TargetModifyTime"`

	// Target File Creation Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExeName *string `json:"ExeName,omitnil,omitempty" name:"ExeName"`

	//  Host Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// File threat behavior
	// <li>read: read file</li>
	// <li>write: modify file</li>
	// Note: This field may return null, indicating that no valid values can be obtained.
	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>
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileAction *string `json:"FileAction,omitnil,omitempty" name:"FileAction"`
}

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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type FileTamperRuleDetail struct {
	// Rule name
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Allowlisted processing type
	// <li>cur: add the current items to the allowlist</li>
	// <li>all: add all items that meet the conditions to the allowlist</li>
	// Note: This field may return null, indicating that no valid values can be obtained.
	AddWhiteType *string `json:"AddWhiteType,omitnil,omitempty" name:"AddWhiteType"`
}

type FileTamperRuleInfo struct {
	// Rule name
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 the sub-rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	WriteRuleCount *uint64 `json:"WriteRuleCount,omitnil,omitempty" name:"WriteRuleCount"`

	// Number of read entries for the sub-rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReadRuleCount *uint64 `json:"ReadRuleCount,omitnil,omitempty" name:"ReadRuleCount"`

	// Number of read and write entries for the sub-rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	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>
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileAction *string `json:"FileAction,omitnil,omitempty" name:"FileAction"`

	// Allowlisted processing type
	// <li>cur: add the current items to the allowlist</li>
	// <li>all: add all items that meet the conditions to the allowlist</li>
	// Note: This field may return null, indicating that no valid values can be obtained.
	AddWhiteType *string `json:"AddWhiteType,omitnil,omitempty" name:"AddWhiteType"`
}

type Filter 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"`

	// Fuzzy search
	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"`

	// Username
	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 {
	// Yunjing client ID
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host ID
	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 {
	// Quuid
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

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

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

	// UUID string
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineIp *string `json:"MachineIp,omitnil,omitempty" name:"MachineIp"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Username
	// Note: This field may return null, indicating that no valid values can be obtained.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Source IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Country *uint64 `json:"Country,omitnil,omitempty" name:"Country"`

	// City ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	City *uint64 `json:"City,omitnil,omitempty" name:"City"`

	// Province ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Province *uint64 `json:"Province,omitnil,omitempty" name:"Province"`

	// Log-in time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LoginTime *string `json:"LoginTime,omitnil,omitempty" name:"LoginTime"`

	// Modification time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Whether hit the exception of cross-region log-in: 1: yes; 0: no
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsRiskArea *uint64 `json:"IsRiskArea,omitnil,omitempty" name:"IsRiskArea"`

	// Whether hit the exception of abnormal user: 1: yes; 0: no
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsRiskUser *uint64 `json:"IsRiskUser,omitnil,omitempty" name:"IsRiskUser"`

	// Whether hit the exception of abnormal time: 1: yes; 0: no
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsRiskTime *uint64 `json:"IsRiskTime,omitnil,omitempty" name:"IsRiskTime"`

	// Whether hit the exception of abnormal IP: 1: yes; 0: no
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsRiskSrcIp *uint64 `json:"IsRiskSrcIp,omitnil,omitempty" name:"IsRiskSrcIp"`

	// Risk level:
	// 0: high
	// 1: suspicious
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Location name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Location *string `json:"Location,omitnil,omitempty" name:"Location"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// High-risk information description:
	// ABROAD - overseas IP
	// XTI - threat intelligence
	// Note: This field may return null, indicating that no valid values can be obtained.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Request destination port
	// Note: This field may return null, indicating that no valid values can be obtained.
	Port *int64 `json:"Port,omitnil,omitempty" name:"Port"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host tag name array
	// Note: This field may return null, indicating that no valid values can be obtained.
	TagList []*string `json:"TagList,omitnil,omitempty" name:"TagList"`

	// Host intranet IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	AliasName *string `json:"AliasName,omitnil,omitempty" name:"AliasName"`

	// Host public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Kernel version number
	// Note: This field may return null, indicating that no valid values can be obtained.
	KernelVersion *string `json:"KernelVersion,omitnil,omitempty" name:"KernelVersion"`

	// Host online status: ONLINE; OFFLINE
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Protection version: BASIC_VERSION - Basic Edition PRO_VERSION - Professional Edition; Flagship: Ultimate Edition
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Number of vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulNum *int64 `json:"VulNum,omitnil,omitempty" name:"VulNum"`

	// Cloud Tag Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Host Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`
}

type IgnoreBaselineRule struct {
	// Baseline check item name
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Baseline check item ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleId *uint64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Update time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Fixing suggestions
	// Note: This field may return null, indicating that no valid values can be obtained.
	Fix *string `json:"Fix,omitnil,omitempty" name:"Fix"`

	// Number of affected hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	EffectHostCount *uint64 `json:"EffectHostCount,omitnil,omitempty" name:"EffectHostCount"`
}

// Predefined struct for user
type IgnoreImpactedHostsRequestParams struct {
	// Vulnerability ID array
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

type IgnoreImpactedHostsRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID array
	Ids []*uint64 `json:"Ids,omitnil,omitempty" name:"Ids"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *IgnoreImpactedHostsRequest) 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", "IgnoreImpactedHostsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type IgnoreImpactedHostsResponseParams 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 IgnoreImpactedHostsResponse struct {
	*tchttp.BaseResponse
	Response *IgnoreImpactedHostsResponseParams `json:"Response"`
}

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

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

type IgnoreRuleEffectHostInfo struct {
	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Severity level: 1: low-risk; 2: medium-risk; 3: high-risk; 4: critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Host tag array
	// Note: This field may return null, indicating that no valid values can be obtained.
	TagList []*string `json:"TagList,omitnil,omitempty" name:"TagList"`

	// Status: 0: failed; 1: ignore; 3: passed; 5: detecting
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Last check time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Event ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`
}

type IncidentVertexInfo struct {
	// Event ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	IncidentId *string `json:"IncidentId,omitnil,omitempty" name:"IncidentId"`

	// The name of the table where the event occurred
	// Note: This field may return null, indicating that no valid values can be obtained.
	TableName *string `json:"TableName,omitnil,omitempty" name:"TableName"`

	// A list of node information, with array items containing detailed node information
	// Note: This field may return null, indicating that no valid values can be obtained.
	Vertex []*VertexInfo `json:"Vertex,omitnil,omitempty" name:"Vertex"`

	// Total number of nodes
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Additional host information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Instance status: RUNNING, STOPPED, SHUTDOWN...
	MachineState *string `json:"MachineState,omitnil,omitempty" name:"MachineState"`
}

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

	// Server name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Alias *string `json:"Alias,omitnil,omitempty" name:"Alias"`

	// Server IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Server UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host Additional Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 to be indexed
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

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 of machine
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*Tags `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Number of frozen authorizations. 0: no authorization is frozen; other values: actual number of frozen authorizations.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Month *string `json:"Month,omitnil,omitempty" name:"Month"`

	// Used storage capacity, in bytes
	// Note: This field may return null, indicating that no valid values can be obtained.
	UsedSize *uint64 `json:"UsedSize,omitnil,omitempty" name:"UsedSize"`

	// Total capacity, in bytes
	// Note: This field may return null, indicating that no valid values can be obtained.
	InquireSize *uint64 `json:"InquireSize,omitnil,omitempty" name:"InquireSize"`
}

type LoginWhiteCombinedInfo struct {
	// Allowlist region
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Yunjing client ID
	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 {
	// Host name.
	MachineName *string `json:"MachineName,omitnil,omitempty" name:"MachineName"`

	// Host System.
	MachineOs *string `json:"MachineOs,omitnil,omitempty" name:"MachineOs"`

	// Host status
	// <li>OFFLINE: Offline</li>
	// <li>ONLINE: Online</li>
	// <li>SHUTDOWN: Shut down</li>
	// <li>UNINSTALLED: Unprotected</li>
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`


	AgentStatus *string `json:"AgentStatus,omitnil,omitempty" name:"AgentStatus"`


	InstanceStatus *string `json:"InstanceStatus,omitnil,omitempty" name:"InstanceStatus"`

	// Yunjing client UUID. If the client is offline for a long time, an empty string is returned.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// 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"`

	// 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 a 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 yearly/monthly subscription mode</li>
	PayMode *string `json:"PayMode,omitnil,omitempty" name:"PayMode"`

	// Number of Trojans
	MalwareNum *int64 `json:"MalwareNum,omitnil,omitempty" name:"MalwareNum"`

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

	// 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"`

	// Region information
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// Instance status: TERMINATED_PRO_VERSION - terminated
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// Tamper-proof; authorization status: 1 - authorized; 0 - unauthorized
	LicenseStatus *uint64 `json:"LicenseStatus,omitnil,omitempty" name:"LicenseStatus"`

	// Project ID
	ProjectId *int64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`

	// Whether there is an available asset scanning API: 0 - no; 1 - yes
	HasAssetScan *uint64 `json:"HasAssetScan,omitnil,omitempty" name:"HasAssetScan"`

	// 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 - Inclusive Edition
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Cloud Tag Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Whether a host added within the last 15 days: 0: no; 1: yes
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAddedOnTheFifteen *uint64 `json:"IsAddedOnTheFifteen,omitnil,omitempty" name:"IsAddedOnTheFifteen"`

	// Host IP List
	// Note: This field may return null, indicating that no valid values can be obtained.
	IpList *string `json:"IpList,omitnil,omitempty" name:"IpList"`

	// Network
	// Note: This field may return null, indicating that no valid values can be obtained.
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

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

	// Remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`


	AgentVersion *string `json:"AgentVersion,omitnil,omitempty" name:"AgentVersion"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	WanIP *string `json:"WanIP,omitnil,omitempty" name:"WanIP"`

	// 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"`

	// Network Type. 1: VPC network; 2: Basic Network; 3: Non-Tencent Cloud Network
	// Note: This field may return null, indicating that no valid values can be obtained.
	NetworkType *int64 `json:"NetworkType,omitnil,omitempty" name:"NetworkType"`

	// Network Name, returns vpc_id in the case of a VPC network
	// Note: This field may return null, indicating that no valid values can be obtained.
	NetworkName *string `json:"NetworkName,omitnil,omitempty" name:"NetworkName"`

	// Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`
}

type MachineFileTamperRule struct {
	// Rule name
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// xx
	PayMode *uint64 `json:"PayMode,omitnil,omitempty" name:"PayMode"`

	// xxx
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// xxx
	InquireKey *string `json:"InquireKey,omitnil,omitempty" name:"InquireKey"`

	// xxx
	SourceType *uint64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`
}

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

	// Host System.
	MachineOs *string `json:"MachineOs,omitnil,omitempty" name:"MachineOs"`

	// Yunjing client UUID. If the client is offline for a long time, an empty string 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"`

	// Instance status. TERMINATED_PRO_VERSION: terminated.
	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 Edition. BASIC_VERSION: Basic Edition; PRO_VERSION: Professional Edition; Flagship: Premium Edition; GENERAL_DISCOUNT: General Discount Edition
	ProtectType *string `json:"ProtectType,omitnil,omitempty" name:"ProtectType"`

	// Authorization order object
	// Note: This field may return null, indicating that no valid values can be obtained.
	LicenseOrder *LicenseOrder `json:"LicenseOrder,omitnil,omitempty" name:"LicenseOrder"`

	// Cloud Tag Information
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

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

	// Status: 4-Pending, 5-Trusted, 6-Isolated, 8-Files Deleted, 14-Processed.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Unique ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// First running time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileCreateTime *string `json:"FileCreateTime,omitnil,omitempty" name:"FileCreateTime"`

	// Last running time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Breadth *string `json:"Breadth,omitnil,omitempty" name:"Breadth"`

	// Search popularity // Not provided currently
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Process tree in JSON format. pid: process ID; exe: file path; account: groups and users to which the process belongs; cmdline: executed commands; ssh_service: SSH service IP; ssh_source: log-in source
	// .Note: This field may return null, indicating that no valid values can be obtained.
	PsTree *string `json:"PsTree,omitnil,omitempty" name:"PsTree"`

	// Online status of a host: OFFLINE and ONLINE
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineStatus *string `json:"MachineStatus,omitnil,omitempty" name:"MachineStatus"`

	// Status. 4: pending; 5: trusted; 6: isolated.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Risk level. 0: prompt; 1: low; 2: medium; 3: high; 4: critical.Note: This field may return null, indicating that no valid values can be obtained.
	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.Note: This field may return null, indicating that no valid values can be obtained.
	CheckPlatform *string `json:"CheckPlatform,omitnil,omitempty" name:"CheckPlatform"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Last modification time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Last access time
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrFileAccessTime *string `json:"StrFileAccessTime,omitnil,omitempty" name:"StrFileAccessTime"`

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

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"`
}

// 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"`

	// 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"`
}

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"`

	// 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"`
}

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, "AutoRepurchaseSwitch")
	delete(f, "AutoRepurchaseRenewSwitch")
	delete(f, "RepurchaseRenewSwitch")
	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 {
	// Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Blocking time. This parameter is valid in standard blocking mode.
	Ttl *uint64 `json:"Ttl,omitnil,omitempty" name:"Ttl"`
}

type ModifyBanModeRequest struct {
	*tchttp.BaseRequest
	
	// Blocking mode. STANDARD_MODE: standard mode; DEEP_MODE: deep mode.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// Blocking time. This parameter is valid in standard blocking mode.
	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 {
	// Rule of determining brute force cracking
	Rules []*BruteAttackRule `json:"Rules,omitnil,omitempty" name:"Rules"`
}

type ModifyBruteAttackRulesRequest struct {
	*tchttp.BaseRequest
	
	// Rule of determining brute force cracking
	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 1: Processed 2: Allowlisted 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 1: Processed 2: Allowlisted 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"`
}

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"`
}

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")
	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
	IsModifyPeriod *bool `json:"IsModifyPeriod,omitnil,omitempty" name:"IsModifyPeriod"`

	// Storage type: string array
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`

	// Log retention days. The value 3640 indicates that the number of days is unlimited.
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`
}

type ModifyLogStorageConfigRequest struct {
	*tchttp.BaseRequest
	
	// Whether to modify the validity period
	IsModifyPeriod *bool `json:"IsModifyPeriod,omitnil,omitempty" name:"IsModifyPeriod"`

	// Storage type: string array
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`

	// Log retention days. The value 3640 indicates that the number of days is unlimited.
	Period *int64 `json:"Period,omitnil,omitempty" name:"Period"`
}

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")
	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 {
	// Allowlisted users (Multiple users are separated by commas.)
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Allowlisted dimension information recorded after the update
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

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

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

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

	// Whether it applies to all servers: 0: no; 1: yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

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

	// Server list
	Hosts []*HostInfo `json:"Hosts,omitnil,omitempty" name:"Hosts"`

	// Region list
	Places []*Place `json:"Places,omitnil,omitempty" name:"Places"`
}

type ModifyLoginWhiteRecordRequest struct {
	*tchttp.BaseRequest
	
	// Allowlisted users (Multiple users are separated by commas.)
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Allowlisted dimension information recorded after the update
	SrcIp *string `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

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

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

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

	// Whether it applies to all servers: 0: no; 1: yes
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

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

	// Server list
	Hosts []*HostInfo `json:"Hosts,omitnil,omitempty" name:"Hosts"`

	// Region list
	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 {
	// Clean-up rule time, 0 for OFF, in days, up to 30 days
	ClearRule *uint64 `json:"ClearRule,omitnil,omitempty" name:"ClearRule"`
}

type ModifyMachineAutoClearConfigRequest struct {
	*tchttp.BaseRequest
	
	// Clean-up rule time, 0 for OFF, in days, up to 30 days
	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 {
	// Detection mode. 0: full disk detection; 1: rapid detection
	CheckPattern *uint64 `json:"CheckPattern,omitnil,omitempty" name:"CheckPattern"`

	// Detection interval start time, such as 02:00:00
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Detection interval timeout end time, such as 04:00:00
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether all servers. 1: all; 2: specified
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Regular detection switch. 0: off; 1: on
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Monitoring mode. 0: standard; 1: deep
	MonitoringPattern *uint64 `json:"MonitoringPattern,omitnil,omitempty" name:"MonitoringPattern"`

	// Scan interval: defaults to 1 per day
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Real-time monitoring. 0: off; 1: on
	RealTimeMonitoring *uint64 `json:"RealTimeMonitoring,omitnil,omitempty" name:"RealTimeMonitoring"`

	// Required for specified servers, a string array of host QUUIDs
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether to apply automatic isolation. 1: yes; 0: no
	AutoIsolation *uint64 `json:"AutoIsolation,omitnil,omitempty" name:"AutoIsolation"`

	// Whether to terminate the process. 1: terminate; 0: not terminate
	KillProcess *uint64 `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// 1: clean up; 0: not clean up
	// <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 *uint64 `json:"DoClean,omitnil,omitempty" name:"DoClean"`

	// 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"`

	// Heuristic Engine Switch: 0 OFF, 1 ON.
	EnableInspiredEngine *uint64 `json:"EnableInspiredEngine,omitnil,omitempty" name:"EnableInspiredEngine"`

	// Whether to enable malicious process killing [0: Not Enabled; 1: Enabled]
	EnableMemShellScan *uint64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`

	// Protection mode: 0: standard; 1: important period guarantee
	ProtectMode *uint64 `json:"ProtectMode,omitnil,omitempty" name:"ProtectMode"`

	// Scope of detection: 0: malicious files other than scripts; 1: all malicious files
	ProtectFileScope *uint64 `json:"ProtectFileScope,omitnil,omitempty" name:"ProtectFileScope"`
}

type ModifyMalwareTimingScanSettingsRequest struct {
	*tchttp.BaseRequest
	
	// Detection mode. 0: full disk detection; 1: rapid detection
	CheckPattern *uint64 `json:"CheckPattern,omitnil,omitempty" name:"CheckPattern"`

	// Detection interval start time, such as 02:00:00
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Detection interval timeout end time, such as 04:00:00
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Whether all servers. 1: all; 2: specified
	IsGlobal *uint64 `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Regular detection switch. 0: off; 1: on
	EnableScan *uint64 `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Monitoring mode. 0: standard; 1: deep
	MonitoringPattern *uint64 `json:"MonitoringPattern,omitnil,omitempty" name:"MonitoringPattern"`

	// Scan interval: defaults to 1 per day
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Real-time monitoring. 0: off; 1: on
	RealTimeMonitoring *uint64 `json:"RealTimeMonitoring,omitnil,omitempty" name:"RealTimeMonitoring"`

	// Required for specified servers, a string array of host QUUIDs
	QuuidList []*string `json:"QuuidList,omitnil,omitempty" name:"QuuidList"`

	// Whether to apply automatic isolation. 1: yes; 0: no
	AutoIsolation *uint64 `json:"AutoIsolation,omitnil,omitempty" name:"AutoIsolation"`

	// Whether to terminate the process. 1: terminate; 0: not terminate
	KillProcess *uint64 `json:"KillProcess,omitnil,omitempty" name:"KillProcess"`

	// 1: clean up; 0: not clean up
	// <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 *uint64 `json:"DoClean,omitnil,omitempty" name:"DoClean"`

	// 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"`

	// Heuristic Engine Switch: 0 OFF, 1 ON.
	EnableInspiredEngine *uint64 `json:"EnableInspiredEngine,omitnil,omitempty" name:"EnableInspiredEngine"`

	// Whether to enable malicious process killing [0: Not Enabled; 1: Enabled]
	EnableMemShellScan *uint64 `json:"EnableMemShellScan,omitnil,omitempty" name:"EnableMemShellScan"`

	// Protection mode: 0: standard; 1: important period guarantee
	ProtectMode *uint64 `json:"ProtectMode,omitnil,omitempty" name:"ProtectMode"`

	// Scope of detection: 0: malicious files other than scripts; 1: all malicious files
	ProtectFileScope *uint64 `json:"ProtectFileScope,omitnil,omitempty" name:"ProtectFileScope"`
}

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")
	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 {
	// 0 - Disable Network Attack Detection; 1 - Enable Network Attack Detection.
	NetAttackEnable *uint64 `json:"NetAttackEnable,omitnil,omitempty" name:"NetAttackEnable"`

	// 0: New warning events pending processing by default, 1: New warning events processed by default, 3: New warning events ignored by default.
	NetAttackAlarmStatus *uint64 `json:"NetAttackAlarmStatus,omitnil,omitempty" name:"NetAttackAlarmStatus"`

	// 1 - All Ultimate edition hosts; 0 - list of hosts with Quuids
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Specified hosts
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// Manually Excluded Hosts
	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"`
}

type ModifyNetAttackSettingRequest struct {
	*tchttp.BaseRequest
	
	// 0 - Disable Network Attack Detection; 1 - Enable Network Attack Detection.
	NetAttackEnable *uint64 `json:"NetAttackEnable,omitnil,omitempty" name:"NetAttackEnable"`

	// 0: New warning events pending processing by default, 1: New warning events processed by default, 3: New warning events ignored by default.
	NetAttackAlarmStatus *uint64 `json:"NetAttackAlarmStatus,omitnil,omitempty" name:"NetAttackAlarmStatus"`

	// 1 - All Ultimate edition hosts; 0 - list of hosts with Quuids
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Specified hosts
	InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`

	// Manually Excluded Hosts
	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"`
}

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")
	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 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 {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 {
	// Operations - 0: Mark as Handled, 1: Ignore, 2: Delete Record, 3: Trojan Isolation, 4: Isolated Trojan Resumption, 5: Trojan Trust, 6: Trojan Untrust, 7: Kill Exceptional Process.
	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"`
}

type ModifyRiskEventsStatusRequest struct {
	*tchttp.BaseRequest
	
	// Operations - 0: Mark as Handled, 1: Ignore, 2: Delete Record, 3: Trojan Isolation, 4: Isolated Trojan Resumption, 5: Trojan Trust, 6: Trojan Untrust, 7: Kill Exceptional Process.
	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"`
}

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")
	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 front end to check if the operation is completed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// 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"`

	// 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 {
	// Modified alarm setting content
	WarningObjects []*WarningObject `json:"WarningObjects,omitnil,omitempty" name:"WarningObjects"`
}

type ModifyWarningSettingRequest struct {
	*tchttp.BaseRequest
	
	// Modified alarm setting content
	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"`

	// Machines to be excluded
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`
}

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"`

	// Machines to be excluded
	ExcludedQuuids []*string `json:"ExcludedQuuids,omitnil,omitempty" name:"ExcludedQuuids"`
}

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")
	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 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"`
}

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")
	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 MonthInspectionReport struct {
	// Inspection report name
	ReportName *string `json:"ReportName,omitnil,omitempty" name:"ReportName"`

	// Inspection report download link
	ReportPath *string `json:"ReportPath,omitnil,omitempty" name:"ReportPath"`

	// Inspection report update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 edition. 0: Basic Edition; 1: Professional Edition; 2: Premium Edition; 3: General Discount 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"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 edition. 0: Basic Edition; 1: Professional Edition; 2: Premium Edition; 3: General Discount Edition
	PayVersion *uint64 `json:"PayVersion,omitnil,omitempty" name:"PayVersion"`

	// cvm uuid
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Time of Attack
	// Note: This field may return null, indicating that no valid values can be obtained.
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// 0: Attack Attempt 1: Successful Attack
	// Note: This field may return null, indicating that no valid values can be obtained.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// 0: No Compromised Behavior 1: RCE (command execution) 2: Dnslog 3: Writefile
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostOpType *uint64 `json:"HostOpType,omitnil,omitempty" name:"HostOpType"`

	// Process Tree, needs to be decoded with base64.
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostOpProcessTree *string `json:"HostOpProcessTree,omitnil,omitempty" name:"HostOpProcessTree"`
}

type NetAttackTopInfo struct {
	// Top Statistical Data on Network Attack Host Dimension
	// Note: This field may return null, indicating that no valid values can be obtained.
	Agent []*TopInfo `json:"Agent,omitnil,omitempty" name:"Agent"`

	// Top Statistical Data on Network Attack IP Source Dimension
	// Note: This field may return null, indicating that no valid values can be obtained.
	SrcIp []*TopInfo `json:"SrcIp,omitnil,omitempty" name:"SrcIp"`

	// Top Statistical Data on Network Attack Target Port Dimension
	// Note: This field may return null, indicating that no valid values can be obtained.
	DstPort []*TopInfo `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Top Statistical Data on Network Attack Vulnerability Dimension
	// Note: This field may return null, indicating that no valid values can be obtained.
	Vul []*TopInfo `json:"Vul,omitnil,omitempty" name:"Vul"`
}

type NetAttackTrend struct {
	// Time Point, e.g., 2023-05-06
	// Note: This field may return null, indicating that no valid values can be obtained.
	DateTime *string `json:"DateTime,omitnil,omitempty" name:"DateTime"`

	// Number of attacks
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackCount *uint64 `json:"AttackCount,omitnil,omitempty" name:"AttackCount"`

	// Attack Attempts
	// Note: This field may return null, indicating that no valid values can be obtained.
	TryAttackCount *uint64 `json:"TryAttackCount,omitnil,omitempty" name:"TryAttackCount"`

	// Attack Success Count
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuccAttackCount *uint64 `json:"SuccAttackCount,omitnil,omitempty" name:"SuccAttackCount"`
}

type NetAttackWhiteRule struct {
	// Rule ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Rule description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// 0: A group of Quuid 1: All hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	Scope *uint64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Whether to process previous events: 0: do not process; 1: process
	// Note: This field may return null, indicating that no valid values can be obtained.
	DealOldEvents *uint64 `json:"DealOldEvents,omitnil,omitempty" name:"DealOldEvents"`

	// Host QUUIDs, separated by semicolons (;).
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 (;)
	// Note: This field may return null, indicating that no valid values can be obtained.
	SrcIP *string `json:"SrcIP,omitnil,omitempty" name:"SrcIP"`

	// Creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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 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 China.
	CountryId *uint64 `json:"CountryId,omitnil,omitempty" name:"CountryId"`

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

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

	// Yunjing 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"`

	// 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"`
}

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 - Backing up, 1 - Normal, 2, 3 - Failed, 4 - Snapshot expired, 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"`
}

type RansomDefenseStrategy struct {
	// Policy ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Operating UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"`

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

	// Policy Remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 (;).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IncludeDir *string `json:"IncludeDir,omitnil,omitempty" name:"IncludeDir"`

	// Includes directories, separated by semicolons (;).
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExcludeDir *string `json:"ExcludeDir,omitnil,omitempty" name:"ExcludeDir"`

	// Backup pattern: 0 weekly, 1 daily.
	// Note: This field may return null, indicating that no valid values can be obtained.
	BackupType *uint64 `json:"BackupType,omitnil,omitempty" name:"BackupType"`

	// Backup days in a week (1-7): 1; 2; 3; 4.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modification time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Number of Bound Machines
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineCount *uint64 `json:"MachineCount,omitnil,omitempty" name:"MachineCount"`
}

type RansomDefenseStrategyDetail struct {
	// Policy ID
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Operating UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"`

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

	// Policy Remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 (;).
	// Note: This field may return null, indicating that no valid values can be obtained.
	IncludeDir *string `json:"IncludeDir,omitnil,omitempty" name:"IncludeDir"`

	// Includes directories, separated by semicolons (;).
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExcludeDir *string `json:"ExcludeDir,omitnil,omitempty" name:"ExcludeDir"`

	// Backup pattern: 0 weekly, 1 daily.
	// Note: This field may return null, indicating that no valid values can be obtained.
	BackupType *uint64 `json:"BackupType,omitnil,omitempty" name:"BackupType"`

	// Backup days in a week (1-7): 1; 2; 3; 4.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Last modification time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Number of Bound Machines
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineCount *uint64 `json:"MachineCount,omitnil,omitempty" name:"MachineCount"`

	// Policy Associated Event Count
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Cloud tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudTags []*Tag `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Availability zone information
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// CWPP tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Protection status: 0 Disabled, 1 Enabled.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy ID. 0 indicates no binding to any policy.
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Hard disk information, all hard disks take effect when left blank:
	// Separate diskId1|diskName1;diskId2|diskName2
	// Note: This field may return null, indicating that no valid values can be obtained.
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`

	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Number of Backups
	// Note: This field may return null, indicating that no valid values can be obtained.
	BackupCount *uint64 `json:"BackupCount,omitnil,omitempty" name:"BackupCount"`

	// Latest Backup Status: 0 - Backing Up, 1 - Normal, 2 - Failed, 9 - No Backup Yet
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastBackupStatus *uint64 `json:"LastBackupStatus,omitnil,omitempty" name:"LastBackupStatus"`

	// Reason for the Last Backup Failure
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastBackupMessage *string `json:"LastBackupMessage,omitnil,omitempty" name:"LastBackupMessage"`

	// Last Backup Time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastBackupTime *string `json:"LastBackupTime,omitnil,omitempty" name:"LastBackupTime"`

	// Latest Rollback Progress Percentage
	// Note: This field may return null, indicating that no valid values can be obtained.
	RollBackPercent *uint64 `json:"RollBackPercent,omitnil,omitempty" name:"RollBackPercent"`

	// Latest Rollback Status: 0 - In Progress, 1 - Succeeded, 2 - Failed
	// Note: This field may return null, indicating that no valid values can be obtained.
	RollBackStatus *uint64 `json:"RollBackStatus,omitnil,omitempty" name:"RollBackStatus"`

	// Backup Success Count
	// Note: This field may return null, indicating that no valid values can be obtained.
	BackupSuccessCount *uint64 `json:"BackupSuccessCount,omitnil,omitempty" name:"BackupSuccessCount"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Cloud tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudTags []*Tag `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Availability zone information
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegionInfo *RegionInfo `json:"RegionInfo,omitnil,omitempty" name:"RegionInfo"`

	// CWPP tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tag []*MachineTag `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Protection status: 0 Disabled, 1 Enabled.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy ID. 0 indicates no binding to any policy.
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Hard disk information, all hard disks take effect when left blank:
	// Separate diskId1|diskName1;diskId2|diskName2
	// Note: This field may return null, indicating that no valid values can be obtained.
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`

	// Edition information. 0: Basic Edition; 1: Pro Edition; 2: Ultimate Edition; 3: Inclusive Edition.Note: This field may return null, indicating that no valid values can be obtained.
	HostVersion *uint64 `json:"HostVersion,omitnil,omitempty" name:"HostVersion"`

	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`
}

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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DiskInfo *string `json:"DiskInfo,omitnil,omitempty" name:"DiskInfo"`
}

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)
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudFrom *uint64 `json:"CloudFrom,omitnil,omitempty" name:"CloudFrom"`

	// List of regions
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

// 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"`
}

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"`
}

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")
	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; 2 - allowlisted; 3 - processed; 4 - 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"`

	// 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *int64 `json:"Pid,omitnil,omitempty" name:"Pid"`

	// Threat level: 0 - medium-risk; 1 - high-risk
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`
}

type ReverseShellEventInfo struct {
	// ID primary key
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Yunjing 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"`

	// 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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 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]
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineWanIp *string `json:"MachineWanIp,omitnil,omitempty" name:"MachineWanIp"`

	// Host online status. OFFLINE: offline; ONLINE: online; UNKNOWN: unknown.
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`

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

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 {
	// QUUID of the host being scanned
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanningQuuids []*string `json:"ScanningQuuids,omitnil,omitempty" name:"ScanningQuuids"`

	// TaskId returned upon successful task distribution
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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
	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 details
	FailType *uint64 `json:"FailType,omitnil,omitempty" name:"FailType"`

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

	// Additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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"`
}

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")
	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 {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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"`
}

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"`
}

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")
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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 hosts with all Professional, Premium, and General Discount editions by default; if not empty, only scan the 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 hosts with all Professional, Premium, and General Discount editions by default; if not empty, only scan the 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Baseline ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CategoryId *uint64 `json:"CategoryId,omitnil,omitempty" name:"CategoryId"`

	// Last check time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastScanTime *string `json:"LastScanTime,omitnil,omitempty" name:"LastScanTime"`

	// Baseline check items with risks
	// Note: This field may return null, indicating that no valid values can be obtained.
	BaselineFailCount *uint64 `json:"BaselineFailCount,omitnil,omitempty" name:"BaselineFailCount"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Yunjing client UUID. If the client is offline for a long time, an empty string 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Category *uint64 `json:"Category,omitnil,omitempty" name:"Category"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`

	// Statement for search and analysis, with a maximum length of 12 KB
	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"`

	// Statement for search and analysis, with a maximum length of 12 KB
	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 SecurityButlerInfo struct {
	// Data ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Order ID
	OrderId *uint64 `json:"OrderId,omitnil,omitempty" name:"OrderId"`

	// cvm id
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Service status. 0: in service; 1: expired; 2: terminated.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

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

	// Service end time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

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

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

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

	// Number of host risks
	RiskCount *uint64 `json:"RiskCount,omitnil,omitempty" name:"RiskCount"`
}

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 none, 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 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyName *string `json:"StrategyName,omitnil,omitempty" name:"StrategyName"`

	// Policy ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

	// Total number of baseline detection items
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleCount *uint64 `json:"RuleCount,omitnil,omitempty" name:"RuleCount"`

	// Number of Hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostCount *uint64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Scan cycle
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanCycle *uint64 `json:"ScanCycle,omitnil,omitempty" name:"ScanCycle"`

	// Scan time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanAt *string `json:"ScanAt,omitnil,omitempty" name:"ScanAt"`

	// Available or not?
	// Note: This field may return null, indicating that no valid values can be obtained.
	Enabled *uint64 `json:"Enabled,omitnil,omitempty" name:"Enabled"`

	// Pass rate
	// Note: This field may return null, indicating that no valid values can be obtained.
	PassRate *uint64 `json:"PassRate,omitnil,omitempty" name:"PassRate"`

	// Baseline ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CategoryIds *string `json:"CategoryIds,omitnil,omitempty" name:"CategoryIds"`

	// Whether a default policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 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. process - 1; network - 2; file - 3; SSH - 4
	// Note: This field may return null, indicating that no valid values can be obtained.
	Type *int64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Time used for each node type, which is in the format of 2022-11-29 00:00:00.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Time *string `json:"Time,omitnil,omitempty" name:"Time"`

	// Alarm information
	// Note: This field may return null, indicating that no valid values can be obtained.
	AlarmInfo []*AlarmInfo `json:"AlarmInfo,omitnil,omitempty" name:"AlarmInfo"`

	// Process name, which is effective when the node type is process.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcName *string `json:"ProcName,omitnil,omitempty" name:"ProcName"`

	// Command line, which is effective when the node type is process.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Process ID, which is effective when the node type is process.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Pid *string `json:"Pid,omitnil,omitempty" name:"Pid"`

	// File MD5, which is effective when the node type is file.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileMd5 *string `json:"FileMd5,omitnil,omitempty" name:"FileMd5"`

	// Content written to the file, which is effective when the node type is file.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileContent *string `json:"FileContent,omitnil,omitempty" name:"FileContent"`

	// File path, which is effective when the node type is file.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// File creation time, which is effective when the node type is file.
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileCreateTime *string `json:"FileCreateTime,omitnil,omitempty" name:"FileCreateTime"`

	// Request destination address, which is effective when the node type is network.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Address *string `json:"Address,omitnil,omitempty" name:"Address"`

	// Target port, which is effective when the node type is network.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DstPort *uint64 `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Log-in source IP, which is effective when the node type is SSH.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SrcIP *string `json:"SrcIP,omitnil,omitempty" name:"SrcIP"`

	// Log-in username and user group, which is effective when the node type is SSH.
	// Note: This field may return null, indicating that no valid values can be obtained.
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Vulnerability name, which is effective when the node type is vulnerability.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Vulnerability exploitation time, which is effective when the node type is vulnerability.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulTime *string `json:"VulTime,omitnil,omitempty" name:"VulTime"`

	// HTTP request content, which is effective when the node type is vulnerability.
	// Note: This field may return null, indicating that no valid values can be obtained.
	HttpContent *string `json:"HttpContent,omitnil,omitempty" name:"HttpContent"`

	// Vulnerability exploiter source IP, which is effective when the node type is vulnerability.
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulSrcIP *string `json:"VulSrcIP,omitnil,omitempty" name:"VulSrcIP"`

	// Node ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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, used when Type=1
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcNamePrefix *string `json:"ProcNamePrefix,omitnil,omitempty" name:"ProcNamePrefix"`

	// Process name MD5, used when Type=1
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcNameMd5 *string `json:"ProcNameMd5,omitnil,omitempty" name:"ProcNameMd5"`

	// Command line, used when Type=1
	// Note: This field may return null, indicating that no valid values can be obtained.
	CmdLinePrefix *string `json:"CmdLinePrefix,omitnil,omitempty" name:"CmdLinePrefix"`

	// Command line MD5, used when Type=1
	// Note: This field may return null, indicating that no valid values can be obtained.
	CmdLineMd5 *string `json:"CmdLineMd5,omitnil,omitempty" name:"CmdLineMd5"`

	// File path, used when Type=3
	// Note: This field may return null, indicating that no valid values can be obtained.
	FilePathPrefix *string `json:"FilePathPrefix,omitnil,omitempty" name:"FilePathPrefix"`

	// Request destination address, used when Type=2
	// Note: This field may return null, indicating that no valid values can be obtained.
	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, used when Type=3
	// Note: This field may return null, indicating that no valid values can be obtained.
	FilePathMd5 *string `json:"FilePathMd5,omitnil,omitempty" name:"FilePathMd5"`

	// Request destination address MD5, used when Type=2
	// Note: This field may return null, indicating that no valid values can be obtained.
	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: Ultimate Edition; 2: LH Inclusive Edition (for Lighthouse only); 3: CVM Inclusive 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 trends
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackCounts []*int64 `json:"AttackCounts,omitnil,omitempty" name:"AttackCounts"`

	// Daily defense trends
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefendCounts []*int64 `json:"DefendCounts,omitnil,omitempty" name:"DefendCounts"`

	// Date
	// Note: This field may return null, indicating that no valid values can be obtained.
	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"`
}

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
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventId *uint64 `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Status. 0: pending; 1: ignored; 3: fixed; 5: detecting; 6: fixing; 7: rolling back; 8: fixing failed.Note: This field may return null, indicating that no valid values can be obtained.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Last detection time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LastTime *string `json:"LastTime,omitnil,omitempty" name:"LastTime"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host alias
	// Note: This field may return null, indicating that no valid values can be obtained.
	AliasName *string `json:"AliasName,omitnil,omitempty" name:"AliasName"`

	// Host tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Edition information. 0: Basic Edition; 1: Pro Edition; 2: Ultimate Edition; 3: Inclusive Edition.Note: This field may return null, indicating that no valid values can be obtained.
	HostVersion *uint64 `json:"HostVersion,omitnil,omitempty" name:"HostVersion"`

	// Whether automatic fixing is supported. 0: not supported; 1: supported; 2: client offline; 3: manual fixing supported for Ultimate Edition hosts; 4: not supported for this model; 5: fixing, 6: fixed; 7: detecting; 9: fixing failed; 10: ignored; 11: supported for Linux but not Windows; 12: supported for Windows but not Linux; 13: fixing failed but host is offline; 14: fixing failed but host is not of the Ultimate edition; 15: manually fixed.Note: This field may return null, indicating that no valid values can be obtained.
	IsSupportAutoFix *uint64 `json:"IsSupportAutoFix,omitnil,omitempty" name:"IsSupportAutoFix"`

	// Failure cause
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixStatusMsg *string `json:"FixStatusMsg,omitnil,omitempty" name:"FixStatusMsg"`

	// First detection time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FirstDiscoveryTime *string `json:"FirstDiscoveryTime,omitnil,omitempty" name:"FirstDiscoveryTime"`

	// Instance status. "PENDING": creating; "LAUNCH_FAILED" : creation failed; "RUNNING": running; "STOPPED": shut down; "STARTING": starting; "STOPPING": shutting down; "REBOOTING": restarting; "SHUTDOWN": shut down and pending termination; "TERMINATING": terminating.Note: This field may return null, indicating that no valid values can be obtained.
	InstanceState *string `json:"InstanceState,omitnil,omitempty" name:"InstanceState"`

	// Public IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublicIpAddresses *string `json:"PublicIpAddresses,omitnil,omitempty" name:"PublicIpAddresses"`

	// Cloud tag information
	// Note: This field may return null, indicating that no valid values can be obtained.
	CloudTags []*Tags `json:"CloudTags,omitnil,omitempty" name:"CloudTags"`

	// Host additional information
	// Note: This field may return null, indicating that no valid values can be obtained.
	MachineExtraInfo *MachineExtraInfo `json:"MachineExtraInfo,omitnil,omitempty" name:"MachineExtraInfo"`
}

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 publish time
	PublishTime *string `json:"PublishTime,omitnil,omitempty" name:"PublishTime"`

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

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"`

	// Fixing failure cause
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailReason *string `json:"FailReason,omitnil,omitempty" name:"FailReason"`
}

type VulFixStatusInfo struct {
	// Vulnerability ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Vulnerability name
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostList []*VulFixStatusHostInfo `json:"HostList,omitnil,omitempty" name:"HostList"`

	// Number of hosts with failed vulnerability fixing
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailCnt *uint64 `json:"FailCnt,omitnil,omitempty" name:"FailCnt"`

	// Number of hosts with successful vulnerability fixing
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixSuccessCnt *uint64 `json:"FixSuccessCnt,omitnil,omitempty" name:"FixSuccessCnt"`

	// Repair method: 0 component update or patch installation, 1 disable service
	FixMethod *uint64 `json:"FixMethod,omitnil,omitempty" name:"FixMethod"`
}

type VulFixStatusSnapshotInfo struct {
	// cvm id
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP address
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Snapshot name
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// Snapshot creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Snapshot ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Snapshot creation failure reason
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailReason *string `json:"FailReason,omitnil,omitempty" name:"FailReason"`
}

type VulHostTopInfo struct {
	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Vulnerability level and quantity statistics list
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulLevelList []*VulLevelCountInfo `json:"VulLevelList,omitnil,omitempty" name:"VulLevelList"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Top ratings
	// Note: This field may return null, indicating that no valid values can be obtained.
	Score *uint64 `json:"Score,omitnil,omitempty" name:"Score"`
}

type VulInfoByCveId struct {
	// Vulnerability ID
	VulId *uint64 `json:"VulId,omitnil,omitempty" name:"VulId"`

	// Repair Support Status. 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 *uint64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`
}

type VulInfoHostInfo struct {
	// Host name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Host IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Host tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Host QUUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// 0 - the vulnerability cannot be fixed automatically; 1 - the vulnerability can be fixed automatically; 2 - the client has been offline; 3 - the host is not the ultimate edition and can only be fixed manually; 4 - the model does not allow automatic fix; 5 - fixing; 6 - fixed; 7 - under detection; 9 - fix failed; 10 - ignored; 11 - the vulnerability is supported only on Linux, not on Windows; 12 - the vulnerability is supported only on Windows, not on Linux.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsSupportAutoFix *uint64 `json:"IsSupportAutoFix,omitnil,omitempty" name:"IsSupportAutoFix"`

	// Host UUID
	// Note: This field may return null, indicating that no valid values can be obtained.
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Host InstanceId
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
}

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"`

	// This field has been deprecated.
	// Note: This field may return null, indicating that no valid values can be obtained.
	From *uint64 `json:"From,omitnil,omitempty" name:"From"`

	// Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Descript *string `json:"Descript,omitnil,omitempty" name:"Descript"`

	// This field has been deprecated.
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublishTimeWisteria *string `json:"PublishTimeWisteria,omitnil,omitempty" name:"PublishTimeWisteria"`

	// This field has been deprecated.
	// Note: This field may return null, indicating that no valid values can be obtained.
	NameWisteria *string `json:"NameWisteria,omitnil,omitempty" name:"NameWisteria"`

	// This field has been deprecated.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DescriptWisteria *string `json:"DescriptWisteria,omitnil,omitempty" name:"DescriptWisteria"`

	// Event status after aggregation
	// Note: This field may return null, indicating that no valid values can be obtained.
	StatusStr *string `json:"StatusStr,omitnil,omitempty" name:"StatusStr"`

	// CVE ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveId *string `json:"CveId,omitnil,omitempty" name:"CveId"`

	// CVSS score
	// Note: This field may return null, indicating that no valid values can be obtained.
	CvssScore *float64 `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// Vulnerability tags, separated by multiple commas
	// Note: This field may return null, indicating that no valid values can be obtained.
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Whether automatic fixing is supported and hosts that support automatic fixing are included. 0: no; 1: yes.Note: This field may return null, indicating that no valid values can be obtained.
	FixSwitch *uint64 `json:"FixSwitch,omitnil,omitempty" name:"FixSwitch"`

	// ID of the last scan task
	// Note: This field may return null, indicating that no valid values can be obtained.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Whether defense is supported. 0: not supported; 1: supported.Note: This field may return null, indicating that no valid values can be obtained.
	IsSupportDefense *uint64 `json:"IsSupportDefense,omitnil,omitempty" name:"IsSupportDefense"`

	// Number of attacks defended
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenseAttackCount *uint64 `json:"DefenseAttackCount,omitnil,omitempty" name:"DefenseAttackCount"`

	// First occurrence time
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.Note: This field may return null, indicating that no valid values can be obtained.
	VulCategory *uint64 `json:"VulCategory,omitnil,omitempty" name:"VulCategory"`

	// Attack intensity
	// Note: This field may return null, indicating that no valid values can be obtained.
	AttackLevel *uint64 `json:"AttackLevel,omitnil,omitempty" name:"AttackLevel"`

	// Whether a restart is required after the vulnerability is fixed
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixNoNeedRestart *bool `json:"FixNoNeedRestart,omitnil,omitempty" name:"FixNoNeedRestart"`

	// Detection method. 0: version comparison; 1: POC verification.Note: This field may return null, indicating that no valid values can be obtained.
	Method *uint64 `json:"Method,omitnil,omitempty" name:"Method"`
}

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: not supported on Windows/Linux; 1: supported on Windows/Linux; 2: supported on Linux only; 3: supported on 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
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Hazard level: 1-Low-risk; 2-Medium-risk; 3-High-risk; 4-Critical
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulLevel *uint64 `json:"VulLevel,omitnil,omitempty" name:"VulLevel"`

	// Number of vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// Vulnerability ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	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.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Count *int64 `json:"Count,omitnil,omitempty" name:"Count"`
}

type WarningObject struct {
	// Event Alarm Type. 1: Offline; 2: Trojan; 3: Exceptional login; 4: Brute force; 5: Vulnerability (split into four types ranging from 9 to 12); 6: High-risk command; 7: Reverse sell; 8: Local privilege escalation;, 9: System component vulnerabilities; 10: Web application vulnerabilities; 11: Emergency vulnerabilities; 12: Security baseline; 14: Malicious request; 15: Network attack; 16: Windows system vulnerabilities; 17: Linux software vulnerabilities
	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"`
}

type WebHookCustomField struct {
	// key
	// Note: This field may return null, indicating that no valid values can be obtained.
	Key *string `json:"Key,omitnil,omitempty" name:"Key"`

	// value
	// Note: This field may return null, indicating that no valid values can be obtained.
	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
	// Note: This field may return null, indicating that no valid values can be obtained.
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Event type
	// Note: This field may return null, indicating that no valid values can be obtained.
	Events []*WebHookEventKv `json:"Events,omitnil,omitempty" name:"Events"`

	// Host range
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostLabels []*WebHookHostLabel `json:"HostLabels,omitnil,omitempty" name:"HostLabels"`

	// Recipient
	// Note: This field may return null, indicating that no valid values can be obtained.
	Receivers []*WebHookReceiver `json:"Receivers,omitnil,omitempty" name:"Receivers"`

	// Format. 0: text; 1: JSON.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Format *int64 `json:"Format,omitnil,omitempty" name:"Format"`

	// Custom passthrough field
	// Note: This field may return null, indicating that no valid values can be obtained.
	CustomFields []*WebHookCustomField `json:"CustomFields,omitnil,omitempty" name:"CustomFields"`

	// Enable/Disable [1-Disable, 0-Enable]
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsDisabled *int64 `json:"IsDisabled,omitnil,omitempty" name:"IsDisabled"`

	// Host list
	// Note: This field may return null, indicating that no valid values can be obtained.
	Quuids []*string `json:"Quuids,omitnil,omitempty" name:"Quuids"`

	// Number of hosts
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`
}

type WebHookReceiver struct {
	// id
	// Note: This field may return null, indicating that no valid values can be obtained.
	Id *int64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Recipient name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Webhook URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	Addr *string `json:"Addr,omitnil,omitempty" name:"Addr"`
}

type WebHookReceiverUsage struct {
	// Recipient ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReceiverId *int64 `json:"ReceiverId,omitnil,omitempty" name:"ReceiverId"`

	// Recipient name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReceiverName *string `json:"ReceiverName,omitnil,omitempty" name:"ReceiverName"`

	// Policy name
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 ZoneInfo struct {
	// Availability zone name
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}