// 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 v20201101

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 {
	// Canary project name
	ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`

	// Valid values: `true` (in canary upgrade); `false` (not in canary upgrade).
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

type AbnormalProcessChildRuleInfo struct {
	// Policy mode. `RULE_MODE_RELEASE`: Allow.
	//    `RULE_MODE_ALERT`: Alert.
	//    `RULE_MODE_HOLDUP`: Block.
	RuleMode *string `json:"RuleMode,omitnil,omitempty" name:"RuleMode"`

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

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

	// Severity. Valid values: `HIGH` (high); `MIDDLE` (medium); `LOW` (low).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleLevel *string `json:"RuleLevel,omitnil,omitempty" name:"RuleLevel"`
}

type AbnormalProcessEventDescription struct {
	// Event rule
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

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

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

	// Details of the hit rule
	MatchRule *AbnormalProcessChildRuleInfo `json:"MatchRule,omitnil,omitempty" name:"MatchRule"`

	// Name of the hit rule. Valid values: `PROXY_TOOL` (proxy); `TRANSFER_CONTROL` (lateral movement); `ATTACK_CMD` (malicious command); `REVERSE_SHELL` (reverse shell); `FILELESS` (fileless execution); `RISK_CMD` (high-risk command); `ABNORMAL_CHILD_PROC` (unusual start found in the child process of the sensitive service); `USER_DEFINED_RULE` (custom rule).
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// ID of the hit rule
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

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

	// Name of the hit policy. Valid values: `SYSTEM_DEFINED_RULE` (preset policy); name of the custom policy.
	// Note: This field may return null, indicating that no valid values can be obtained.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`
}

type AbnormalProcessEventInfo struct {
	// Process directory
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Event type. `MALICE_PROCESS_START`: Malicious process startup.
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Name of the hit rule. Valid values: `PROXY_TOOL` (proxy); `TRANSFER_CONTROL` (lateral movement); `ATTACK_CMD` (malicious command); `REVERSE_SHELL` (reverse shell); `FILELESS` (fileless execution); `RISK_CMD` (high-risk command); `ABNORMAL_CHILD_PROC` (unusual start found in the child process of the sensitive service); `USER_DEFINED_RULE` (custom rule).
	MatchRuleName *string `json:"MatchRuleName,omitnil,omitempty" name:"MatchRuleName"`

	// Generation time
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Action execution result. `BEHAVIOR_NONE`: None.
	//     `BEHAVIOR_ALERT`: Alert.
	//     `BEHAVIOR_RELEASE`: Allow.
	//     `BEHAVIOR_HOLDUP_FAILED`: Failed to block.
	//     `BEHAVIOR_HOLDUP_SUCCESSED`: Blocked.
	Behavior *string `json:"Behavior,omitnil,omitempty" name:"Behavior"`

	// Status. `EVENT_UNDEAL`: Pending.
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

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

	// Image ID, which is used for redirect.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Container ID, which is used for redirect.
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Event solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

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

	// Hit policy ID
	MatchRuleId *string `json:"MatchRuleId,omitnil,omitempty" name:"MatchRuleId"`

	// Action of the hit rule:
	// `RULE_MODE_RELEASE`: Allow.
	// `RULE_MODE_ALERT`: Alert.
	// `RULE_MODE_HOLDUP`: Block.
	MatchAction *string `json:"MatchAction,omitnil,omitempty" name:"MatchAction"`

	// Information of the process that hits the rule
	MatchProcessPath *string `json:"MatchProcessPath,omitnil,omitempty" name:"MatchProcessPath"`

	// Whether the rule exists
	RuleExist *bool `json:"RuleExist,omitnil,omitempty" name:"RuleExist"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Last generation time
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

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

	// Name of the hit policy. Valid values: `SYSTEM_DEFINED_RULE` (preset policy); name of the custom policy.
	MatchGroupName *string `json:"MatchGroupName,omitnil,omitempty" name:"MatchGroupName"`

	// Level of the hit rule. Valid values: `HIGH` (high); `MIDDLE` (medium); `LOW` (low).
	MatchRuleLevel *string `json:"MatchRuleLevel,omitnil,omitempty" name:"MatchRuleLevel"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// "NODE_DESTROYED"      // The node is terminated.
	// "CONTAINER_EXITED"    // The container exited.
	// "CONTAINER_DESTROYED" // The container was terminated.
	// "SHARED_HOST"         // The container shares the network with the server.
	// "RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// "UNKNOW"              // The reason is unknown.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

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

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Cluster ID
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Node public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

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

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

	// uuid
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Private IP of the node
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

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

type AbnormalProcessEventTendencyInfo struct {
	// Date
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// Number of pending proxy events
	ProxyToolEventCount *int64 `json:"ProxyToolEventCount,omitnil,omitempty" name:"ProxyToolEventCount"`

	// Number of pending lateral movement events
	TransferControlEventCount *int64 `json:"TransferControlEventCount,omitnil,omitempty" name:"TransferControlEventCount"`

	// Number of pending malicious command events
	AttackCmdEventCount *int64 `json:"AttackCmdEventCount,omitnil,omitempty" name:"AttackCmdEventCount"`

	// Number of pending reverse shell events
	ReverseShellEventCount *int64 `json:"ReverseShellEventCount,omitnil,omitempty" name:"ReverseShellEventCount"`

	// Number of pending fileless execution events
	FilelessEventCount *int64 `json:"FilelessEventCount,omitnil,omitempty" name:"FilelessEventCount"`

	// Number of pending high-risk command events
	RiskCmdEventCount *int64 `json:"RiskCmdEventCount,omitnil,omitempty" name:"RiskCmdEventCount"`

	// Number of pending events of unusual startups found in the child process of the sensitive service
	AbnormalChildProcessEventCount *int64 `json:"AbnormalChildProcessEventCount,omitnil,omitempty" name:"AbnormalChildProcessEventCount"`

	// Number of pending custom rule events
	UserDefinedRuleEventCount *int64 `json:"UserDefinedRuleEventCount,omitnil,omitempty" name:"UserDefinedRuleEventCount"`
}

type AbnormalProcessRuleInfo struct {
	// Valid values: `true` (enabled); `false` (disabled).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`

	// IDs of associated images. An empty array indicates all images.
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`

	// Array of sub-policies of the user policy
	ChildRules []*AbnormalProcessChildRuleInfo `json:"ChildRules,omitnil,omitempty" name:"ChildRules"`

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

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

	// Array of sub-policies of the preset policy
	SystemChildRules []*AbnormalProcessSystemChildRuleInfo `json:"SystemChildRules,omitnil,omitempty" name:"SystemChildRules"`

	// Whether it is the default preset policy
	IsDefault *bool `json:"IsDefault,omitnil,omitempty" name:"IsDefault"`
}

type AbnormalProcessSystemChildRuleInfo struct {
	// Sub-policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Sub-policy status. Valid values: `true` (enabled); `false` (disabled).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`

	// Policy mode. `RULE_MODE_RELEASE`: Allow.
	//    `RULE_MODE_ALERT`: Alert.
	//    `RULE_MODE_HOLDUP`: Block.
	RuleMode *string `json:"RuleMode,omitnil,omitempty" name:"RuleMode"`

	// Behavior type detected by the sub-policy
	// `PROXY_TOOL`: Proxy.
	// `TRANSFER_CONTROL`: Lateral movement.
	// `ATTACK_CMD`: Malicious command.
	// `REVERSE_SHELL`: Reverse shell.
	// `FILELESS`: Fileless execution.
	// `RISK_CMD`: High-risk command.
	// `ABNORMAL_CHILD_PROC`: Unusual start found in the child process of the sensitive service.
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Severity. Valid values: `HIGH` (high); `MIDDLE` (medium); `LOW` (low).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleLevel *string `json:"RuleLevel,omitnil,omitempty" name:"RuleLevel"`
}

type AccessControlChildRuleInfo struct {
	// Policy mode. `RULE_MODE_RELEASE`: Allow.
	//    `RULE_MODE_ALERT`: Alert.
	//    `RULE_MODE_HOLDUP`: Block.
	RuleMode *string `json:"RuleMode,omitnil,omitempty" name:"RuleMode"`

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

	// Accessed file path, which is valid only for access control.
	TargetFilePath *string `json:"TargetFilePath,omitnil,omitempty" name:"TargetFilePath"`

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

type AccessControlEventDescription struct {
	// Event rule
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

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

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

	// Details of the hit rule
	MatchRule *AccessControlChildRuleInfo `json:"MatchRule,omitnil,omitempty" name:"MatchRule"`

	// Name of the hit rule
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// ID of the hit rule
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Last processing time of the event
	// Note: This field may return null, indicating that no valid values can be obtained.
	OperationTime *string `json:"OperationTime,omitnil,omitempty" name:"OperationTime"`
}

type AccessControlEventInfo struct {
	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Name of the hit rule
	MatchRuleName *string `json:"MatchRuleName,omitnil,omitempty" name:"MatchRuleName"`

	// Generation time
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Action execution result. `BEHAVIOR_NONE`: None.
	//     `BEHAVIOR_ALERT`: Alert.
	//     `BEHAVIOR_RELEASE`: Allow.
	//     `BEHAVIOR_HOLDUP_FAILED`: Failed to block.
	//     `BEHAVIOR_HOLDUP_SUCCESSED`: Blocked.
	Behavior *string `json:"Behavior,omitnil,omitempty" name:"Behavior"`

	// Status. `0`: Pending. `EVENT_UNDEAL`: Pending.
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

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

	// Filename
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Event type. `FILE_ABNORMAL_READ`: Abnormal file read.
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Image ID, which is used for redirect.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Container ID, which is used for redirect.
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Event solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

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

	// Hit policy ID
	MatchRuleId *string `json:"MatchRuleId,omitnil,omitempty" name:"MatchRuleId"`

	// Action of the hit rule:
	// `RULE_MODE_RELEASE`: Allow.
	// `RULE_MODE_ALERT`: Alert.
	// `RULE_MODE_HOLDUP`: Block.
	MatchAction *string `json:"MatchAction,omitnil,omitempty" name:"MatchAction"`

	// Information of the process that hits the rule
	MatchProcessPath *string `json:"MatchProcessPath,omitnil,omitempty" name:"MatchProcessPath"`

	// Information of the file that hits the rule
	MatchFilePath *string `json:"MatchFilePath,omitnil,omitempty" name:"MatchFilePath"`

	// File path containing the name
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Whether the rule exists
	RuleExist *bool `json:"RuleExist,omitnil,omitempty" name:"RuleExist"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Last generation time
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

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

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// "NODE_DESTROYED"      // The node is terminated.
	// "CONTAINER_EXITED"    // The container exited.
	// "CONTAINER_DESTROYED" // The container was terminated.
	// "SHARED_HOST"         // The container shares the network with the server.
	// "RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// "UNKNOW"              // The reason is unknown.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Node name: For super nodes, the node_id is displayed.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Node unique ID. It's used for super nodes.
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Node public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

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

	// uuid
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Private IP of the node
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

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

type AccessControlRuleInfo struct {
	// Switch. Valid values: `true` (on); `false` (off).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`

	// IDs of associated images. An empty array indicates all images.
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`

	// Array of sub-policies of the user policy
	ChildRules []*AccessControlChildRuleInfo `json:"ChildRules,omitnil,omitempty" name:"ChildRules"`

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

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

	// Array of sub-policies of the preset policy
	SystemChildRules []*AccessControlSystemChildRuleInfo `json:"SystemChildRules,omitnil,omitempty" name:"SystemChildRules"`

	// Whether it is the default preset policy
	IsDefault *bool `json:"IsDefault,omitnil,omitempty" name:"IsDefault"`
}

type AccessControlSystemChildRuleInfo struct {
	// Sub-policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Policy mode. `RULE_MODE_RELEASE`: Allow.
	//    `RULE_MODE_ALERT`: Alert.
	//    `RULE_MODE_HOLDUP`: Block.
	RuleMode *string `json:"RuleMode,omitnil,omitempty" name:"RuleMode"`

	// Sub-policy status. Valid values: `true` (enabled); `false` (disabled).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`

	// Intrusion behavior type detected by the sub-policy
	// `CHANGE_CRONTAB`: Tampering with the scheduled task.
	// `CHANGE_SYS_BIN`: Tampering with the system program.
	// `CHANGE_USRCFG`: Tampering with user configuration.
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`
}

// Predefined struct for user
type AddAndPublishNetworkFirewallPolicyDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

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

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

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

type AddAndPublishNetworkFirewallPolicyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

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

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

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

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

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

// Predefined struct for user
type AddAndPublishNetworkFirewallPolicyDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type AddAndPublishNetworkFirewallPolicyDetailResponse struct {
	*tchttp.BaseResponse
	Response *AddAndPublishNetworkFirewallPolicyDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddAndPublishNetworkFirewallPolicyYamlDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

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

type AddAndPublishNetworkFirewallPolicyYamlDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

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

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

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

// Predefined struct for user
type AddAndPublishNetworkFirewallPolicyYamlDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type AddAndPublishNetworkFirewallPolicyYamlDetailResponse struct {
	*tchttp.BaseResponse
	Response *AddAndPublishNetworkFirewallPolicyYamlDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddAssetImageRegistryRegistryDetailRequestParams struct {
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

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

	// Repository URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Repository type, which can be `harbor`.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Network type, which can be `public` (public network).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Repository version
	RegistryVersion *string `json:"RegistryVersion,omitnil,omitempty" name:"RegistryVersion"`

	// Region. Default value: `default`.
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Speed limit
	SpeedLimit *int64 `json:"SpeedLimit,omitnil,omitempty" name:"SpeedLimit"`

	// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).
	Insecure *uint64 `json:"Insecure,omitnil,omitempty" name:"Insecure"`
}

type AddAssetImageRegistryRegistryDetailRequest struct {
	*tchttp.BaseRequest
	
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

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

	// Repository URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Repository type, which can be `harbor`.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Network type, which can be `public` (public network).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Repository version
	RegistryVersion *string `json:"RegistryVersion,omitnil,omitempty" name:"RegistryVersion"`

	// Region. Default value: `default`.
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Speed limit
	SpeedLimit *int64 `json:"SpeedLimit,omitnil,omitempty" name:"SpeedLimit"`

	// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).
	Insecure *uint64 `json:"Insecure,omitnil,omitempty" name:"Insecure"`
}

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

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

// Predefined struct for user
type AddAssetImageRegistryRegistryDetailResponseParams struct {
	// Connection error message
	// Note: This field may return null, indicating that no valid values can be obtained.
	HealthCheckErr *string `json:"HealthCheckErr,omitnil,omitempty" name:"HealthCheckErr"`

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

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

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

type AddAssetImageRegistryRegistryDetailResponse struct {
	*tchttp.BaseResponse
	Response *AddAssetImageRegistryRegistryDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddComplianceAssetPolicySetToWhitelistRequestParams struct {
	// List of asset IDs and check item IDs
	AssetPolicySetList []*ComplianceAssetPolicySetItem `json:"AssetPolicySetList,omitnil,omitempty" name:"AssetPolicySetList"`
}

type AddComplianceAssetPolicySetToWhitelistRequest struct {
	*tchttp.BaseRequest
	
	// List of asset IDs and check item IDs
	AssetPolicySetList []*ComplianceAssetPolicySetItem `json:"AssetPolicySetList,omitnil,omitempty" name:"AssetPolicySetList"`
}

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

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

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

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

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

// Predefined struct for user
type AddCompliancePolicyAssetSetToWhitelistRequestParams struct {
	// Check item ID
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// List of IDs of assets to be ignored in the specified check item
	CustomerAssetItemIdSet []*uint64 `json:"CustomerAssetItemIdSet,omitnil,omitempty" name:"CustomerAssetItemIdSet"`
}

type AddCompliancePolicyAssetSetToWhitelistRequest struct {
	*tchttp.BaseRequest
	
	// Check item ID
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// List of IDs of assets to be ignored in the specified check item
	CustomerAssetItemIdSet []*uint64 `json:"CustomerAssetItemIdSet,omitnil,omitempty" name:"CustomerAssetItemIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type AddCompliancePolicyItemToWhitelistRequestParams struct {
	// List of IDs of check items to be ignored
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

type AddCompliancePolicyItemToWhitelistRequest struct {
	*tchttp.BaseRequest
	
	// List of IDs of check items to be ignored
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type AddEditAbnormalProcessRuleRequestParams struct {
	// Information of the added policy. The policy ID is empty here but cannot be empty when you edit a policy.
	RuleInfo *AbnormalProcessRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`

	// Required only when an item is allowed
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type AddEditAbnormalProcessRuleRequest struct {
	*tchttp.BaseRequest
	
	// Information of the added policy. The policy ID is empty here but cannot be empty when you edit a policy.
	RuleInfo *AbnormalProcessRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`

	// Required only when an item is allowed
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

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

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

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

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

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

// Predefined struct for user
type AddEditAccessControlRuleRequestParams struct {
	// Information of the added policy. The policy ID is empty here but cannot be empty when you edit a policy.
	RuleInfo *AccessControlRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`

	// Used only for an allowed item
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type AddEditAccessControlRuleRequest struct {
	*tchttp.BaseRequest
	
	// Information of the added policy. The policy ID is empty here but cannot be empty when you edit a policy.
	RuleInfo *AccessControlRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`

	// Used only for an allowed item
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

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

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

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

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

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

// Predefined struct for user
type AddEditImageAutoAuthorizedRuleRequestParams struct {
	// Scope. Valid values: `MANUAL` (specified servers); `ALL` (all images).
	RangeType *string `json:"RangeType,omitnil,omitempty" name:"RangeType"`

	// Maximum number of image licenses per day. `0`: Unlimited.
	MaxDailyCount *int64 `json:"MaxDailyCount,omitnil,omitempty" name:"MaxDailyCount"`

	// Whether the rule takes effect. Valid values: `0` (no); `1` (yes).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// IDs of specified servers. This parameter is required when the scope is `MANUAL` and `HostIdFilters` is empty.
	HostIdSet []*string `json:"HostIdSet,omitnil,omitempty" name:"HostIdSet"`

	// Rule ID, which is required during editing.
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Filter. This parameter is required when the scope is `MANUAL` and `HostIdSet` is empty.
	HostIdFilters []*AssetFilters `json:"HostIdFilters,omitnil,omitempty" name:"HostIdFilters"`

	// Specified server IDs to be excluded
	ExcludeHostIdSet []*string `json:"ExcludeHostIdSet,omitnil,omitempty" name:"ExcludeHostIdSet"`
}

type AddEditImageAutoAuthorizedRuleRequest struct {
	*tchttp.BaseRequest
	
	// Scope. Valid values: `MANUAL` (specified servers); `ALL` (all images).
	RangeType *string `json:"RangeType,omitnil,omitempty" name:"RangeType"`

	// Maximum number of image licenses per day. `0`: Unlimited.
	MaxDailyCount *int64 `json:"MaxDailyCount,omitnil,omitempty" name:"MaxDailyCount"`

	// Whether the rule takes effect. Valid values: `0` (no); `1` (yes).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// IDs of specified servers. This parameter is required when the scope is `MANUAL` and `HostIdFilters` is empty.
	HostIdSet []*string `json:"HostIdSet,omitnil,omitempty" name:"HostIdSet"`

	// Rule ID, which is required during editing.
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Filter. This parameter is required when the scope is `MANUAL` and `HostIdSet` is empty.
	HostIdFilters []*AssetFilters `json:"HostIdFilters,omitnil,omitempty" name:"HostIdFilters"`

	// Specified server IDs to be excluded
	ExcludeHostIdSet []*string `json:"ExcludeHostIdSet,omitnil,omitempty" name:"ExcludeHostIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type AddEditReverseShellWhiteListRequestParams struct {
	// Information of the allowed item to be added or edited. When an allowed item is added, `WhiteListInfo.id` can be empty; when an allowed item is edited, `WhiteListInfo.id` cannot be empty.
	WhiteListInfo *ReverseShellWhiteListInfo `json:"WhiteListInfo,omitnil,omitempty" name:"WhiteListInfo"`

	// Used only when an event is added to the allowlist
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type AddEditReverseShellWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Information of the allowed item to be added or edited. When an allowed item is added, `WhiteListInfo.id` can be empty; when an allowed item is edited, `WhiteListInfo.id` cannot be empty.
	WhiteListInfo *ReverseShellWhiteListInfo `json:"WhiteListInfo,omitnil,omitempty" name:"WhiteListInfo"`

	// Used only when an event is added to the allowlist
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

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

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

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

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

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

// Predefined struct for user
type AddEditRiskSyscallWhiteListRequestParams struct {
	// Used only when an event is added to the allowlist
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Information of the allowed item to be added or edited. When an allowed item is added, `WhiteListInfo.id` can be empty; when an allowed item is edited, `WhiteListInfo.id` cannot be empty.
	WhiteListInfo *RiskSyscallWhiteListInfo `json:"WhiteListInfo,omitnil,omitempty" name:"WhiteListInfo"`
}

type AddEditRiskSyscallWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Used only when an event is added to the allowlist
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Information of the allowed item to be added or edited. When an allowed item is added, `WhiteListInfo.id` can be empty; when an allowed item is edited, `WhiteListInfo.id` cannot be empty.
	WhiteListInfo *RiskSyscallWhiteListInfo `json:"WhiteListInfo,omitnil,omitempty" name:"WhiteListInfo"`
}

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

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

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

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

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

// Predefined struct for user
type AddEditWarningRulesRequestParams struct {
	// Alert switch policy
	WarningRules []*WarningRule `json:"WarningRules,omitnil,omitempty" name:"WarningRules"`
}

type AddEditWarningRulesRequest struct {
	*tchttp.BaseRequest
	
	// Alert switch policy
	WarningRules []*WarningRule `json:"WarningRules,omitnil,omitempty" name:"WarningRules"`
}

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

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

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

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

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

// Predefined struct for user
type AddEscapeWhiteListRequestParams struct {
	// Allowed event type
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Array of allowed image IDs
	ImageIDs []*string `json:"ImageIDs,omitnil,omitempty" name:"ImageIDs"`
}

type AddEscapeWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowed event type
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Array of allowed image IDs
	ImageIDs []*string `json:"ImageIDs,omitnil,omitempty" name:"ImageIDs"`
}

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

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

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

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

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

// Predefined struct for user
type AddIgnoreVulRequestParams struct {
	// List of POC IDs
	List []*ModifyIgnoreVul `json:"List,omitnil,omitempty" name:"List"`
}

type AddIgnoreVulRequest struct {
	*tchttp.BaseRequest
	
	// List of POC IDs
	List []*ModifyIgnoreVul `json:"List,omitnil,omitempty" name:"List"`
}

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

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

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

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

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

// Predefined struct for user
type AddNetworkFirewallPolicyDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

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

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

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

type AddNetworkFirewallPolicyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

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

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

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

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

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

// Predefined struct for user
type AddNetworkFirewallPolicyDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type AddNetworkFirewallPolicyDetailResponse struct {
	*tchttp.BaseResponse
	Response *AddNetworkFirewallPolicyDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddNetworkFirewallPolicyYamlDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

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

type AddNetworkFirewallPolicyYamlDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

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

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

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

// Predefined struct for user
type AddNetworkFirewallPolicyYamlDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type AddNetworkFirewallPolicyYamlDetailResponse struct {
	*tchttp.BaseResponse
	Response *AddNetworkFirewallPolicyYamlDetailResponseParams `json:"Response"`
}

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

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

type AffectedNodeItem struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

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

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

	// Node role, such as `Master` and `Work`.
	InstanceRole *string `json:"InstanceRole,omitnil,omitempty" name:"InstanceRole"`

	// K8s version
	ClusterVersion *string `json:"ClusterVersion,omitnil,omitempty" name:"ClusterVersion"`

	// Runtime component. Valid values: `docker`, `containerd`.
	ContainerRuntime *string `json:"ContainerRuntime,omitnil,omitempty" name:"ContainerRuntime"`

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

	// Verification information of the check result
	VerifyInfo *string `json:"VerifyInfo,omitnil,omitempty" name:"VerifyInfo"`

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

type AffectedWorkloadItem struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Workload name
	WorkloadName *string `json:"WorkloadName,omitnil,omitempty" name:"WorkloadName"`

	// Workload type
	WorkloadType *string `json:"WorkloadType,omitnil,omitempty" name:"WorkloadType"`

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

	// Verification information of the check result
	VerifyInfo *string `json:"VerifyInfo,omitnil,omitempty" name:"VerifyInfo"`
}

type AssetClusterListItem struct {
	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster status
	// `CSR_RUNNING`: Running
	// `CSR_EXCEPTION`: Abnormal
	// `CSR_DEL`: Deleted
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Bound rule name
	BindRuleName *string `json:"BindRuleName,omitnil,omitempty" name:"BindRuleName"`

	// Cluster type:
	// `CT_TKE`: TKE cluster
	// `CT_USER_CREATE`: External cluster
	// `CT_TKE_SERVERLESS`: TKE Serverless cluster
	ClusterType *string `json:"ClusterType,omitnil,omitempty" name:"ClusterType"`

	// Cluster version
	ClusterVersion *string `json:"ClusterVersion,omitnil,omitempty" name:"ClusterVersion"`

	// MEM usage
	MemLimit *int64 `json:"MemLimit,omitnil,omitempty" name:"MemLimit"`

	// cpu
	CpuLimit *int64 `json:"CpuLimit,omitnil,omitempty" name:"CpuLimit"`
}

type AssetFilters struct {
	// Filter name
	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 AssetSimpleImageInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Number of associated containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// Last scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

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

type AutoAuthorizedImageInfo struct {
	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Licensing time
	AuthorizedTime *string `json:"AuthorizedTime,omitnil,omitempty" name:"AuthorizedTime"`

	// Licensing result. Valid values: `SUCCESS` (success); `REACH_LIMIT` (reaching the upper limit on licenses); `LICENSE_INSUFFICIENT` (insufficient licenses).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether it is licensed. Valid values: `1` (yes); `0` (no).
	IsAuthorized *uint64 `json:"IsAuthorized,omitnil,omitempty" name:"IsAuthorized"`
}

type AutoAuthorizedRuleHostInfo struct {
	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Server IP, which is the private IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

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

	// Number of images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

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

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

	// Server source. Valid values: `CVM`, `ECM`, `LH`, `BM`, `Other`. The first four values indicate Tencent Cloud instances, while the last one indicates non-Tencent Cloud instances.
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Docker version
	DockerVersion *string `json:"DockerVersion,omitnil,omitempty" name:"DockerVersion"`

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

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

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

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

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

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

type CKafkaTopicInfo struct {
	// Topic ID
	TopicID *string `json:"TopicID,omitnil,omitempty" name:"TopicID"`

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

// Predefined struct for user
type CheckNetworkFirewallPolicyYamlRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

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

type CheckNetworkFirewallPolicyYamlRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

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

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

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

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

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

// Predefined struct for user
type CheckNetworkFirewallPolicyYamlResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type CheckNetworkFirewallPolicyYamlResponse struct {
	*tchttp.BaseResponse
	Response *CheckNetworkFirewallPolicyYamlResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CheckRepeatAssetImageRegistryRequestParams struct {
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type CheckRepeatAssetImageRegistryRequest struct {
	*tchttp.BaseRequest
	
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

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

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

// Predefined struct for user
type CheckRepeatAssetImageRegistryResponseParams struct {
	// Whether it is repeated
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsRepeat *bool `json:"IsRepeat,omitnil,omitempty" name:"IsRepeat"`

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

type CheckRepeatAssetImageRegistryResponse struct {
	*tchttp.BaseResponse
	Response *CheckRepeatAssetImageRegistryResponseParams `json:"Response"`
}

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

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

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

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

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

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

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

	// Access type
	// // `0`: PLAINTEXT (plaintext method, which does not carry user information and is supported for legacy versions and Community Edition)
	// 	// `1`: SASL_PLAINTEXT (plaintext method, which authenticates the login through SASL before data start and is supported only for Community Edition)
	// 	// `2`: SSL (SSL-encrypted communication, which does not carry user information and is supported for legacy versions and Community Edition)
	// 	// `3`: SASL_SSL (SSL-encrypted communication, which authenticates the login through SASL before data start and is supported only for Community Edition)
	// Note: This field may return null, indicating that no valid values can be obtained.
	AccessType *int64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`
}

type ClsLogsetInfo struct {
	// Logset ID
	LogsetID *string `json:"LogsetID,omitnil,omitempty" name:"LogsetID"`

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

	// List of CLS topics
	// Note: This field may return null, indicating that no valid values can be obtained.
	TopicList []*ClsTopicInfo `json:"TopicList,omitnil,omitempty" name:"TopicList"`
}

type ClsTopicInfo struct {
	// Topic ID
	TopicID *string `json:"TopicID,omitnil,omitempty" name:"TopicID"`

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

type ClusterCheckItem struct {
	// Unique ID of the check item
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckItemId *int64 `json:"CheckItemId,omitnil,omitempty" name:"CheckItemId"`

	// Name of the risk item
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Detailed description of the check item
	// Note: This field may return null, indicating that no valid values can be obtained.
	ItemDetail *string `json:"ItemDetail,omitnil,omitempty" name:"ItemDetail"`

	// Severity. Valid values: `Serious` (critical); `High` (high); `Middle` (medium); `Hint` (prompt).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Check target and risky target. Valid values: `Runc`, `Kubelet`, `Containerd`, `Pods`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskTarget *string `json:"RiskTarget,omitnil,omitempty" name:"RiskTarget"`

	// Risk type. Valid values: `CVERisk` (vulnerability risk); `ConfigRisk` (configuration risk).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskType *string `json:"RiskType,omitnil,omitempty" name:"RiskType"`

	// Risk type of the check item. Valid values: `PrivilegePromotion` (privilege escalation); `RefuseService` (service rejected); `DirectoryEscape` (directory traversal); `UnauthorizedAccess` (unauthorized access); `PrivilegeAndAccessControl` (permissions, privileges, and access controls); `SensitiveInfoLeak` (sensitive data leakage).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskAttribute *string `json:"RiskAttribute,omitnil,omitempty" name:"RiskAttribute"`

	// Risk characteristic and tag. Valid values: `ExistEXP` (an EXP exists); `ExistPOC` (a POC exists); `NoNeedReboot` (restart not required); `ServerRestart` (service restart); `RemoteInfoLeak` (remote information leakage); `RemoteRefuseService` (remote denial of service); `RemoteExploit` (remote exploit); `RemoteExecute` (remote execution).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskProperty *string `json:"RiskProperty,omitnil,omitempty" name:"RiskProperty"`

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

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

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

	// CVSS information, which is used for drawing.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CVSS *string `json:"CVSS,omitnil,omitempty" name:"CVSS"`

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

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

	// Affected type. Valid values: `Node`, `Workload`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	AffectedType *string `json:"AffectedType,omitnil,omitempty" name:"AffectedType"`

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

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

	// Whether to ignore the check item
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsIgnored *bool `json:"IsIgnored,omitnil,omitempty" name:"IsIgnored"`

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

type ClusterCheckTaskItem struct {
	// ID of the specified cluster to be scanned
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster region
	ClusterRegion *string `json:"ClusterRegion,omitnil,omitempty" name:"ClusterRegion"`

	// IP of the specified node to be scanned
	NodeIp *string `json:"NodeIp,omitnil,omitempty" name:"NodeIp"`

	// Name of the specified workload to be scanned
	WorkloadName *string `json:"WorkloadName,omitnil,omitempty" name:"WorkloadName"`
}

type ClusterCreateComponentItem struct {
	// ID of the cluster for which to install the component
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster region
	ClusterRegion *string `json:"ClusterRegion,omitnil,omitempty" name:"ClusterRegion"`
}

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

	// Parameter value
	Values []*string `json:"Values,omitnil,omitempty" name:"Values"`
}

type ClusterInfoItem struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster version
	ClusterVersion *string `json:"ClusterVersion,omitnil,omitempty" name:"ClusterVersion"`

	// Cluster OS
	ClusterOs *string `json:"ClusterOs,omitnil,omitempty" name:"ClusterOs"`

	// Cluster type
	ClusterType *string `json:"ClusterType,omitnil,omitempty" name:"ClusterType"`

	// Number of nodes in the cluster
	ClusterNodeNum *uint64 `json:"ClusterNodeNum,omitnil,omitempty" name:"ClusterNodeNum"`

	// Cluster region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Status of the monitoring component. Valid values: `Defender_Uninstall`, `Defender_Normal`, `Defender_Error`, `Defender_Installing`.
	DefenderStatus *string `json:"DefenderStatus,omitnil,omitempty" name:"DefenderStatus"`

	// Cluster status
	ClusterStatus *string `json:"ClusterStatus,omitnil,omitempty" name:"ClusterStatus"`

	// Cluster check mode. Valid values: `Cluster_Normal`, `Cluster_Actived`.
	ClusterCheckMode *string `json:"ClusterCheckMode,omitnil,omitempty" name:"ClusterCheckMode"`

	// Whether automatic and regular check is enabled
	ClusterAutoCheck *bool `json:"ClusterAutoCheck,omitnil,omitempty" name:"ClusterAutoCheck"`

	// Cause of the failure to deploy the defender. When it is `UserDaemonSetNotReady`, `UnreadyNodeNum` is changed to "The defenders on N nodes are ready". If it is another value, the error message is directly displayed.
	DefenderErrorReason *string `json:"DefenderErrorReason,omitnil,omitempty" name:"DefenderErrorReason"`

	// Number of nodes where the defender is not ready
	UnreadyNodeNum *uint64 `json:"UnreadyNodeNum,omitnil,omitempty" name:"UnreadyNodeNum"`

	// Number of critical check items
	SeriousRiskCount *int64 `json:"SeriousRiskCount,omitnil,omitempty" name:"SeriousRiskCount"`

	// Number of high-risk check items
	HighRiskCount *int64 `json:"HighRiskCount,omitnil,omitempty" name:"HighRiskCount"`

	// Number of medium-risk check items
	MiddleRiskCount *int64 `json:"MiddleRiskCount,omitnil,omitempty" name:"MiddleRiskCount"`

	// Number of prompt-risk check items
	HintRiskCount *int64 `json:"HintRiskCount,omitnil,omitempty" name:"HintRiskCount"`

	// Check failure cause
	CheckFailReason *string `json:"CheckFailReason,omitnil,omitempty" name:"CheckFailReason"`

	// Check status. Valid values: `Task_Running`, `NoRisk`, `HasRisk`, `Uncheck`, `Task_Error`.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Task creation time and check time
	TaskCreateTime *string `json:"TaskCreateTime,omitnil,omitempty" name:"TaskCreateTime"`
}

type ClusterRiskItem struct {
	// Check item information
	CheckItem *ClusterCheckItem `json:"CheckItem,omitnil,omitempty" name:"CheckItem"`

	// Verification information
	VerifyInfo *string `json:"VerifyInfo,omitnil,omitempty" name:"VerifyInfo"`

	// Event description and check error message
	ErrorMessage *string `json:"ErrorMessage,omitnil,omitempty" name:"ErrorMessage"`

	// Number of affected clusters
	AffectedClusterCount *uint64 `json:"AffectedClusterCount,omitnil,omitempty" name:"AffectedClusterCount"`

	// Number of affected nodes
	AffectedNodeCount *uint64 `json:"AffectedNodeCount,omitnil,omitempty" name:"AffectedNodeCount"`
}

type ComplianceAffectedAsset struct {
	// Unique ID of the customer asset
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`

	// Asset name
	AssetName *string `json:"AssetName,omitnil,omitempty" name:"AssetName"`

	// Asset type
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Check status
	// 
	// `CHECK_INIT`: To be checked.
	// 
	// `CHECK_RUNNING`: Checking.
	// 
	// `CHECK_FINISHED`: Checked.
	// 
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

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

	// Last check time in the format of "YYYY-MM-DD HH:m::SS"
	// 
	// It is "0000-00-00 00:00:00" if no check has been performed.
	LastCheckTime *string `json:"LastCheckTime,omitnil,omitempty" name:"LastCheckTime"`

	// Check result. Valid values:
	// 
	// `RESULT_FAILED`: Failed.
	// 
	// `RESULT_PASSED`: Passed.
	CheckResult *string `json:"CheckResult,omitnil,omitempty" name:"CheckResult"`

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

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

	// Verification information of the check item
	// Note: This field may return null, indicating that no valid values can be obtained.
	VerifyInfo *string `json:"VerifyInfo,omitnil,omitempty" name:"VerifyInfo"`

	// 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 ComplianceAssetDetailInfo struct {
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`

	// Asset type
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Asset name
	AssetName *string `json:"AssetName,omitnil,omitempty" name:"AssetName"`

	// Node name of the asset
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Server name of the asset
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Server IP of the asset
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Check status
	// `CHECK_INIT`: To be checked.
	// `CHECK_RUNNING`: Checking.
	// `CHECK_FINISHED`: Checked.
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Number of check items that the asset passed
	PassedPolicyItemCount *uint64 `json:"PassedPolicyItemCount,omitnil,omitempty" name:"PassedPolicyItemCount"`

	// Number of check items that the asset failed
	FailedPolicyItemCount *uint64 `json:"FailedPolicyItemCount,omitnil,omitempty" name:"FailedPolicyItemCount"`

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

	// Check result. Valid values:
	// `RESULT_FAILED`: Failed.
	// `RESULT_PASSED`: Passed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckResult *string `json:"CheckResult,omitnil,omitempty" name:"CheckResult"`

	// Asset status
	AssetStatus *string `json:"AssetStatus,omitnil,omitempty" name:"AssetStatus"`

	// Asset creation time
	// `ASSET_NORMAL`: Running.
	// `ASSET_PAUSED`: Suspended.
	// `ASSET_STOPPED`: Stopped.
	// `ASSET_ABNORMAL`: Abnormal.
	AssetCreateTime *string `json:"AssetCreateTime,omitnil,omitempty" name:"AssetCreateTime"`
}

type ComplianceAssetInfo struct {
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`

	// Asset type
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Asset name
	AssetName *string `json:"AssetName,omitnil,omitempty" name:"AssetName"`

	// This field is the image tag when the asset is an image.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Server IP of the asset
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Node name of the asset
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Check status
	// 
	// `CHECK_INIT`: To be checked.
	// 
	// `CHECK_RUNNING`: Checking.
	// 
	// `CHECK_FINISHED`: Checked.
	// 
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

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

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

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

	// Check result. Valid values:
	// `RESULT_FAILED`: Failed.
	// `RESULT_PASSED`: Passed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckResult *string `json:"CheckResult,omitnil,omitempty" name:"CheckResult"`

	// Node 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 ComplianceAssetPolicyItem struct {
	// Unique ID of the customer check item
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// Original ID of the check item
	BasePolicyItemId *uint64 `json:"BasePolicyItemId,omitnil,omitempty" name:"BasePolicyItemId"`

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

	// Category of the check item
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Compliance standard ID
	BenchmarkStandardId *uint64 `json:"BenchmarkStandardId,omitnil,omitempty" name:"BenchmarkStandardId"`

	// Compliance standard name
	BenchmarkStandardName *string `json:"BenchmarkStandardName,omitnil,omitempty" name:"BenchmarkStandardName"`

	// Severity
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Check status
	// `CHECK_INIT`: To be checked.
	// `CHECK_RUNNING`: Checking.
	// `CHECK_FINISHED`: Checked.
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Check result
	// `RESULT_PASSED`: Passed.
	// `RESULT_FAILED`: Failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckResult *string `json:"CheckResult,omitnil,omitempty" name:"CheckResult"`

	// Allowed item ID of the check item. If it exists and is not `0`, the check item is ignored.
	// Note: This field may return null, indicating that no valid values can be obtained.
	WhitelistId *uint64 `json:"WhitelistId,omitnil,omitempty" name:"WhitelistId"`

	// Handling suggestion
	FixSuggestion *string `json:"FixSuggestion,omitnil,omitempty" name:"FixSuggestion"`

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

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

type ComplianceAssetPolicySetItem struct {
	// Asset ID
	CustomerAssetItemId *uint64 `json:"CustomerAssetItemId,omitnil,omitempty" name:"CustomerAssetItemId"`

	// List of IDs of check items to be ignored in the specified asset. If it is empty, it indicates all.
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

type ComplianceAssetSummary struct {
	// Asset type
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Whether it is the first check. This parameter is used together with `CheckStatus`.
	IsCustomerFirstCheck *bool `json:"IsCustomerFirstCheck,omitnil,omitempty" name:"IsCustomerFirstCheck"`

	// Check status
	// 
	// `CHECK_UNINIT`: Feature not enabled.
	// 
	// `CHECK_INIT`: To be checked.
	// 
	// `CHECK_RUNNING`: Checking.
	// 
	// `CHECK_FINISHED`: Checked.
	// 
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Check progress. Value range: 0-100. This field is valid only if the check is running.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckProgress *float64 `json:"CheckProgress,omitnil,omitempty" name:"CheckProgress"`

	// Number of check items that the asset passed
	PassedPolicyItemCount *uint64 `json:"PassedPolicyItemCount,omitnil,omitempty" name:"PassedPolicyItemCount"`

	// Number of check items that the asset failed
	FailedPolicyItemCount *uint64 `json:"FailedPolicyItemCount,omitnil,omitempty" name:"FailedPolicyItemCount"`

	// Number of critical check items that the asset failed
	FailedCriticalPolicyItemCount *uint64 `json:"FailedCriticalPolicyItemCount,omitnil,omitempty" name:"FailedCriticalPolicyItemCount"`

	// Number of high-risk check items that the asset failed
	FailedHighRiskPolicyItemCount *uint64 `json:"FailedHighRiskPolicyItemCount,omitnil,omitempty" name:"FailedHighRiskPolicyItemCount"`

	// Number of medium-risk check items that the asset failed
	FailedMediumRiskPolicyItemCount *uint64 `json:"FailedMediumRiskPolicyItemCount,omitnil,omitempty" name:"FailedMediumRiskPolicyItemCount"`

	// Number of low-risk check items that the asset failed
	FailedLowRiskPolicyItemCount *uint64 `json:"FailedLowRiskPolicyItemCount,omitnil,omitempty" name:"FailedLowRiskPolicyItemCount"`

	// Number of prompt check items of the asset
	NoticePolicyItemCount *uint64 `json:"NoticePolicyItemCount,omitnil,omitempty" name:"NoticePolicyItemCount"`

	// Number of assets that passed the check
	PassedAssetCount *uint64 `json:"PassedAssetCount,omitnil,omitempty" name:"PassedAssetCount"`

	// Number of assets that failed the check
	FailedAssetCount *uint64 `json:"FailedAssetCount,omitnil,omitempty" name:"FailedAssetCount"`

	// Asset compliance rate. Value range: 0-100.
	AssetPassedRate *float64 `json:"AssetPassedRate,omitnil,omitempty" name:"AssetPassedRate"`

	// Number of assets that failed the check
	ScanFailedAssetCount *uint64 `json:"ScanFailedAssetCount,omitnil,omitempty" name:"ScanFailedAssetCount"`

	// Last check duration in seconds
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckCostTime *float64 `json:"CheckCostTime,omitnil,omitempty" name:"CheckCostTime"`

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

	// Scheduled check rule
	PeriodRule *CompliancePeriodTaskRule `json:"PeriodRule,omitnil,omitempty" name:"PeriodRule"`

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

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

type ComplianceBenchmarkStandard struct {
	// Compliance standard ID
	StandardId *uint64 `json:"StandardId,omitnil,omitempty" name:"StandardId"`

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

	// Number of items contained in the compliance standard
	PolicyItemCount *uint64 `json:"PolicyItemCount,omitnil,omitempty" name:"PolicyItemCount"`

	// Whether to enable the standard
	Enabled *bool `json:"Enabled,omitnil,omitempty" name:"Enabled"`

	// Description of the standard
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type ComplianceBenchmarkStandardEnable struct {
	// Compliance standard ID
	StandardId *uint64 `json:"StandardId,omitnil,omitempty" name:"StandardId"`

	// Whether to enable the compliance standard
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`
}

type ComplianceContainerDetailInfo struct {
	// Container ID on the server
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Pod name of the container
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`
}

type ComplianceFilters struct {
	// Filter name
	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. Default value: `true`.
	ExactMatch *bool `json:"ExactMatch,omitnil,omitempty" name:"ExactMatch"`
}

type ComplianceHostDetailInfo struct {
	// Docker version on the server
	// Note: This field may return null, indicating that no valid values can be obtained.
	DockerVersion *string `json:"DockerVersion,omitnil,omitempty" name:"DockerVersion"`

	// K8s version on the server
	// Note: This field may return null, indicating that no valid values can be obtained.
	K8SVersion *string `json:"K8SVersion,omitnil,omitempty" name:"K8SVersion"`
}

type ComplianceImageDetailInfo struct {
	// Image ID on the server
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image tag
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Path of the remote repository of the image
	// Note: This field may return null, indicating that no valid values can be obtained.
	Repository *string `json:"Repository,omitnil,omitempty" name:"Repository"`
}

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

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

type CompliancePeriodTask struct {
	// Scheduled task ID
	PeriodTaskId *uint64 `json:"PeriodTaskId,omitnil,omitempty" name:"PeriodTaskId"`

	// Asset type
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

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

	// Total number of check items
	TotalPolicyItemCount *uint64 `json:"TotalPolicyItemCount,omitnil,omitempty" name:"TotalPolicyItemCount"`

	// Cycle settings
	PeriodRule *CompliancePeriodTaskRule `json:"PeriodRule,omitnil,omitempty" name:"PeriodRule"`

	// List of compliance standards
	BenchmarkStandardSet []*ComplianceBenchmarkStandard `json:"BenchmarkStandardSet,omitnil,omitempty" name:"BenchmarkStandardSet"`
}

type CompliancePeriodTaskRule struct {
	// Execution frequency (days). Valid values: `1`, `3`, `7`.
	Frequency *uint64 `json:"Frequency,omitnil,omitempty" name:"Frequency"`

	// Execution time in the format of "HH:mm:SS"
	ExecutionTime *string `json:"ExecutionTime,omitnil,omitempty" name:"ExecutionTime"`

	// Whether to enable
	// Note: This field may return null, indicating that no valid values can be obtained.
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`
}

type CompliancePolicyAssetSetItem struct {
	// Check item ID
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// List of IDs of assets to be ignored in the specified check item. If it is empty, it indicates all.
	CustomerAssetItemIdSet []*uint64 `json:"CustomerAssetItemIdSet,omitnil,omitempty" name:"CustomerAssetItemIdSet"`
}

type CompliancePolicyItemSummary struct {
	// Unique ID of the customer check item
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// Original ID of the check item
	BasePolicyItemId *uint64 `json:"BasePolicyItemId,omitnil,omitempty" name:"BasePolicyItemId"`

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

	// Category of the check item, which is an enumerated string.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Compliance standard
	BenchmarkStandardName *string `json:"BenchmarkStandardName,omitnil,omitempty" name:"BenchmarkStandardName"`

	// Severity. Valid values: `RISK_CRITICAL`, `RISK_HIGH`, `RISK_MEDIUM`, `RISK_LOW`, `RISK_NOTICE`.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Asset type of the check item
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

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

	// Check status
	// 
	// `CHECK_INIT`: To be checked.
	// 
	// `CHECK_RUNNING`: Checking.
	// 
	// `CHECK_FINISHED`: Checked.
	// 
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Check result. Valid values: `RESULT_PASSED`: Passed.
	// 
	// `RESULT_FAILED`: Failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckResult *string `json:"CheckResult,omitnil,omitempty" name:"CheckResult"`

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

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

	// Allowed item ID of the check item. If it exists and is not `0`, the check item is ignored.
	// Note: This field may return null, indicating that no valid values can be obtained.
	WhitelistId *uint64 `json:"WhitelistId,omitnil,omitempty" name:"WhitelistId"`

	// Handling suggestion
	FixSuggestion *string `json:"FixSuggestion,omitnil,omitempty" name:"FixSuggestion"`

	// Compliance standard ID
	BenchmarkStandardId *uint64 `json:"BenchmarkStandardId,omitnil,omitempty" name:"BenchmarkStandardId"`

	// TCSS editions that support this check item
	// Note: This field may return `null`, indicating that no valid value was found.
	ApplicableVersion *string `json:"ApplicableVersion,omitnil,omitempty" name:"ApplicableVersion"`
}

type ComplianceScanFailedAsset struct {
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`

	// Asset type
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Check status
	// `CHECK_INIT`: To be checked.
	// `CHECK_RUNNING`: Checking.
	// `CHECK_FINISHED`: Checked.
	// `CHECK_FAILED`: Check failed.
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Asset name
	AssetName *string `json:"AssetName,omitnil,omitempty" name:"AssetName"`

	// Cause of the asset check failure
	FailureReason *string `json:"FailureReason,omitnil,omitempty" name:"FailureReason"`

	// Suggestion for handling the check failure
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Check time
	CheckTime *string `json:"CheckTime,omitnil,omitempty" name:"CheckTime"`
}

type ComplianceWhitelistItem struct {
	// Allowed item ID
	WhitelistItemId *uint64 `json:"WhitelistItemId,omitnil,omitempty" name:"WhitelistItemId"`

	// ID of the customer check item
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

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

	// Compliance standard name
	StandardName *string `json:"StandardName,omitnil,omitempty" name:"StandardName"`

	// Compliance standard ID
	StandardId *uint64 `json:"StandardId,omitnil,omitempty" name:"StandardId"`

	// Number of assets affected by the check item
	AffectedAssetCount *uint64 `json:"AffectedAssetCount,omitnil,omitempty" name:"AffectedAssetCount"`

	// Last update time
	LastUpdateTime *string `json:"LastUpdateTime,omitnil,omitempty" name:"LastUpdateTime"`

	// Allowed time
	InsertTime *string `json:"InsertTime,omitnil,omitempty" name:"InsertTime"`
}

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

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

type ComponentsInfo struct {
	// Component name
	// Note: This field may return null, indicating that no valid values can be obtained.
	//
	// Deprecated: Component is deprecated.
	Component *string `json:"Component,omitnil,omitempty" name:"Component"`

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

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

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

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

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

// Predefined struct for user
type ConfirmNetworkFirewallPolicyRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type ConfirmNetworkFirewallPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

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

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

// Predefined struct for user
type ConfirmNetworkFirewallPolicyResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the confirmation task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type ConfirmNetworkFirewallPolicyResponse struct {
	*tchttp.BaseResponse
	Response *ConfirmNetworkFirewallPolicyResponseParams `json:"Response"`
}

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

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

type ContainerInfo struct {
	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

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

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

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

	// Command line
	Cmd *string `json:"Cmd,omitnil,omitempty" name:"Cmd"`

	// CPU utilization * 1000
	CPUUsage *uint64 `json:"CPUUsage,omitnil,omitempty" name:"CPUUsage"`

	// Memory usage in KB
	RamUsage *uint64 `json:"RamUsage,omitnil,omitempty" name:"RamUsage"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image ID
	POD *string `json:"POD,omitnil,omitempty" name:"POD"`

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

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

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

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

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

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	NetStatus *string `json:"NetStatus,omitnil,omitempty" name:"NetStatus"`

	// Sub-status of the network
	NetSubStatus *string `json:"NetSubStatus,omitnil,omitempty" name:"NetSubStatus"`

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

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

	// Super node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Node type. Valid values: `NORMAL` (general node), `SUPER` (super node)
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// UID of the super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Number of CPU cores used by the pod
	PodCpu *int64 `json:"PodCpu,omitnil,omitempty" name:"PodCpu"`

	// Memory specification of the Pod
	PodMem *int64 `json:"PodMem,omitnil,omitempty" name:"PodMem"`

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

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// pod uid
	PodUid *string `json:"PodUid,omitnil,omitempty" name:"PodUid"`
}

type ContainerMount struct {
	// Mount type: `bind`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

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

	// Path in the container
	Destination *string `json:"Destination,omitnil,omitempty" name:"Destination"`

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

	// Read/Write permission
	RW *bool `json:"RW,omitnil,omitempty" name:"RW"`

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

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

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

type ContainerNetwork struct {
	// Endpoint ID
	EndpointID *string `json:"EndpointID,omitnil,omitempty" name:"EndpointID"`

	// Mode: `bridge`.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

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

	// Network ID
	NetworkID *string `json:"NetworkID,omitnil,omitempty" name:"NetworkID"`

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

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

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

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

// Predefined struct for user
type CreateAbnormalProcessRulesExportJobRequestParams struct {
	// Filter conditions
	// <li>`RuleType` - String  - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

	// Fields to export
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateAbnormalProcessRulesExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filter conditions
	// <li>`RuleType` - String  - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

	// Fields to export
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateAbnormalProcessRulesExportJobResponseParams struct {
	// ID of the exportation task. You can query the task progress by using this ID in the console.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateAbnormalProcessRulesExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateAbnormalProcessRulesExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateAccessControlsRuleExportJobRequestParams struct {
	// Filter conditions
	// <li>`RuleType` - String  - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By []*string `json:"By,omitnil,omitempty" name:"By"`

	// Fields to export
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateAccessControlsRuleExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filter conditions
	// <li>`RuleType` - String  - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By []*string `json:"By,omitnil,omitempty" name:"By"`

	// Fields to export
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateAccessControlsRuleExportJobResponseParams struct {
	// ID of the exportation task. You can query the task progress by using this ID in the console.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateAccessControlsRuleExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateAccessControlsRuleExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateAssetImageRegistryScanTaskOneKeyRequestParams struct {
	// Whether to scan all images
	//
	// Deprecated: All is deprecated.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Array of scan types
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// List of IDs of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type CreateAssetImageRegistryScanTaskOneKeyRequest struct {
	*tchttp.BaseRequest
	
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Array of scan types
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// List of IDs of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

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

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

// Predefined struct for user
type CreateAssetImageRegistryScanTaskOneKeyResponseParams struct {

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

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

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

// Predefined struct for user
type CreateAssetImageRegistryScanTaskRequestParams struct {
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Array of scan types
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// List of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// List of images not to be scanned, which is used together with `Filters`.
	ExcludeImageList []*uint64 `json:"ExcludeImageList,omitnil,omitempty" name:"ExcludeImageList"`

	// Whether to scan only the latest repository images, which is used together with `Filters`.
	OnlyScanLatest *bool `json:"OnlyScanLatest,omitnil,omitempty" name:"OnlyScanLatest"`
}

type CreateAssetImageRegistryScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Array of scan types
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// List of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// List of images not to be scanned, which is used together with `Filters`.
	ExcludeImageList []*uint64 `json:"ExcludeImageList,omitnil,omitempty" name:"ExcludeImageList"`

	// Whether to scan only the latest repository images, which is used together with `Filters`.
	OnlyScanLatest *bool `json:"OnlyScanLatest,omitnil,omitempty" name:"OnlyScanLatest"`
}

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

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

// Predefined struct for user
type CreateAssetImageRegistryScanTaskResponseParams struct {

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

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

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

// Predefined struct for user
type CreateAssetImageScanSettingRequestParams struct {
	// Switch
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scan cycle
	ScanPeriod *uint64 `json:"ScanPeriod,omitnil,omitempty" name:"ScanPeriod"`

	// Trojan scan
	ScanVirus *bool `json:"ScanVirus,omitnil,omitempty" name:"ScanVirus"`

	// Sensitive data scan
	ScanRisk *bool `json:"ScanRisk,omitnil,omitempty" name:"ScanRisk"`

	// Vulnerability scan
	ScanVul *bool `json:"ScanVul,omitnil,omitempty" name:"ScanVul"`

	// All images
	//
	// Deprecated: All is deprecated.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// Custom image
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`
}

type CreateAssetImageScanSettingRequest struct {
	*tchttp.BaseRequest
	
	// Switch
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scan cycle
	ScanPeriod *uint64 `json:"ScanPeriod,omitnil,omitempty" name:"ScanPeriod"`

	// Trojan scan
	ScanVirus *bool `json:"ScanVirus,omitnil,omitempty" name:"ScanVirus"`

	// Sensitive data scan
	ScanRisk *bool `json:"ScanRisk,omitnil,omitempty" name:"ScanRisk"`

	// Vulnerability scan
	ScanVul *bool `json:"ScanVul,omitnil,omitempty" name:"ScanVul"`

	// All images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// Custom image
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`
}

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

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

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

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

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

// Predefined struct for user
type CreateAssetImageScanTaskRequestParams struct {
	// Whether to scan all images.
	//
	// Deprecated: All is deprecated.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of images to be scanned.
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`

	// Scan for vulnerabilities.
	ScanVul *bool `json:"ScanVul,omitnil,omitempty" name:"ScanVul"`

	// Scan for trojans.
	ScanVirus *bool `json:"ScanVirus,omitnil,omitempty" name:"ScanVirus"`

	// Scan for risks.
	ScanRisk *bool `json:"ScanRisk,omitnil,omitempty" name:"ScanRisk"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Specified image IDs to be excluded
	ExcludeImageIds []*string `json:"ExcludeImageIds,omitnil,omitempty" name:"ExcludeImageIds"`
}

type CreateAssetImageScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Whether to scan all images.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of images to be scanned.
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`

	// Scan for vulnerabilities.
	ScanVul *bool `json:"ScanVul,omitnil,omitempty" name:"ScanVul"`

	// Scan for trojans.
	ScanVirus *bool `json:"ScanVirus,omitnil,omitempty" name:"ScanVirus"`

	// Scan for risks.
	ScanRisk *bool `json:"ScanRisk,omitnil,omitempty" name:"ScanRisk"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Specified image IDs to be excluded
	ExcludeImageIds []*string `json:"ExcludeImageIds,omitnil,omitempty" name:"ExcludeImageIds"`
}

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

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

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

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

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

// Predefined struct for user
type CreateAssetImageVirusExportJobRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Number of results to be returned. Default value: `10`. Maximum value: `10000`.
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

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

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type CreateAssetImageVirusExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Number of results to be returned. Default value: `10`. Maximum value: `10000`.
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

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

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

// Predefined struct for user
type CreateAssetImageVirusExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateAssetImageVirusExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateAssetImageVirusExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateCheckComponentRequestParams struct {
	// Information of the list of clusters for installation
	ClusterInfoList []*ClusterCreateComponentItem `json:"ClusterInfoList,omitnil,omitempty" name:"ClusterInfoList"`
}

type CreateCheckComponentRequest struct {
	*tchttp.BaseRequest
	
	// Information of the list of clusters for installation
	ClusterInfoList []*ClusterCreateComponentItem `json:"ClusterInfoList,omitnil,omitempty" name:"ClusterInfoList"`
}

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

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

// Predefined struct for user
type CreateCheckComponentResponseParams struct {
	// Valid values: `InstallSucc` (installed successfully); `InstallFailed` (failed to install).
	InstallResult *string `json:"InstallResult,omitnil,omitempty" name:"InstallResult"`

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

type CreateCheckComponentResponse struct {
	*tchttp.BaseResponse
	Response *CreateCheckComponentResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateClusterCheckTaskRequestParams struct {
	// Information of the specified cluster to be scanned
	ClusterCheckTaskList []*ClusterCheckTaskItem `json:"ClusterCheckTaskList,omitnil,omitempty" name:"ClusterCheckTaskList"`
}

type CreateClusterCheckTaskRequest struct {
	*tchttp.BaseRequest
	
	// Information of the specified cluster to be scanned
	ClusterCheckTaskList []*ClusterCheckTaskItem `json:"ClusterCheckTaskList,omitnil,omitempty" name:"ClusterCheckTaskList"`
}

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

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

// Predefined struct for user
type CreateClusterCheckTaskResponseParams struct {
	// ID of the created cluster check task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the check task. Valid values: `Succ` (success); others (failure cause).
	CreateResult *string `json:"CreateResult,omitnil,omitempty" name:"CreateResult"`

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

type CreateClusterCheckTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateClusterCheckTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateComplianceTaskRequestParams struct {
	// List of asset types to be scanned
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	// A valid value must be entered for the `AssetTypeSet`, `PolicySetId`, or `PeriodTaskId` parameter.
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Policy set ID
	PolicySetId *uint64 `json:"PolicySetId,omitnil,omitempty" name:"PolicySetId"`

	// Scheduled task ID
	PeriodTaskId *uint64 `json:"PeriodTaskId,omitnil,omitempty" name:"PeriodTaskId"`
}

type CreateComplianceTaskRequest struct {
	*tchttp.BaseRequest
	
	// List of asset types to be scanned
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	// A valid value must be entered for the `AssetTypeSet`, `PolicySetId`, or `PeriodTaskId` parameter.
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Policy set ID
	PolicySetId *uint64 `json:"PolicySetId,omitnil,omitempty" name:"PolicySetId"`

	// Scheduled task ID
	PeriodTaskId *uint64 `json:"PeriodTaskId,omitnil,omitempty" name:"PeriodTaskId"`
}

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

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

// Predefined struct for user
type CreateComplianceTaskResponseParams struct {
	// ID of the created compliance check task
	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 CreateComplianceTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateComplianceTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateComponentExportJobRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

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

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

	// Filter
	// <li>ComponentName- String - Required: No - Image component name</li><li>ComponentVersion- String - Required: No - Image component version</li><li>ComponentType- String - Required: No - Image component type</li><li>VulLevel- String - Required: No - Vulnerability severity</li><li>HasVul- String - Required: No - Whether there is a vulnerability. Valid values: `true` (yes); `false` (no). If `ComponentName` is not passed in or is `ALL`, it indicates all.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateComponentExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

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

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

	// Filter
	// <li>ComponentName- String - Required: No - Image component name</li><li>ComponentVersion- String - Required: No - Image component version</li><li>ComponentType- String - Required: No - Image component type</li><li>VulLevel- String - Required: No - Vulnerability severity</li><li>HasVul- String - Required: No - Whether there is a vulnerability. Valid values: `true` (yes); `false` (no). If `ComponentName` is not passed in or is `ALL`, it indicates all.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateComponentExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateComponentExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateComponentExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateDefenceVulExportJobRequestParams struct {
	// Number of results to be returned. Default value: `10000`. Maximum value: `10000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type CreateDefenceVulExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Number of results to be returned. Default value: `10000`. Maximum value: `10000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type CreateDefenceVulExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateDefenceVulExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateDefenceVulExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateEmergencyVulExportJobRequestParams struct {
	// Number of results to be returned. Default value: `50000`. Maximum value: `50000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type CreateEmergencyVulExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Number of results to be returned. Default value: `50000`. Maximum value: `50000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type CreateEmergencyVulExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateEmergencyVulExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateEmergencyVulExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateEscapeEventsExportJobRequestParams struct {
	// Number of results to be returned. Maximum value: `10000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter parameter - status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `latest_found_time`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateEscapeEventsExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Number of results to be returned. Maximum value: `10000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter parameter - status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `latest_found_time`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateEscapeEventsExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateEscapeEventsExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateEscapeEventsExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateEscapeWhiteListExportJobRequestParams struct {
	// Filter
	// <li>EventType- String - Required: No - Allowed event type. Valid values: `ESCAPE_CGROUPS` (cgroup escape); `ESCAPE_TAMPER_SENSITIVE_FILE` (file tamper escape); `ESCAPE_DOCKER_API` (Docker API access escape); `ESCAPE_VUL_OCCURRED` (vulnerability exploit); `MOUNT_SENSITIVE_PTAH` (sensitive path mount); `PRIVILEGE_CONTAINER_START` (privileged container); `PRIVILEGE` (program privilege escalation escape).</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `HostCount` (number of servers); `ContainerCount` (number of containers); `UpdateTime` (update time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type CreateEscapeWhiteListExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>EventType- String - Required: No - Allowed event type. Valid values: `ESCAPE_CGROUPS` (cgroup escape); `ESCAPE_TAMPER_SENSITIVE_FILE` (file tamper escape); `ESCAPE_DOCKER_API` (Docker API access escape); `ESCAPE_VUL_OCCURRED` (vulnerability exploit); `MOUNT_SENSITIVE_PTAH` (sensitive path mount); `PRIVILEGE_CONTAINER_START` (privileged container); `PRIVILEGE` (program privilege escalation escape).</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `HostCount` (number of servers); `ContainerCount` (number of containers); `UpdateTime` (update time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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

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

// Predefined struct for user
type CreateEscapeWhiteListExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateEscapeWhiteListExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateEscapeWhiteListExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateExportComplianceStatusListJobRequestParams struct {
	// Asset type of the information to be exported
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Export by check item or asset. Valid values: `true` (export by asset); `false` (export by check item).
	ExportByAsset *bool `json:"ExportByAsset,omitnil,omitempty" name:"ExportByAsset"`

	// Valid values: `true` (export all); `false` (export based on the `IdList`).
	ExportAll *bool `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`

	// List of IDs of assets or check items to be exported, which is determined by the value of `ExportByAsset`.
	IdList []*uint64 `json:"IdList,omitnil,omitempty" name:"IdList"`
}

type CreateExportComplianceStatusListJobRequest struct {
	*tchttp.BaseRequest
	
	// Asset type of the information to be exported
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Export by check item or asset. Valid values: `true` (export by asset); `false` (export by check item).
	ExportByAsset *bool `json:"ExportByAsset,omitnil,omitempty" name:"ExportByAsset"`

	// Valid values: `true` (export all); `false` (export based on the `IdList`).
	ExportAll *bool `json:"ExportAll,omitnil,omitempty" name:"ExportAll"`

	// List of IDs of assets or check items to be exported, which is determined by the value of `ExportByAsset`.
	IdList []*uint64 `json:"IdList,omitnil,omitempty" name:"IdList"`
}

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

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

// Predefined struct for user
type CreateExportComplianceStatusListJobResponseParams struct {
	// ID of the created export task
	// Note: This field may return null, indicating that no valid values can be obtained.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateExportComplianceStatusListJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateExportComplianceStatusListJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateHostExportJobRequestParams struct {
	// Filters.
	// <li>`Status` - String - Optional - Agent status. Values: `ALL`; `UNINSTALL` (Not installed); `OFFLINE`, `ONLINE`. Default to `All` if it's not specified. </li>
	// <li>`HostName` - String - Optional - Server name</li>
	// <li>`Group - String - Optional - Server group</li>
	// <li>`HostIP` - String - Optional - Server IP</li>
	// <li>`HostID - String - Optional - Server ID</li>
	// <li>`DockerVersion` - String - Optional - Docker version</li>
	// <li>`MachineType` - String - Optional - Server type. Values: `ALL`; `CVM` (Cloud Virtual Machine); `ECM` (Edge Computing Machine); `LH` (Lighthouse), `BM` (Cloud Bare Metal); `Other` (non-Tencent Cloud server). Default to `ALL` if it's not specified.</li>
	// <li>`DockerStatus` - String - Optional - Docker installation status. Values: `ALL`; `INSTALL` (Installed); `UNINSTALL` (Not installed)</li>
	// <li>`ProjectID` - String - Optional - Project ID</li>
	// <li>`Tag:xxx(tag:key)` - String - Optional - Tag key-value pair; Example: `Filters":[{"Name":"tag:tke-kind","Values":["service"]}]`</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// The number of results to return. Default value: 10. Maximum value: 10,000.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

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

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateHostExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>`Status` - String - Optional - Agent status. Values: `ALL`; `UNINSTALL` (Not installed); `OFFLINE`, `ONLINE`. Default to `All` if it's not specified. </li>
	// <li>`HostName` - String - Optional - Server name</li>
	// <li>`Group - String - Optional - Server group</li>
	// <li>`HostIP` - String - Optional - Server IP</li>
	// <li>`HostID - String - Optional - Server ID</li>
	// <li>`DockerVersion` - String - Optional - Docker version</li>
	// <li>`MachineType` - String - Optional - Server type. Values: `ALL`; `CVM` (Cloud Virtual Machine); `ECM` (Edge Computing Machine); `LH` (Lighthouse), `BM` (Cloud Bare Metal); `Other` (non-Tencent Cloud server). Default to `ALL` if it's not specified.</li>
	// <li>`DockerStatus` - String - Optional - Docker installation status. Values: `ALL`; `INSTALL` (Installed); `UNINSTALL` (Not installed)</li>
	// <li>`ProjectID` - String - Optional - Project ID</li>
	// <li>`Tag:xxx(tag:key)` - String - Optional - Tag key-value pair; Example: `Filters":[{"Name":"tag:tke-kind","Values":["service"]}]`</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// The number of results to return. Default value: 10. Maximum value: 10,000.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

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

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateHostExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateHostExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateHostExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateImageExportJobRequestParams struct {
	// Filter
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus - String - Required: No - Image scanning status. Valid values: `notScan`, `scanning`, `scanned`, `scanErr`.</li>
	// <li>ImageID- String - Required: No - Image ID</li>
	// <li>SecurityRisk- String - Required: No - Security risks. Valid values: `VulCnt`, `VirusCnt`, `RiskCnt`, `IsTrustImage`.</li>
	Filters []*RunTimeFilters `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 field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateImageExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus - String - Required: No - Image scanning status. Valid values: `notScan`, `scanning`, `scanned`, `scanErr`.</li>
	// <li>ImageID- String - Required: No - Image ID</li>
	// <li>SecurityRisk- String - Required: No - Security risks. Valid values: `VulCnt`, `VirusCnt`, `RiskCnt`, `IsTrustImage`.</li>
	Filters []*RunTimeFilters `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 field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateImageExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

	// Excel file 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 CreateImageExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateImageExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateK8sApiAbnormalEventExportJobRequestParams struct {
	// Filters.
	// <li>TimeRange - String - Optional - Time range. Example: ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>`MatchRules` - String - Optional - Hit rule</li>
	// <li>`RiskLevel` - String - Optional - Threat level</li>
	// <li>`Status` - String - Optional - Event status</li>
	// <li>`MatchRuleType` - String - Optional - Hit rule type</li>
	// <li>`ClusterRunningStatus` - String - Optional - Cluster running status</li>
	// <li>`ClusterName` - String - Optional - Cluster name</li>
	// <li>`ClusterID` - String - Optional - Cluster ID</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateK8sApiAbnormalEventExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>TimeRange - String - Optional - Time range. Example: ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>`MatchRules` - String - Optional - Hit rule</li>
	// <li>`RiskLevel` - String - Optional - Threat level</li>
	// <li>`Status` - String - Optional - Event status</li>
	// <li>`MatchRuleType` - String - Optional - Hit rule type</li>
	// <li>`ClusterRunningStatus` - String - Optional - Cluster running status</li>
	// <li>`ClusterName` - String - Optional - Cluster name</li>
	// <li>`ClusterID` - String - Optional - Cluster ID</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateK8sApiAbnormalEventExportJobResponseParams struct {
	// ID of the exportation job. You can query the job progress by using this ID on the console.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateK8sApiAbnormalEventExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateK8sApiAbnormalEventExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateK8sApiAbnormalRuleExportJobRequestParams struct {
	// Filters.
	// <li>`RuleType` - String - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting field
	By []*string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateK8sApiAbnormalRuleExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>`RuleType` - String - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting field
	By []*string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateK8sApiAbnormalRuleExportJobResponseParams struct {
	// ID of the exportation job. You can query the job progress by using this ID on the console.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateK8sApiAbnormalRuleExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateK8sApiAbnormalRuleExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateK8sApiAbnormalRuleInfoRequestParams struct {
	// Rule details
	RuleInfo *K8sApiAbnormalRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`

	// The ID of the copy rule (for copy rule scenarios)
	CopySrcRuleID *string `json:"CopySrcRuleID,omitnil,omitempty" name:"CopySrcRuleID"`

	// Event ID (for adding events to an allowlist)
	EventID *uint64 `json:"EventID,omitnil,omitempty" name:"EventID"`
}

type CreateK8sApiAbnormalRuleInfoRequest struct {
	*tchttp.BaseRequest
	
	// Rule details
	RuleInfo *K8sApiAbnormalRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`

	// The ID of the copy rule (for copy rule scenarios)
	CopySrcRuleID *string `json:"CopySrcRuleID,omitnil,omitempty" name:"CopySrcRuleID"`

	// Event ID (for adding events to an allowlist)
	EventID *uint64 `json:"EventID,omitnil,omitempty" name:"EventID"`
}

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

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

// Predefined struct for user
type CreateK8sApiAbnormalRuleInfoResponseParams struct {
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`

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

type CreateK8sApiAbnormalRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *CreateK8sApiAbnormalRuleInfoResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallClusterRefreshRequestParams struct {

}

type CreateNetworkFirewallClusterRefreshRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type CreateNetworkFirewallClusterRefreshResponseParams struct {
	// ID of the created cluster check task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the check task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type CreateNetworkFirewallClusterRefreshResponse struct {
	*tchttp.BaseResponse
	Response *CreateNetworkFirewallClusterRefreshResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallPolicyDiscoverRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`
}

type CreateNetworkFirewallPolicyDiscoverRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallPolicyDiscoverResponseParams struct {
	// ID of the created cluster check task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the check task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type CreateNetworkFirewallPolicyDiscoverResponse struct {
	*tchttp.BaseResponse
	Response *CreateNetworkFirewallPolicyDiscoverResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallPublishRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type CreateNetworkFirewallPublishRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallPublishResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type CreateNetworkFirewallPublishResponse struct {
	*tchttp.BaseResponse
	Response *CreateNetworkFirewallPublishResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallUndoPublishRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type CreateNetworkFirewallUndoPublishRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

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

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

// Predefined struct for user
type CreateNetworkFirewallUndoPublishResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type CreateNetworkFirewallUndoPublishResponse struct {
	*tchttp.BaseResponse
	Response *CreateNetworkFirewallUndoPublishResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrModifyPostPayCoresRequestParams struct {
	// Upper limit for elastic billing. Minimum value: `500`.
	CoresCnt *uint64 `json:"CoresCnt,omitnil,omitempty" name:"CoresCnt"`
}

type CreateOrModifyPostPayCoresRequest struct {
	*tchttp.BaseRequest
	
	// Upper limit for elastic billing. Minimum value: `500`.
	CoresCnt *uint64 `json:"CoresCnt,omitnil,omitempty" name:"CoresCnt"`
}

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

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

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

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

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

// Predefined struct for user
type CreateProcessEventsExportJobRequestParams struct {
	// Number of results to be returned. Maximum value: `10000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter parameter - status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `latest_found_time`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type CreateProcessEventsExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Number of results to be returned. Maximum value: `10000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter parameter - status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `latest_found_time`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type CreateProcessEventsExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateProcessEventsExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateProcessEventsExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateRefreshTaskRequestParams struct {
	// Specify the cluster list. If empty, it indicates synchronization of all clusters.
	ClusterIDs []*string `json:"ClusterIDs,omitnil,omitempty" name:"ClusterIDs"`

	// Whether to synchronize only the list
	IsSyncListOnly *bool `json:"IsSyncListOnly,omitnil,omitempty" name:"IsSyncListOnly"`
}

type CreateRefreshTaskRequest struct {
	*tchttp.BaseRequest
	
	// Specify the cluster list. If empty, it indicates synchronization of all clusters.
	ClusterIDs []*string `json:"ClusterIDs,omitnil,omitempty" name:"ClusterIDs"`

	// Whether to synchronize only the list
	IsSyncListOnly *bool `json:"IsSyncListOnly,omitnil,omitempty" name:"IsSyncListOnly"`
}

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

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

// Predefined struct for user
type CreateRefreshTaskResponseParams struct {
	// ID of the created cluster check task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the check task. Valid values: `Succ`, `Failed`.
	CreateResult *string `json:"CreateResult,omitnil,omitempty" name:"CreateResult"`

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

type CreateRefreshTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateRefreshTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateRiskDnsEventExportJobRequestParams struct {
	// Filters.
	// <li>`EventStatus` - String - Optional - Event status. Values: `EVENT_UNDEAL` (Pending); `EVENT_DEALED` (Handled); `EVENT_IGNORE` (Ignored); `EVENT_ADD_WHITE` (Added to the allowlist)</li>
	// <li>`ContainerStatus` - String - Optional - Container running status. `CREATED`, `RUNNING`, `PAUSED`, `STOPPED`, `RESTARTING`: `REMOVING`, `DESTROYED (Terminated)</li>
	// <li>`ContainerNetStatus` - String - Optional - Container network status. Values: `NORMAL`, `ISOLATED`, `ISOLATE_FAILED` (Isolation failed`; `RESTORE_FAILED` (Failed to restore from isolation), `RESTORING` (Restoring); `ISOLATING`</li>
	// <li>`EventType` - String - Optional - Event type. Values: `DOMAIN` (Malicious domain); `IP` (Malicious IP)</li>
	// <li>`TimeRange` - String - Optional - Time range, where the first value represents the start time and the second value represents the end time</li>
	// <li>`RiskDns` - String - Optional - Malicious domain. </li>
	// <li>`RiskIP`- String - Optional - Malicious IP. </li>
	// <li>`ContainerName` - String - Optional - Container name. </li>
	// <li>`ContainerID` - String - Optional - Container ID. </li>
	// <li>`ImageName` - String - Optional - Image name. </li>
	// <li>`ImageID` - String - Optional - Image ID. </li>
	// <li>`HostName` - String - Optional - Server name. </li>
	// <li>`HostIP` - String - Optional - Private IP. </li>
	// <li>`PublicIP` - String - Optional - Public IP. </li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results displayed per page. The maximum value is 100,000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Sort order: `asc`, `desc`
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: Number of events: EventCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type CreateRiskDnsEventExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>`EventStatus` - String - Optional - Event status. Values: `EVENT_UNDEAL` (Pending); `EVENT_DEALED` (Handled); `EVENT_IGNORE` (Ignored); `EVENT_ADD_WHITE` (Added to the allowlist)</li>
	// <li>`ContainerStatus` - String - Optional - Container running status. `CREATED`, `RUNNING`, `PAUSED`, `STOPPED`, `RESTARTING`: `REMOVING`, `DESTROYED (Terminated)</li>
	// <li>`ContainerNetStatus` - String - Optional - Container network status. Values: `NORMAL`, `ISOLATED`, `ISOLATE_FAILED` (Isolation failed`; `RESTORE_FAILED` (Failed to restore from isolation), `RESTORING` (Restoring); `ISOLATING`</li>
	// <li>`EventType` - String - Optional - Event type. Values: `DOMAIN` (Malicious domain); `IP` (Malicious IP)</li>
	// <li>`TimeRange` - String - Optional - Time range, where the first value represents the start time and the second value represents the end time</li>
	// <li>`RiskDns` - String - Optional - Malicious domain. </li>
	// <li>`RiskIP`- String - Optional - Malicious IP. </li>
	// <li>`ContainerName` - String - Optional - Container name. </li>
	// <li>`ContainerID` - String - Optional - Container ID. </li>
	// <li>`ImageName` - String - Optional - Image name. </li>
	// <li>`ImageID` - String - Optional - Image ID. </li>
	// <li>`HostName` - String - Optional - Server name. </li>
	// <li>`HostIP` - String - Optional - Private IP. </li>
	// <li>`PublicIP` - String - Optional - Public IP. </li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results displayed per page. The maximum value is 100,000.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Sort order: `asc`, `desc`
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: Number of events: EventCount
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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

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

// Predefined struct for user
type CreateRiskDnsEventExportJobResponseParams struct {
	// ID of the exportation job. You can query the job progress by using this ID on the console.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateRiskDnsEventExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateRiskDnsEventExportJobResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateRiskDnsEventExportJobResponse) 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 {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 CreateSystemVulExportJobRequestParams struct {
	// Number of results to be returned. Default value: `50000`. Maximum value: `50000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CategoryType- string - Required: No - Sub-type of the vulnerability</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type CreateSystemVulExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Number of results to be returned. Default value: `50000`. Maximum value: `50000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CategoryType- string - Required: No - Sub-type of the vulnerability</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type CreateSystemVulExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateSystemVulExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateSystemVulExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateVirusScanAgainRequestParams struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Set of IDs of containers to be scanned
	ContainerIds []*string `json:"ContainerIds,omitnil,omitempty" name:"ContainerIds"`

	// Whether to scan all timed-out containers
	TimeoutAll *bool `json:"TimeoutAll,omitnil,omitempty" name:"TimeoutAll"`

	// New timeout period
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`
}

type CreateVirusScanAgainRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Set of IDs of containers to be scanned
	ContainerIds []*string `json:"ContainerIds,omitnil,omitempty" name:"ContainerIds"`

	// Whether to scan all timed-out containers
	TimeoutAll *bool `json:"TimeoutAll,omitnil,omitempty" name:"TimeoutAll"`

	// New timeout period
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`
}

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

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

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

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

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

// Predefined struct for user
type CreateVirusScanTaskRequestParams struct {
	// Whether to scan all paths
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// Timeout period in hours
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Valid when `ScanPathAll` is `false`. Valid values: `0` (scan the following paths); `1` (scan all paths except the following).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`

	// Specified path to be excluded or scanned
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`
}

type CreateVirusScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Whether to scan all paths
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// Timeout period in hours
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Valid when `ScanPathAll` is `false`. Valid values: `0` (scan the following paths); `1` (scan all paths except the following).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`

	// Specified path to be excluded or scanned
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`
}

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

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

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

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

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

// Predefined struct for user
type CreateVulContainerExportJobRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

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

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

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- String - Required: No - Container name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type CreateVulContainerExportJobRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

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

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

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- String - Required: No - Container name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

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

// Predefined struct for user
type CreateVulContainerExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateVulContainerExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulContainerExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateVulDefenceEventExportJobRequestParams struct {
	// Filter
	// <li>Status- String - Required: No - Plugin status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_IGNORE` (ignored); `EVENT_DEFENDED` (defended).</li>
	// <li>ContainerStatus- String - Required: No - Container status. Valid values: `CREATED` (created); `RUNNING` (running); `PAUSED` (suspended); 	`STOPPED` (stopped); `RESTARTING` (restarting); `REMOVING` (removing); `DESTROYED` (terminated).</li>
	// <li>ContainerNetStatus- String - Required: No - Container network status. Valid values: `NORMAL` (not isolated); `ISOLATED` (isolated); `ISOLATE_FAILED` (isolation failed); `RESTORE_FAILED` (recovery failed); `RESTORING` (recovering); `ISOLATING` (isolating).</li>
	// <li>EventType - String - Required: No - Intrusion status. Valid values: `EVENT_DEFENDED` (defended successfully); `EVENT_ATTACK` (attack attempt).</li>
	// <li>TimeRange- String - Required: No - Time range. The first value indicates the start time, and the second the end time.</li>
	// <li>VulName- string - Required: No - Vulnerability name</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>SourceIP- string - Required: No - Attacker IP</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>HostName- string - Required: No - Server name</li>
	// <li>HostIP- string - Required: No - Private IP</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `EventCount` (number of events).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type CreateVulDefenceEventExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>Status- String - Required: No - Plugin status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_IGNORE` (ignored); `EVENT_DEFENDED` (defended).</li>
	// <li>ContainerStatus- String - Required: No - Container status. Valid values: `CREATED` (created); `RUNNING` (running); `PAUSED` (suspended); 	`STOPPED` (stopped); `RESTARTING` (restarting); `REMOVING` (removing); `DESTROYED` (terminated).</li>
	// <li>ContainerNetStatus- String - Required: No - Container network status. Valid values: `NORMAL` (not isolated); `ISOLATED` (isolated); `ISOLATE_FAILED` (isolation failed); `RESTORE_FAILED` (recovery failed); `RESTORING` (recovering); `ISOLATING` (isolating).</li>
	// <li>EventType - String - Required: No - Intrusion status. Valid values: `EVENT_DEFENDED` (defended successfully); `EVENT_ATTACK` (attack attempt).</li>
	// <li>TimeRange- String - Required: No - Time range. The first value indicates the start time, and the second the end time.</li>
	// <li>VulName- string - Required: No - Vulnerability name</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>SourceIP- string - Required: No - Attacker IP</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>HostName- string - Required: No - Server name</li>
	// <li>HostIP- string - Required: No - Private IP</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `EventCount` (number of events).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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

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

// Predefined struct for user
type CreateVulDefenceEventExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateVulDefenceEventExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulDefenceEventExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateVulDefenceHostExportJobRequestParams struct {
	// Filter
	// <li>Status- String - Required: No - Plugin status. Valid values: `SUCCESS` (normal); `FAIL` (abnormal); `NO_DEFENCE` (not defended).</li>
	// <li>KeyWords- string - Required: No - Server name/IP</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `ModifyTime` (update time); `CreateTime` (first enablement time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type CreateVulDefenceHostExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>Status- String - Required: No - Plugin status. Valid values: `SUCCESS` (normal); `FAIL` (abnormal); `NO_DEFENCE` (not defended).</li>
	// <li>KeyWords- string - Required: No - Server name/IP</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `ModifyTime` (update time); `CreateTime` (first enablement time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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

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

// Predefined struct for user
type CreateVulDefenceHostExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateVulDefenceHostExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulDefenceHostExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateVulExportJobRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

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

	// Filter
	// <li>ComponentName- String - Required: No - Image component name</li><li>ComponentVersion- String - Required: No - Image component version</li><li>ComponentType- String - Required: No - Image component type</li><li>VulLevel- String - Required: No - Vulnerability severity</li><li>HasVul- String - Required: No - Whether there is a vulnerability. Valid values: `true` (yes); `false` (no). If `ComponentName` is not passed in or is `ALL`, it indicates all.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type CreateVulExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

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

	// Filter
	// <li>ComponentName- String - Required: No - Image component name</li><li>ComponentVersion- String - Required: No - Image component version</li><li>ComponentType- String - Required: No - Image component type</li><li>VulLevel- String - Required: No - Vulnerability severity</li><li>HasVul- String - Required: No - Whether there is a vulnerability. Valid values: `true` (yes); `false` (no). If `ComponentName` is not passed in or is `ALL`, it indicates all.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

// Predefined struct for user
type CreateVulExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateVulExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateVulImageExportJobRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

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

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

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ClientIP- string - Required: No - Private IP</li>
	// <li>PublicIP- string - Required: No - Public IP</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>HostName- string - Required: No - Server name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type CreateVulImageExportJobRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

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

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

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ClientIP- string - Required: No - Private IP</li>
	// <li>PublicIP- string - Required: No - Public IP</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>HostName- string - Required: No - Server name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type CreateVulImageExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateVulImageExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulImageExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateVulScanTaskRequestParams struct {
	// Local image scan scope. Valid values: `ALL` (all local images); `NOT_SCAN` (all licensed but not scanned local images); `IMAGEIDS` (IDs of specified local images).
	LocalImageScanType *string `json:"LocalImageScanType,omitnil,omitempty" name:"LocalImageScanType"`

	// Scan by licensed local image ID, with a higher priority than scan by licensed local image that meets the condition.
	LocalImageIDs []*string `json:"LocalImageIDs,omitnil,omitempty" name:"LocalImageIDs"`

	// Repository image scan scope. Valid values: `ALL` (all repository images); `NOT_SCAN` (all licensed but not scanned repository images); `IMAGEIDS` (IDs of specified repository images).
	RegistryImageScanType *string `json:"RegistryImageScanType,omitnil,omitempty" name:"RegistryImageScanType"`

	// Scan by licensed repository image ID, with a higher priority than scan by licensed repository image that meets the condition.
	RegistryImageIDs []*uint64 `json:"RegistryImageIDs,omitnil,omitempty" name:"RegistryImageIDs"`

	// ID of the task to scan local images again for vulnerabilities
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// ID of the task to scan repository images again for vulnerabilities
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`
}

type CreateVulScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Local image scan scope. Valid values: `ALL` (all local images); `NOT_SCAN` (all licensed but not scanned local images); `IMAGEIDS` (IDs of specified local images).
	LocalImageScanType *string `json:"LocalImageScanType,omitnil,omitempty" name:"LocalImageScanType"`

	// Scan by licensed local image ID, with a higher priority than scan by licensed local image that meets the condition.
	LocalImageIDs []*string `json:"LocalImageIDs,omitnil,omitempty" name:"LocalImageIDs"`

	// Repository image scan scope. Valid values: `ALL` (all repository images); `NOT_SCAN` (all licensed but not scanned repository images); `IMAGEIDS` (IDs of specified repository images).
	RegistryImageScanType *string `json:"RegistryImageScanType,omitnil,omitempty" name:"RegistryImageScanType"`

	// Scan by licensed repository image ID, with a higher priority than scan by licensed repository image that meets the condition.
	RegistryImageIDs []*uint64 `json:"RegistryImageIDs,omitnil,omitempty" name:"RegistryImageIDs"`

	// ID of the task to scan local images again for vulnerabilities
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// ID of the task to scan repository images again for vulnerabilities
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`
}

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

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

// Predefined struct for user
type CreateVulScanTaskResponseParams struct {
	// ID of the task to scan local images again for vulnerabilities
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// ID of the task to scan repository images again for vulnerabilities
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`

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

type CreateVulScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateVulScanTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateWebVulExportJobRequestParams struct {
	// Number of results to be returned. Default value: `50000`. Maximum value: `50000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CategoryType- string - Required: No - Sub-type of the vulnerability</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type CreateWebVulExportJobRequest struct {
	*tchttp.BaseRequest
	
	// Number of results to be returned. Default value: `50000`. Maximum value: `50000`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CategoryType- string - Required: No - Sub-type of the vulnerability</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type CreateWebVulExportJobResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

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

type CreateWebVulExportJobResponse struct {
	*tchttp.BaseResponse
	Response *CreateWebVulExportJobResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteAbnormalProcessRulesRequestParams struct {
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`
}

type DeleteAbnormalProcessRulesRequest struct {
	*tchttp.BaseRequest
	
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteAccessControlRulesRequestParams struct {
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`
}

type DeleteAccessControlRulesRequest struct {
	*tchttp.BaseRequest
	
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteComplianceAssetPolicySetFromWhitelistRequestParams struct {
	// Asset ID
	AssetItemId *uint64 `json:"AssetItemId,omitnil,omitempty" name:"AssetItemId"`

	// List of IDs of check items to be ignored in the specified asset
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

type DeleteComplianceAssetPolicySetFromWhitelistRequest struct {
	*tchttp.BaseRequest
	
	// Asset ID
	AssetItemId *uint64 `json:"AssetItemId,omitnil,omitempty" name:"AssetItemId"`

	// List of IDs of check items to be ignored in the specified asset
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteCompliancePolicyAssetSetFromWhitelistRequestParams struct {
	// List of check item IDs and asset IDs
	PolicyAssetSetList []*CompliancePolicyAssetSetItem `json:"PolicyAssetSetList,omitnil,omitempty" name:"PolicyAssetSetList"`
}

type DeleteCompliancePolicyAssetSetFromWhitelistRequest struct {
	*tchttp.BaseRequest
	
	// List of check item IDs and asset IDs
	PolicyAssetSetList []*CompliancePolicyAssetSetItem `json:"PolicyAssetSetList,omitnil,omitempty" name:"PolicyAssetSetList"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteCompliancePolicyItemFromWhitelistRequestParams struct {
	// List of IDs of specified allowed items
	WhitelistIdSet []*uint64 `json:"WhitelistIdSet,omitnil,omitempty" name:"WhitelistIdSet"`
}

type DeleteCompliancePolicyItemFromWhitelistRequest struct {
	*tchttp.BaseRequest
	
	// List of IDs of specified allowed items
	WhitelistIdSet []*uint64 `json:"WhitelistIdSet,omitnil,omitempty" name:"WhitelistIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteEscapeWhiteListRequestParams struct {
	// Array of allowed item IDs
	IDSet []*int64 `json:"IDSet,omitnil,omitempty" name:"IDSet"`
}

type DeleteEscapeWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Array of allowed item IDs
	IDSet []*int64 `json:"IDSet,omitnil,omitempty" name:"IDSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteIgnoreVulRequestParams struct {
	// List of POC IDs
	List []*ModifyIgnoreVul `json:"List,omitnil,omitempty" name:"List"`
}

type DeleteIgnoreVulRequest struct {
	*tchttp.BaseRequest
	
	// List of POC IDs
	List []*ModifyIgnoreVul `json:"List,omitnil,omitempty" name:"List"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteK8sApiAbnormalRuleRequestParams struct {
	// Rule ID set
	RuleIDSet []*string `json:"RuleIDSet,omitnil,omitempty" name:"RuleIDSet"`
}

type DeleteK8sApiAbnormalRuleRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID set
	RuleIDSet []*string `json:"RuleIDSet,omitnil,omitempty" name:"RuleIDSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteMachineRequestParams struct {
	// Agent UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`
}

type DeleteMachineRequest struct {
	*tchttp.BaseRequest
	
	// Agent 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 DeleteNetworkFirewallPolicyDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DeleteNetworkFirewallPolicyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Array of cluster IDs
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

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

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

// Predefined struct for user
type DeleteNetworkFirewallPolicyDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the deletion task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

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

type DeleteNetworkFirewallPolicyDetailResponse struct {
	*tchttp.BaseResponse
	Response *DeleteNetworkFirewallPolicyDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteReverseShellEventsRequestParams struct {
	// Event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`
}

type DeleteReverseShellEventsRequest struct {
	*tchttp.BaseRequest
	
	// Event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`
}

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, "EventIdSet")
	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 DeleteReverseShellWhiteListsRequestParams struct {
	// IDs of allowed items
	WhiteListIdSet []*string `json:"WhiteListIdSet,omitnil,omitempty" name:"WhiteListIdSet"`
}

type DeleteReverseShellWhiteListsRequest struct {
	*tchttp.BaseRequest
	
	// IDs of allowed items
	WhiteListIdSet []*string `json:"WhiteListIdSet,omitnil,omitempty" name:"WhiteListIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteRiskSyscallEventsRequestParams struct {
	// Event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`
}

type DeleteRiskSyscallEventsRequest struct {
	*tchttp.BaseRequest
	
	// Event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`
}

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

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

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

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

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

// Predefined struct for user
type DeleteRiskSyscallWhiteListsRequestParams struct {
	// IDs of allowed items
	WhiteListIdSet []*string `json:"WhiteListIdSet,omitnil,omitempty" name:"WhiteListIdSet"`
}

type DeleteRiskSyscallWhiteListsRequest struct {
	*tchttp.BaseRequest
	
	// IDs of allowed items
	WhiteListIdSet []*string `json:"WhiteListIdSet,omitnil,omitempty" name:"WhiteListIdSet"`
}

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

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

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

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DeleteRiskSyscallWhiteListsResponse) 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 {
	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 DescribeABTestConfigRequestParams struct {
	// Canary project name
	ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`
}

type DescribeABTestConfigRequest struct {
	*tchttp.BaseRequest
	
	// Canary 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 {
	// Canary 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 DescribeAbnormalProcessDetailRequestParams struct {
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type DescribeAbnormalProcessDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessDetailResponseParams struct {
	// Basic information of the event
	EventBaseInfo *RunTimeEventBaseInfo `json:"EventBaseInfo,omitnil,omitempty" name:"EventBaseInfo"`

	// Process information
	ProcessInfo *ProcessDetailInfo `json:"ProcessInfo,omitnil,omitempty" name:"ProcessInfo"`

	// Parent process information
	ParentProcessInfo *ProcessDetailBaseInfo `json:"ParentProcessInfo,omitnil,omitempty" name:"ParentProcessInfo"`

	// Event description
	EventDetail *AbnormalProcessEventDescription `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

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

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

type DescribeAbnormalProcessDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessEventTendencyRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

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

type DescribeAbnormalProcessEventTendencyRequest 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 *DescribeAbnormalProcessEventTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

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

// Predefined struct for user
type DescribeAbnormalProcessEventTendencyResponseParams struct {
	// Trend of pending abnormal process events
	List []*AbnormalProcessEventTendencyInfo `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 DescribeAbnormalProcessEventTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessEventTendencyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessEventsExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type DescribeAbnormalProcessEventsExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type DescribeAbnormalProcessEventsExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAbnormalProcessEventsExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessEventsExportResponseParams `json:"Response"`
}

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

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

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

	// Array of abnormal processes
	EventSet []*AbnormalProcessEventInfo `json:"EventSet,omitnil,omitempty" name:"EventSet"`

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

type DescribeAbnormalProcessEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessEventsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessLevelSummaryRequestParams struct {

}

type DescribeAbnormalProcessLevelSummaryRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessLevelSummaryResponseParams struct {
	// Number of pending high-risk events of abnormal processes
	HighLevelEventCount *int64 `json:"HighLevelEventCount,omitnil,omitempty" name:"HighLevelEventCount"`

	// Number of pending medium-risk events of abnormal processes
	MediumLevelEventCount *int64 `json:"MediumLevelEventCount,omitnil,omitempty" name:"MediumLevelEventCount"`

	// Number of pending low-risk events of abnormal processes
	LowLevelEventCount *int64 `json:"LowLevelEventCount,omitnil,omitempty" name:"LowLevelEventCount"`

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

type DescribeAbnormalProcessLevelSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessLevelSummaryResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessRuleDetailRequestParams struct {
	// Unique policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Image ID, which is used when an image is added to the allowlist.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

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

type DescribeAbnormalProcessRuleDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Image ID, which is used when an image is added to the allowlist.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

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

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

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

// Predefined struct for user
type DescribeAbnormalProcessRuleDetailResponseParams struct {
	// Details of the abnormal process policy
	RuleDetail *AbnormalProcessRuleInfo `json:"RuleDetail,omitnil,omitempty" name:"RuleDetail"`

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

type DescribeAbnormalProcessRuleDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessRuleDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAbnormalProcessRulesExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type DescribeAbnormalProcessRulesExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type DescribeAbnormalProcessRulesExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAbnormalProcessRulesExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessRulesExportResponseParams `json:"Response"`
}

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

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

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

	// List of abnormal process policies
	RuleSet []*RuleBaseInfo `json:"RuleSet,omitnil,omitempty" name:"RuleSet"`

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

type DescribeAbnormalProcessRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAbnormalProcessRulesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAccessControlDetailRequestParams struct {
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type DescribeAccessControlDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

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

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

// Predefined struct for user
type DescribeAccessControlDetailResponseParams struct {
	// Basic information of the event
	EventBaseInfo *RunTimeEventBaseInfo `json:"EventBaseInfo,omitnil,omitempty" name:"EventBaseInfo"`

	// Process information
	ProcessInfo *ProcessDetailInfo `json:"ProcessInfo,omitnil,omitempty" name:"ProcessInfo"`

	// Information tampered with
	TamperedFileInfo *FileAttributeInfo `json:"TamperedFileInfo,omitnil,omitempty" name:"TamperedFileInfo"`

	// Event description
	EventDetail *AccessControlEventDescription `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

	// Parent process information
	ParentProcessInfo *ProcessBaseInfo `json:"ParentProcessInfo,omitnil,omitempty" name:"ParentProcessInfo"`

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

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

type DescribeAccessControlDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccessControlDetailResponseParams `json:"Response"`
}

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

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

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

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

// Predefined struct for user
type DescribeAccessControlEventsExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

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

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

type DescribeAccessControlEventsExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccessControlEventsExportResponseParams `json:"Response"`
}

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

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

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

	// Array of access control events
	EventSet []*AccessControlEventInfo `json:"EventSet,omitnil,omitempty" name:"EventSet"`

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

type DescribeAccessControlEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccessControlEventsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAccessControlRuleDetailRequestParams struct {
	// Unique policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Image ID, which is used only when allowing an event.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

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

type DescribeAccessControlRuleDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Image ID, which is used only when allowing an event.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

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

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

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

// Predefined struct for user
type DescribeAccessControlRuleDetailResponseParams struct {
	// Runtime policy details
	RuleDetail *AccessControlRuleInfo `json:"RuleDetail,omitnil,omitempty" name:"RuleDetail"`

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

type DescribeAccessControlRuleDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccessControlRuleDetailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAccessControlRulesExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type DescribeAccessControlRulesExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

// Predefined struct for user
type DescribeAccessControlRulesExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAccessControlRulesExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccessControlRulesExportResponseParams `json:"Response"`
}

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

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

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

	// List of access control policies
	RuleSet []*RuleBaseInfo `json:"RuleSet,omitnil,omitempty" name:"RuleSet"`

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

type DescribeAccessControlRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAccessControlRulesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAffectedClusterCountRequestParams struct {

}

type DescribeAffectedClusterCountRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeAffectedClusterCountResponseParams struct {
	// Number of critical clusters
	SeriousRiskClusterCount *uint64 `json:"SeriousRiskClusterCount,omitnil,omitempty" name:"SeriousRiskClusterCount"`

	// Number of high-risk clusters
	HighRiskClusterCount *uint64 `json:"HighRiskClusterCount,omitnil,omitempty" name:"HighRiskClusterCount"`

	// Number of medium-risk clusters
	MiddleRiskClusterCount *uint64 `json:"MiddleRiskClusterCount,omitnil,omitempty" name:"MiddleRiskClusterCount"`

	// Number of low-risk clusters
	HintRiskClusterCount *uint64 `json:"HintRiskClusterCount,omitnil,omitempty" name:"HintRiskClusterCount"`

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

type DescribeAffectedClusterCountResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAffectedClusterCountResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAffectedNodeListRequestParams struct {
	// Unique ID of the check item
	CheckItemId *int64 `json:"CheckItemId,omitnil,omitempty" name:"CheckItemId"`

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

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `InstanceId`, `PrivateIpAddresses`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAffectedNodeListRequest struct {
	*tchttp.BaseRequest
	
	// Unique ID of the check item
	CheckItemId *int64 `json:"CheckItemId,omitnil,omitempty" name:"CheckItemId"`

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

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `InstanceId`, `PrivateIpAddresses`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

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

	// List of affected nodes
	AffectedNodeList []*AffectedNodeItem `json:"AffectedNodeList,omitnil,omitempty" name:"AffectedNodeList"`

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

type DescribeAffectedNodeListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAffectedNodeListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAffectedWorkloadListRequestParams struct {
	// Unique ID of the check item
	CheckItemId *int64 `json:"CheckItemId,omitnil,omitempty" name:"CheckItemId"`

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

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `WorkloadType`, `ClusterId`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAffectedWorkloadListRequest struct {
	*tchttp.BaseRequest
	
	// Unique ID of the check item
	CheckItemId *int64 `json:"CheckItemId,omitnil,omitempty" name:"CheckItemId"`

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

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `WorkloadType`, `ClusterId`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

// Predefined struct for user
type DescribeAffectedWorkloadListResponseParams struct {
	// Number of affected workloads
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of affected workloads
	AffectedWorkloadList []*AffectedWorkloadItem `json:"AffectedWorkloadList,omitnil,omitempty" name:"AffectedWorkloadList"`

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

type DescribeAffectedWorkloadListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAffectedWorkloadListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAgentDaemonSetCmdRequestParams struct {
	// Whether it is from Tencent Cloud
	IsCloud *bool `json:"IsCloud,omitnil,omitempty" name:"IsCloud"`

	// Network type. Valid values: `basic` (classic network); `private` (VPC); `public` (public network); `direct` (Direct Connect).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region, which is required when `NetType` is `direct`.
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VpcId, which is required when `NetType` is `direct`.
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Command validity, which is required for non-Tencent Cloud instances.
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`

	// Custom parameters of the cluster
	ClusterCustomParameters []*ClusterCustomParameters `json:"ClusterCustomParameters,omitnil,omitempty" name:"ClusterCustomParameters"`
}

type DescribeAgentDaemonSetCmdRequest struct {
	*tchttp.BaseRequest
	
	// Whether it is from Tencent Cloud
	IsCloud *bool `json:"IsCloud,omitnil,omitempty" name:"IsCloud"`

	// Network type. Valid values: `basic` (classic network); `private` (VPC); `public` (public network); `direct` (Direct Connect).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region, which is required when `NetType` is `direct`.
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VpcId, which is required when `NetType` is `direct`.
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Command validity, which is required for non-Tencent Cloud instances.
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`

	// Custom parameters of the cluster
	ClusterCustomParameters []*ClusterCustomParameters `json:"ClusterCustomParameters,omitnil,omitempty" name:"ClusterCustomParameters"`
}

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

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

// Predefined struct for user
type DescribeAgentDaemonSetCmdResponseParams struct {
	// Installation command
	Command *string `json:"Command,omitnil,omitempty" name:"Command"`

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

type DescribeAgentDaemonSetCmdResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAgentDaemonSetCmdResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAgentInstallCommandRequestParams struct {
	// Whether it is from Tencent Cloud
	IsCloud *bool `json:"IsCloud,omitnil,omitempty" name:"IsCloud"`

	// Network type. Valid values: `basic` (classic network); `private` (VPC); `public` (public network); `direct` (Direct Connect).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region, which is required when `NetType` is `direct`.
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VpcId, which is required when `NetType` is `direct`.
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Command validity, which is required for non-Tencent Cloud instances.
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`

	// Tag ID list, which is valid only when `IsCloud` is `false`.
	TagIds []*uint64 `json:"TagIds,omitnil,omitempty" name:"TagIds"`
}

type DescribeAgentInstallCommandRequest struct {
	*tchttp.BaseRequest
	
	// Whether it is from Tencent Cloud
	IsCloud *bool `json:"IsCloud,omitnil,omitempty" name:"IsCloud"`

	// Network type. Valid values: `basic` (classic network); `private` (VPC); `public` (public network); `direct` (Direct Connect).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region, which is required when `NetType` is `direct`.
	RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"`

	// VpcId, which is required when `NetType` is `direct`.
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Command validity, which is required for non-Tencent Cloud instances.
	ExpireDate *string `json:"ExpireDate,omitnil,omitempty" name:"ExpireDate"`

	// Tag ID list, which is valid only when `IsCloud` is `false`.
	TagIds []*uint64 `json:"TagIds,omitnil,omitempty" name:"TagIds"`
}

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, "ExpireDate")
	delete(f, "TagIds")
	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 in the Window installation command (Windows 2003)
	WindowsStepOne *string `json:"WindowsStepOne,omitnil,omitempty" name:"WindowsStepOne"`

	// Step 2 in the 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"`

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

	// Filter
	// <li>Keywords- String - Required: No - Optional field for the fuzzy query</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

	// Filter
	// <li>Keywords- String - Required: No - Optional field for the fuzzy query</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

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

// Predefined struct for user
type DescribeAssetAppServiceListResponseParams struct {
	// List of database services
	List []*ServiceInfo `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 DescribeAssetAppServiceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetAppServiceListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAssetClusterListRequestParams struct {
	// Filters.
	// <li>`ClusterID` - String - Optional - Cluster ID</li>
	// <li>`ClusterName` - String - Optional - Cluster name</li>
	// <li>`Status` - String - Optional - Cluster status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

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

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

type DescribeAssetClusterListRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>`ClusterID` - String - Optional - Cluster ID</li>
	// <li>`ClusterName` - String - Optional - Cluster name</li>
	// <li>`Status` - String - Optional - Cluster status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

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

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

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

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

// Predefined struct for user
type DescribeAssetClusterListResponseParams struct {
	// Cluster list
	List []*AssetClusterListItem `json:"List,omitnil,omitempty" name:"List"`

	// Total number of clusters
	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 DescribeAssetClusterListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetClusterListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAssetComponentListRequestParams struct {
	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

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

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetComponentListRequest struct {
	*tchttp.BaseRequest
	
	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

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

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

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

// Predefined struct for user
type DescribeAssetComponentListResponseParams struct {
	// List of components
	List []*ComponentInfo `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 DescribeAssetComponentListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetComponentListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAssetContainerDetailRequestParams struct {
	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`
}

type DescribeAssetContainerDetailRequest struct {
	*tchttp.BaseRequest
	
	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`
}

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

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

// Predefined struct for user
type DescribeAssetContainerDetailResponseParams struct {
	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

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

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

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

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

	// Command line
	Cmd *string `json:"Cmd,omitnil,omitempty" name:"Cmd"`

	// CPU utilization * 1000
	CPUUsage *uint64 `json:"CPUUsage,omitnil,omitempty" name:"CPUUsage"`

	// Memory usage in KB
	RamUsage *uint64 `json:"RamUsage,omitnil,omitempty" name:"RamUsage"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Pod
	POD *string `json:"POD,omitnil,omitempty" name:"POD"`

	// K8s master node
	K8sMaster *string `json:"K8sMaster,omitnil,omitempty" name:"K8sMaster"`

	// Number of processes in the container
	ProcessCnt *uint64 `json:"ProcessCnt,omitnil,omitempty" name:"ProcessCnt"`

	// Number of ports in the container
	PortCnt *uint64 `json:"PortCnt,omitnil,omitempty" name:"PortCnt"`

	// Number of components
	ComponentCnt *uint64 `json:"ComponentCnt,omitnil,omitempty" name:"ComponentCnt"`

	// Number of applications
	AppCnt *uint64 `json:"AppCnt,omitnil,omitempty" name:"AppCnt"`

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

	// Mount
	Mounts []*ContainerMount `json:"Mounts,omitnil,omitempty" name:"Mounts"`

	// Container network information
	Network *ContainerNetwork `json:"Network,omitnil,omitempty" name:"Network"`

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

	// Image creation time
	ImageCreateTime *string `json:"ImageCreateTime,omitnil,omitempty" name:"ImageCreateTime"`

	// Image size
	ImageSize *uint64 `json:"ImageSize,omitnil,omitempty" name:"ImageSize"`

	// Server status. Valid values: `offline`, `online`, `pause`.
	HostStatus *string `json:"HostStatus,omitnil,omitempty" name:"HostStatus"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	NetStatus *string `json:"NetStatus,omitnil,omitempty" name:"NetStatus"`

	// Sub-status of the network
	NetSubStatus *string `json:"NetSubStatus,omitnil,omitempty" name:"NetSubStatus"`

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

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

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

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

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

	// Node subnet name
	NodeSubNetName *string `json:"NodeSubNetName,omitnil,omitempty" name:"NodeSubNetName"`

	// Subnet IP range
	NodeSubNetCIDR *string `json:"NodeSubNetCIDR,omitnil,omitempty" name:"NodeSubNetCIDR"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod status
	PodStatus *string `json:"PodStatus,omitnil,omitempty" name:"PodStatus"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Node type. Values: `NORMAL` (default), `SUPER`
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// UID of the super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

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

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

type DescribeAssetContainerDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetContainerDetailResponseParams `json:"Response"`
}

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

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

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

	// Filter condition
	// <li>`ContainerName`: String - Required: No - Container name</li>
	// <li>`Status` - String - Required: No - Container status. Values: `0` (created); `1` (running); `2` (paused); `3` (restarting); `4` (removing); `5` (exited); `6` (dead).</li>
	// <li>`Runas`: String - Required: No - Operator</li>
	// <li>`ImageName`: String - Required: No - Image name</li>
	// <li>`HostIP`: String - Required: No - Server IP</li>
	// <li>`OrderBy` - String - Required: No - Sorting field, which supports dynamic sorting by `cpu_usage` or `mem_usage` such as ["cpu_usage","+"]. '+' indicates ascending, and '-' indicates descending.</li>
	// <li>`NetStatus`: String - Required: No - Container network status. Values: `normal`, `isolated`, `isolating`, `isolate_failed`, `restoring`, `restore_failed`.</li>
	// <li>`PodID`: String - Required: No- Pod ID </li>
	// <li>`NodeUniqueID`: String - Required: No - Super Node</li>
	// <li>`PodUid`: String - Required: No - Pod</li>
	// <li>`PodIP`: String - Required: No - Pod IP</li>
	// <li>`NodeType`: String - Required: No - Values: `NORMAL` (general nodes), `SUPER` (super nodes)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

	// Filter condition
	// <li>`ContainerName`: String - Required: No - Container name</li>
	// <li>`Status` - String - Required: No - Container status. Values: `0` (created); `1` (running); `2` (paused); `3` (restarting); `4` (removing); `5` (exited); `6` (dead).</li>
	// <li>`Runas`: String - Required: No - Operator</li>
	// <li>`ImageName`: String - Required: No - Image name</li>
	// <li>`HostIP`: String - Required: No - Server IP</li>
	// <li>`OrderBy` - String - Required: No - Sorting field, which supports dynamic sorting by `cpu_usage` or `mem_usage` such as ["cpu_usage","+"]. '+' indicates ascending, and '-' indicates descending.</li>
	// <li>`NetStatus`: String - Required: No - Container network status. Values: `normal`, `isolated`, `isolating`, `isolate_failed`, `restoring`, `restore_failed`.</li>
	// <li>`PodID`: String - Required: No- Pod ID </li>
	// <li>`NodeUniqueID`: String - Required: No - Super Node</li>
	// <li>`PodUid`: String - Required: No - Pod</li>
	// <li>`PodIP`: String - Required: No - Pod IP</li>
	// <li>`NodeType`: String - Required: No - Values: `NORMAL` (general nodes), `SUPER` (super nodes)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

// Predefined struct for user
type DescribeAssetContainerListResponseParams struct {
	// List of containers
	List []*ContainerInfo `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 DescribeAssetContainerListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetContainerListResponseParams `json:"Response"`
}

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

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

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

	// Filter
	// <li>Keywords- String - Required: No - Optional field for the fuzzy query</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

	// Filter
	// <li>Keywords- String - Required: No - Optional field for the fuzzy query</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

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

// Predefined struct for user
type DescribeAssetDBServiceListResponseParams struct {
	// List of database services
	List []*ServiceInfo `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 DescribeAssetDBServiceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetDBServiceListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAssetHostDetailRequestParams struct {
	// Server ID
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`
}

type DescribeAssetHostDetailRequest struct {
	*tchttp.BaseRequest
	
	// Server ID
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`
}

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

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

// Predefined struct for user
type DescribeAssetHostDetailResponseParams struct {
	// TCSS UUID
	UUID *string `json:"UUID,omitnil,omitempty" name:"UUID"`

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

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

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

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

	// OS
	OsName *string `json:"OsName,omitnil,omitempty" name:"OsName"`

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

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

	// Docker version
	DockerVersion *string `json:"DockerVersion,omitnil,omitempty" name:"DockerVersion"`

	// Docker API version
	DockerAPIVersion *string `json:"DockerAPIVersion,omitnil,omitempty" name:"DockerAPIVersion"`

	// Docker version for Go
	DockerGoVersion *string `json:"DockerGoVersion,omitnil,omitempty" name:"DockerGoVersion"`

	// Docker file system type
	DockerFileSystemDriver *string `json:"DockerFileSystemDriver,omitnil,omitempty" name:"DockerFileSystemDriver"`

	// Docker root directory
	DockerRootDir *string `json:"DockerRootDir,omitnil,omitempty" name:"DockerRootDir"`

	// Number of images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// K8s IP
	K8sMasterIP *string `json:"K8sMasterIP,omitnil,omitempty" name:"K8sMasterIP"`

	// K8s version
	K8sVersion *string `json:"K8sVersion,omitnil,omitempty" name:"K8sVersion"`

	// kube proxy
	KubeProxyVersion *string `json:"KubeProxyVersion,omitnil,omitempty" name:"KubeProxyVersion"`

	// Valid values: `UNINSTALL` (not installed); `OFFLINE` (offline); `ONLINE` (defended).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether it is Containerd
	IsContainerd *bool `json:"IsContainerd,omitnil,omitempty" name:"IsContainerd"`

	// Server source. Valid values: `TENCENTCLOUD` (Tencent Cloud instance); `OTHERCLOUD` (non-Tencent Cloud instance).
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

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

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

	// Region ID
	RegionID *int64 `json:"RegionID,omitnil,omitempty" name:"RegionID"`

	// Project
	Project *ProjectInfo `json:"Project,omitnil,omitempty" name:"Project"`

	// Tags
	Tags []*TagInfo `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 DescribeAssetHostDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetHostDetailResponseParams `json:"Response"`
}

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

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

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

	// Filters.
	// <li>`Status` - String - Optional - Agent status. Values: `ALL`; `UNINSTALL` (Not installed); `OFFLINE`, `ONLINE`. Default to `All` if it's not specified. </li>
	// <li>`HostName` - String - Optional - Server name</li>
	// <li>`Group - String - Optional - Server group</li>
	// <li>`HostIP` - String - Optional - Server IP</li>
	// <li>`HostID - String - Optional - Server ID</li>
	// <li>`DockerVersion` - String - Optional - Docker version</li>
	// <li>`MachineType` - String - Optional - Server type. Values: `ALL`; `CVM` (Cloud Virtual Machine); `ECM` (Edge Computing Machine); `LH` (Lighthouse), `BM` (Cloud Bare Metal); `Other` (non-Tencent Cloud server). Default to `ALL` if it's not specified.</li>
	// <li>`DockerStatus` - String - Optional - Docker installation status. Values: `ALL`; `INSTALL` (Installed); `UNINSTALL` (Not installed)</li>
	// <li>`ProjectID` - String - Optional - Project ID</li>
	// <li>`Tag:xxx(tag:key)` - String - Optional - Tag key-value pair; Example: `Filters":[{"Name":"tag:tke-kind","Values":["service"]}]`</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

	// Filters.
	// <li>`Status` - String - Optional - Agent status. Values: `ALL`; `UNINSTALL` (Not installed); `OFFLINE`, `ONLINE`. Default to `All` if it's not specified. </li>
	// <li>`HostName` - String - Optional - Server name</li>
	// <li>`Group - String - Optional - Server group</li>
	// <li>`HostIP` - String - Optional - Server IP</li>
	// <li>`HostID - String - Optional - Server ID</li>
	// <li>`DockerVersion` - String - Optional - Docker version</li>
	// <li>`MachineType` - String - Optional - Server type. Values: `ALL`; `CVM` (Cloud Virtual Machine); `ECM` (Edge Computing Machine); `LH` (Lighthouse), `BM` (Cloud Bare Metal); `Other` (non-Tencent Cloud server). Default to `ALL` if it's not specified.</li>
	// <li>`DockerStatus` - String - Optional - Docker installation status. Values: `ALL`; `INSTALL` (Installed); `UNINSTALL` (Not installed)</li>
	// <li>`ProjectID` - String - Optional - Project ID</li>
	// <li>`Tag:xxx(tag:key)` - String - Optional - Tag key-value pair; Example: `Filters":[{"Name":"tag:tke-kind","Values":["service"]}]`</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

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

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

// Predefined struct for user
type DescribeAssetHostListResponseParams struct {
	// List of servers
	List []*HostInfo `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 DescribeAssetHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetHostListResponseParams `json:"Response"`
}

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

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

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

	// Filter parameter. "Filters":[{"Name":"EventType","Values":[""]}]
	// EventType. Valid values:
	// `FILE_ABNORMAL_READ`: Access control.
	// `MALICE_PROCESS_START`: Malicious process startup.
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

	// Filter parameter. "Filters":[{"Name":"EventType","Values":[""]}]
	// EventType. Valid values:
	// `FILE_ABNORMAL_READ`: Access control.
	// `MALICE_PROCESS_START`: Malicious process startup.
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

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

	// List of rules bound to images
	ImageBindRuleSet []*ImagesBindRuleInfo `json:"ImageBindRuleSet,omitnil,omitempty" name:"ImageBindRuleSet"`

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

type DescribeAssetImageBindRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageBindRuleInfoResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAssetImageDetailRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`
}

type DescribeAssetImageDetailRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`
}

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

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

// Predefined struct for user
type DescribeAssetImageDetailResponseParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

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

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

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

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

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

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

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

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

	// Whether it is a trusted image
	IsTrustImage *bool `json:"IsTrustImage,omitnil,omitempty" name:"IsTrustImage"`

	// Image system
	OsName *string `json:"OsName,omitnil,omitempty" name:"OsName"`

	// Image scan error in the agent
	// Note: This field may return null, indicating that no valid values can be obtained.
	AgentError *string `json:"AgentError,omitnil,omitempty" name:"AgentError"`

	// Image scan error on the backend
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanError *string `json:"ScanError,omitnil,omitempty" name:"ScanError"`

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

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

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

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

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

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

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

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

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

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

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

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

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

	// Valid values: `1` (licensed); `0` (unlicensed).
	IsAuthorized *int64 `json:"IsAuthorized,omitnil,omitempty" name:"IsAuthorized"`

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

type DescribeAssetImageDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageDetailResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageHostListRequestParams struct {
	// Filter. Valid values: `ImageID`, `HostID`.
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetImageHostListRequest struct {
	*tchttp.BaseRequest
	
	// Filter. Valid values: `ImageID`, `HostID`.
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetImageHostListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageHostListRequest) 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", "DescribeAssetImageHostListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageHostListResponseParams struct {
	// List of images
	List []*ImageHost `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 DescribeAssetImageHostListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageHostListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageHostListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageHostListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus - String - Required: No - Image scanning status. Valid values: `notScan`, `scanning`, `scanned`, `scanErr`.</li>
	// <li>ImageID- String - Required: No - Image ID</li>
	// <li>SecurityRisk- String - Required: No - Security risks. Valid values: `VulCnt`, `VirusCnt`, `RiskCnt`, `IsTrustImage`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAssetImageListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus - String - Required: No - Image scanning status. Valid values: `notScan`, `scanning`, `scanned`, `scanErr`.</li>
	// <li>ImageID- String - Required: No - Image ID</li>
	// <li>SecurityRisk- String - Required: No - Security risks. Valid values: `VulCnt`, `VirusCnt`, `RiskCnt`, `IsTrustImage`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAssetImageListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageListExportResponseParams struct {
	// Excel file 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 DescribeAssetImageListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageListRequestParams struct {
	// 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"`

	// Filter
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus - String - Required: No - Image scanning status. Valid values: `notScan`, `scanning`, `scanned`, `scanErr`.</li>
	// <li>ImageID- String - Required: No - Image ID</li>
	// <li>SecurityRisk- String - Required: No - Security risks. Valid values: `VulCnt`, `VirusCnt`, `RiskCnt`, `IsTrustImage`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAssetImageListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus - String - Required: No - Image scanning status. Valid values: `notScan`, `scanning`, `scanned`, `scanErr`.</li>
	// <li>ImageID- String - Required: No - Image ID</li>
	// <li>SecurityRisk- String - Required: No - Security risks. Valid values: `VulCnt`, `VirusCnt`, `RiskCnt`, `IsTrustImage`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAssetImageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageListRequest) 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", "DescribeAssetImageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageListResponseParams struct {
	// List of images
	List []*ImagesInfo `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 DescribeAssetImageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryAssetStatusRequestParams struct {

}

type DescribeAssetImageRegistryAssetStatusRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetImageRegistryAssetStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryAssetStatusRequest) 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", "DescribeAssetImageRegistryAssetStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryAssetStatusResponseParams struct {
	// Update progress. Valid values: `doing` (updating); `success` (updated successfully); `failed` (failed to update).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error message
	// Note: This field may return null, indicating that no valid values can be obtained.
	Err *string `json:"Err,omitnil,omitempty" name:"Err"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageRegistryAssetStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryAssetStatusResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryAssetStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryAssetStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryDetailRequestParams struct {
	// List of repository IDs
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`
}

type DescribeAssetImageRegistryDetailRequest struct {
	*tchttp.BaseRequest
	
	// List of repository IDs
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`
}

func (r *DescribeAssetImageRegistryDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryDetailRequest) 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, "ImageId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryDetailResponseParams struct {
	// Image digest
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageDigest *string `json:"ImageDigest,omitnil,omitempty" name:"ImageDigest"`

	// Image address
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageRepoAddress *string `json:"ImageRepoAddress,omitnil,omitempty" name:"ImageRepoAddress"`

	// Image type
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Repository name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Scan time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanStatus *string `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`

	// Number of vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulCnt *uint64 `json:"VulCnt,omitnil,omitempty" name:"VulCnt"`

	// Number of viruses and trojans
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusCnt *uint64 `json:"VirusCnt,omitnil,omitempty" name:"VirusCnt"`

	// Number of risky behaviors
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Number of sensitive data items
	// Note: This field may return null, indicating that no valid values can be obtained.
	//
	// Deprecated: SentiveInfoCnt is deprecated.
	SentiveInfoCnt *uint64 `json:"SentiveInfoCnt,omitnil,omitempty" name:"SentiveInfoCnt"`

	// Image system
	// Note: This field may return null, indicating that no valid values can be obtained.
	OsName *string `json:"OsName,omitnil,omitempty" name:"OsName"`

	// Trojan scan error
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVirusError *string `json:"ScanVirusError,omitnil,omitempty" name:"ScanVirusError"`

	// Vulnerability scan error
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVulError *string `json:"ScanVulError,omitnil,omitempty" name:"ScanVulError"`

	// Layer file information
	// Note: This field may return null, indicating that no valid values can be obtained.
	LayerInfo *string `json:"LayerInfo,omitnil,omitempty" name:"LayerInfo"`

	// Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Instance name
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Namespace
	// Note: This field may return null, indicating that no valid values can be obtained.
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// High-risk scan error
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRiskError *string `json:"ScanRiskError,omitnil,omitempty" name:"ScanRiskError"`

	// Trojan scanning progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVirusProgress *uint64 `json:"ScanVirusProgress,omitnil,omitempty" name:"ScanVirusProgress"`

	// Vulnerability scanning progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVulProgress *uint64 `json:"ScanVulProgress,omitnil,omitempty" name:"ScanVulProgress"`

	// Sensitive data scanning progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRiskProgress *uint64 `json:"ScanRiskProgress,omitnil,omitempty" name:"ScanRiskProgress"`

	// Remaining scan time in seconds
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRemainTime *uint64 `json:"ScanRemainTime,omitnil,omitempty" name:"ScanRemainTime"`

	// CVE scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveStatus *string `json:"CveStatus,omitnil,omitempty" name:"CveStatus"`

	// High-risk scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskStatus *string `json:"RiskStatus,omitnil,omitempty" name:"RiskStatus"`

	// Trojan scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusStatus *string `json:"VirusStatus,omitnil,omitempty" name:"VirusStatus"`

	// Overall progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	Progress *uint64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Licensing status
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsAuthorized *uint64 `json:"IsAuthorized,omitnil,omitempty" name:"IsAuthorized"`

	// Image size
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageSize *uint64 `json:"ImageSize,omitnil,omitempty" name:"ImageSize"`

	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image region
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Image creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageCreateTime *string `json:"ImageCreateTime,omitnil,omitempty" name:"ImageCreateTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageRegistryDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryDetailResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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 field
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Whether to show only the latest repository images. Default value: `false`.
	OnlyShowLatest *bool `json:"OnlyShowLatest,omitnil,omitempty" name:"OnlyShowLatest"`
}

type DescribeAssetImageRegistryListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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 field
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Whether to show only the latest repository images. Default value: `false`.
	OnlyShowLatest *bool `json:"OnlyShowLatest,omitnil,omitempty" name:"OnlyShowLatest"`
}

func (r *DescribeAssetImageRegistryListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	delete(f, "OnlyShowLatest")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryListExportResponseParams struct {
	// Excel file download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAssetImageRegistryListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryListRequestParams struct {
	// 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"`

	// Filter field
	// `IsAuthorized` (whether licensed). Valid values: `all` (all); `0` (unlicensed); `1` (licensed).
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Whether to show only the latest repository images. Default value: `false`.
	OnlyShowLatest *bool `json:"OnlyShowLatest,omitnil,omitempty" name:"OnlyShowLatest"`
}

type DescribeAssetImageRegistryListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter field
	// `IsAuthorized` (whether licensed). Valid values: `all` (all); `0` (unlicensed); `1` (licensed).
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Whether to show only the latest repository images. Default value: `false`.
	OnlyShowLatest *bool `json:"OnlyShowLatest,omitnil,omitempty" name:"OnlyShowLatest"`
}

func (r *DescribeAssetImageRegistryListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryListRequest) 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")
	delete(f, "OnlyShowLatest")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryListResponseParams struct {
	// List of image repositories
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*ImageRepoInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	// 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 DescribeAssetImageRegistryListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRegistryDetailRequestParams struct {
	// Unique repository ID
	RegistryId *int64 `json:"RegistryId,omitnil,omitempty" name:"RegistryId"`
}

type DescribeAssetImageRegistryRegistryDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique repository ID
	RegistryId *int64 `json:"RegistryId,omitnil,omitempty" name:"RegistryId"`
}

func (r *DescribeAssetImageRegistryRegistryDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRegistryDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RegistryId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryRegistryDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRegistryDetailResponseParams struct {
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Password
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// Repository URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Repository type, which can be `harbor`.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Repository version
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryVersion *string `json:"RegistryVersion,omitnil,omitempty" name:"RegistryVersion"`

	// Network type, which can be `public` (public network).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region. Default value: `default`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Speed limit
	// Note: This field may return null, indicating that no valid values can be obtained.
	SpeedLimit *uint64 `json:"SpeedLimit,omitnil,omitempty" name:"SpeedLimit"`

	// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).
	// Note: This field may return null, indicating that no valid values can be obtained.
	Insecure *uint64 `json:"Insecure,omitnil,omitempty" name:"Insecure"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageRegistryRegistryDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryRegistryDetailResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryRegistryDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRegistryDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRegistryListRequestParams struct {
	// Number to return, default is 10, maximum is 100
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, the default is 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter field IsAuthorized Whether to authorize. The value can be all, 0 unauthorized, 1 authorized
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sort by asc, desc
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAssetImageRegistryRegistryListRequest struct {
	*tchttp.BaseRequest
	
	// Number to return, default is 10, maximum is 100
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, the default is 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter field IsAuthorized Whether to authorize. The value can be all, 0 unauthorized, 1 authorized
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sort by asc, desc
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAssetImageRegistryRegistryListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRegistryListRequest) 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", "DescribeAssetImageRegistryRegistryListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRegistryListResponseParams struct {
	// Mirror repository list
	List []*ImageRepoRegistryInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total quantity
	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 DescribeAssetImageRegistryRegistryListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryRegistryListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryRegistryListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRegistryListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRiskInfoListRequestParams struct {
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image ID
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Sorting field: `Level`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `+`, `-`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryRiskInfoListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image ID
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Sorting field: `Level`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `+`, `-`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryRiskInfoListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRiskInfoListRequest) 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, "ImageInfo")
	delete(f, "By")
	delete(f, "Order")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryRiskInfoListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRiskInfoListResponseParams struct {
	// List of image vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*ImageRisk `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	// 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 DescribeAssetImageRegistryRiskInfoListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryRiskInfoListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryRiskInfoListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRiskInfoListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRiskListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryRiskListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryRiskListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRiskListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "ImageInfo")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryRiskListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryRiskListExportResponseParams struct {
	// Excel file download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAssetImageRegistryRiskListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryRiskListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryRiskListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryRiskListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryScanStatusOneKeyRequestParams struct {
	// List of images for which to get the progress
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Whether to get all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of IDs of images for which to get the progress
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryScanStatusOneKeyRequest struct {
	*tchttp.BaseRequest
	
	// List of images for which to get the progress
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Whether to get all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of IDs of images for which to get the progress
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryScanStatusOneKeyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryScanStatusOneKeyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Images")
	delete(f, "All")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryScanStatusOneKeyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryScanStatusOneKeyResponseParams struct {
	// Number of images
	ImageTotal *uint64 `json:"ImageTotal,omitnil,omitempty" name:"ImageTotal"`

	// Number of scanned images
	ImageScanCnt *uint64 `json:"ImageScanCnt,omitnil,omitempty" name:"ImageScanCnt"`

	// Scanning progress list
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageStatus []*ImageProgress `json:"ImageStatus,omitnil,omitempty" name:"ImageStatus"`

	// Number of successfully scanned images
	SuccessCount *uint64 `json:"SuccessCount,omitnil,omitempty" name:"SuccessCount"`

	// Number of risks
	RiskCount *uint64 `json:"RiskCount,omitnil,omitempty" name:"RiskCount"`

	// Scanning progress
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// Scanning status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remaining scan time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRemainTime *uint64 `json:"ScanRemainTime,omitnil,omitempty" name:"ScanRemainTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageRegistryScanStatusOneKeyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryScanStatusOneKeyResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryScanStatusOneKeyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryScanStatusOneKeyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistrySummaryRequestParams struct {
	// Filter Field
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetImageRegistrySummaryRequest struct {
	*tchttp.BaseRequest
	
	// Filter Field
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetImageRegistrySummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistrySummaryRequest) 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", "DescribeAssetImageRegistrySummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistrySummaryResponseParams 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 DescribeAssetImageRegistrySummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistrySummaryResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistrySummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistrySummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVirusListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryVirusListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryVirusListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVirusListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "ImageInfo")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryVirusListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVirusListExportResponseParams struct {
	// Excel file download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAssetImageRegistryVirusListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryVirusListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryVirusListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVirusListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVirusListRequestParams struct {
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryVirusListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryVirusListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVirusListRequest) 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, "ImageInfo")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryVirusListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVirusListResponseParams struct {
	// List of image vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*ImageVirus `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	// 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 DescribeAssetImageRegistryVirusListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryVirusListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryVirusListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVirusListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVulListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryVulListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryVulListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVulListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "ImageInfo")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryVulListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVulListExportResponseParams struct {
	// Excel file download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeAssetImageRegistryVulListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryVulListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryVulListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVulListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVulListRequestParams struct {
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeAssetImageRegistryVulListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Vulnerability level</li>
	// <li>Name - String - Required: No - Vulnerability name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Image information
	ImageInfo *ImageInfo `json:"ImageInfo,omitnil,omitempty" name:"ImageInfo"`

	// Image ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeAssetImageRegistryVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVulListRequest) 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, "ImageInfo")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRegistryVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRegistryVulListResponseParams struct {
	// List of image vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	List []*ImageVul `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	// 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 DescribeAssetImageRegistryVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRegistryVulListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRegistryVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRegistryVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRiskListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Filter
	// <li>Level- String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Behavior - String - Required: No - Risky behavior. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Type - String - Required: No - Risk type. Valid values: `1`, `2`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetImageRiskListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Filter
	// <li>Level- String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Behavior - String - Required: No - Risky behavior. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Type - String - Required: No - Risk type. Valid values: `1`, `2`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetImageRiskListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRiskListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "ImageID")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRiskListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRiskListExportResponseParams struct {
	// Excel file 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 DescribeAssetImageRiskListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRiskListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRiskListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRiskListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRiskListRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Behavior - String - Required: No - Risky behavior. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Type - String - Required: No - Risk type. Valid values: `1`, `2`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAssetImageRiskListRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Level- String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Behavior - String - Required: No - Risky behavior. Valid values: `1`, `2`, `3`, `4`.</li>
	// <li>Type - String - Required: No - Risk type. Valid values: `1`, `2`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAssetImageRiskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRiskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ImageID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageRiskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageRiskListResponseParams struct {
	// List of viruses in the image
	List []*ImageRiskInfo `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 DescribeAssetImageRiskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageRiskListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageRiskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageRiskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageScanSettingRequestParams struct {

}

type DescribeAssetImageScanSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetImageScanSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageScanSettingRequest) 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", "DescribeAssetImageScanSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageScanSettingResponseParams struct {
	// Switch
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scan time, which is a complete time and parsed as hour/minute/second in time zone 0 on the backend.
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scan interval
	ScanPeriod *uint64 `json:"ScanPeriod,omitnil,omitempty" name:"ScanPeriod"`

	// Trojan scan
	ScanVirus *bool `json:"ScanVirus,omitnil,omitempty" name:"ScanVirus"`

	// Sensitive data scan
	ScanRisk *bool `json:"ScanRisk,omitnil,omitempty" name:"ScanRisk"`

	// Vulnerability scan
	ScanVul *bool `json:"ScanVul,omitnil,omitempty" name:"ScanVul"`

	// Scan of all images
	//
	// Deprecated: All is deprecated.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// Scan of specified images
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageScanSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageScanSettingResponseParams `json:"Response"`
}

func (r *DescribeAssetImageScanSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageScanSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageScanStatusRequestParams struct {
	// Task ID
	TaskID *string `json:"TaskID,omitnil,omitempty" name:"TaskID"`
}

type DescribeAssetImageScanStatusRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskID *string `json:"TaskID,omitnil,omitempty" name:"TaskID"`
}

func (r *DescribeAssetImageScanStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageScanStatusRequest) 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", "DescribeAssetImageScanStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageScanStatusResponseParams struct {
	// Number of images
	ImageTotal *uint64 `json:"ImageTotal,omitnil,omitempty" name:"ImageTotal"`

	// Number of scanned images
	ImageScanCnt *uint64 `json:"ImageScanCnt,omitnil,omitempty" name:"ImageScanCnt"`

	// Scanning status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Scanning progress, the value of which is calculated as `ImageScanCnt`/`ImageTotal` * 100.
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// Number of successfully scanned images
	SuccessCount *uint64 `json:"SuccessCount,omitnil,omitempty" name:"SuccessCount"`

	// Number of risks
	RiskCount *uint64 `json:"RiskCount,omitnil,omitempty" name:"RiskCount"`

	// Remaining scan time
	LeftSeconds *uint64 `json:"LeftSeconds,omitnil,omitempty" name:"LeftSeconds"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageScanStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageScanStatusResponseParams `json:"Response"`
}

func (r *DescribeAssetImageScanStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageScanStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageScanTaskRequestParams struct {

}

type DescribeAssetImageScanTaskRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetImageScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageScanTaskRequest) 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", "DescribeAssetImageScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageScanTaskResponseParams struct {
	// Task ID
	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 DescribeAssetImageScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageScanTaskResponseParams `json:"Response"`
}

func (r *DescribeAssetImageScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageSimpleListRequestParams struct {
	// 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"`

	// Filter
	// <li>Keywords- String - Required: No - Image name/ID</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAssetImageSimpleListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>Keywords- String - Required: No - Image name/ID</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAssetImageSimpleListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageSimpleListRequest) 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", "DescribeAssetImageSimpleListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageSimpleListResponseParams struct {
	// List of images
	List []*AssetSimpleImageInfo `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 DescribeAssetImageSimpleListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageSimpleListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageSimpleListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageSimpleListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVirusListExportRequestParams struct {
	// Fields supported in the list
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Filter
	// <li>Name- String - Required: No - Image name</li>
	// <li>RiskLevel - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetImageVirusListExportRequest struct {
	*tchttp.BaseRequest
	
	// Fields supported in the list
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Filter
	// <li>Name- String - Required: No - Image name</li>
	// <li>RiskLevel - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetImageVirusListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVirusListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "ImageID")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageVirusListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVirusListExportResponseParams struct {
	// Excel file download URL
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageVirusListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageVirusListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageVirusListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVirusListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVirusListRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Name- String - Required: No - Image name</li>
	// <li>RiskLevel - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAssetImageVirusListRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Name- String - Required: No - Image name</li>
	// <li>RiskLevel - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAssetImageVirusListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVirusListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ImageID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageVirusListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVirusListResponseParams struct {
	// List of viruses in the image
	List []*ImageVirusInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Virus scanning status
	// `0`: Not scanned.
	// `1`: Scanning.
	// `2`: Scanned.
	// `3`: Scan error.
	// `4`: Scan canceled.
	VirusScanStatus *uint64 `json:"VirusScanStatus,omitnil,omitempty" name:"VirusScanStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetImageVirusListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageVirusListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageVirusListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVirusListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVulListExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Name- String - Required: No - Vulnerability name</li>
	// <li>Level - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetImageVulListExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Name- String - Required: No - Vulnerability name</li>
	// <li>Level - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetImageVulListExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVulListExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "ImageID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageVulListExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVulListExportResponseParams struct {
	// Excel file 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 DescribeAssetImageVulListExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageVulListExportResponseParams `json:"Response"`
}

func (r *DescribeAssetImageVulListExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVulListExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVulListRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Name- String - Required: No - Vulnerability name</li>
	// <li>Level - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field: `Level`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `+`, `-`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeAssetImageVulListRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>Name- String - Required: No - Vulnerability name</li>
	// <li>Level - String - Required: No - Risk level. Valid values: `1`, `2`, `3`, `4`.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field: `Level`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `+`, `-`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeAssetImageVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVulListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ImageID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAssetImageVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetImageVulListResponseParams struct {
	// List of image vulnerabilities
	List []*ImagesVul `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 DescribeAssetImageVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetImageVulListResponseParams `json:"Response"`
}

func (r *DescribeAssetImageVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetImageVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPortListRequestParams struct {
	// 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"`

	// Filter
	// <li>All - String - Required: No - Optional field for the fuzzy query</li>
	// <li>RunAs - String - Required: No - Operator</li>
	// <li>ContainerID - String - Required: No - Container ID</li>
	// <li>HostID- String - Required: Yes - Server ID</li>
	// <li>HostIP- string - Required: No - Server IP</li>
	// <li>ProcessName- string - Required: No - Process name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetPortListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>All - String - Required: No - Optional field for the fuzzy query</li>
	// <li>RunAs - String - Required: No - Operator</li>
	// <li>ContainerID - String - Required: No - Container ID</li>
	// <li>HostID- String - Required: Yes - Server ID</li>
	// <li>HostIP- string - Required: No - Server IP</li>
	// <li>ProcessName- string - Required: No - Process name</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetPortListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPortListRequest) 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", "DescribeAssetPortListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetPortListResponseParams struct {
	// List of ports
	List []*PortInfo `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 DescribeAssetPortListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetPortListResponseParams `json:"Response"`
}

func (r *DescribeAssetPortListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetPortListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetProcessListRequestParams struct {
	// 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"`

	// Filter
	// <li>RunAs - String - Required: No - Operator</li>
	// <li>ContainerID - String - Required: No - Container ID</li>
	// <li>HostID- String - Required: Yes - Server ID</li>
	// <li>HostIP- string - Required: No - Server IP</li>
	// <li>ProcessName- string - Required: No - Process name</li>
	// <li>Pid- string - Required: No - Process ID (associated process)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetProcessListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>RunAs - String - Required: No - Operator</li>
	// <li>ContainerID - String - Required: No - Container ID</li>
	// <li>HostID- String - Required: Yes - Server ID</li>
	// <li>HostIP- string - Required: No - Server IP</li>
	// <li>ProcessName- string - Required: No - Process name</li>
	// <li>Pid- string - Required: No - Process ID (associated process)</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetProcessListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetProcessListRequest) 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", "DescribeAssetProcessListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetProcessListResponseParams struct {
	// List of ports
	List []*ProcessInfo `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 DescribeAssetProcessListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetProcessListResponseParams `json:"Response"`
}

func (r *DescribeAssetProcessListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetProcessListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetSummaryRequestParams struct {

}

type DescribeAssetSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetSummaryRequest) 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", "DescribeAssetSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetSummaryResponseParams struct {
	// Number of applications
	AppCnt *uint64 `json:"AppCnt,omitnil,omitempty" name:"AppCnt"`

	// Number of containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// Number of paused containers
	ContainerPause *uint64 `json:"ContainerPause,omitnil,omitempty" name:"ContainerPause"`

	// Number of running containers
	ContainerRunning *uint64 `json:"ContainerRunning,omitnil,omitempty" name:"ContainerRunning"`

	// Number of stopped containers
	ContainerStop *uint64 `json:"ContainerStop,omitnil,omitempty" name:"ContainerStop"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Number of databases
	DbCnt *uint64 `json:"DbCnt,omitnil,omitempty" name:"DbCnt"`

	// Number of images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of online servers
	HostOnline *uint64 `json:"HostOnline,omitnil,omitempty" name:"HostOnline"`

	// Number of servers
	HostCnt *uint64 `json:"HostCnt,omitnil,omitempty" name:"HostCnt"`

	// Number of images at risk
	ImageHasRiskInfoCnt *uint64 `json:"ImageHasRiskInfoCnt,omitnil,omitempty" name:"ImageHasRiskInfoCnt"`

	// Number of images with viruses
	ImageHasVirusCnt *uint64 `json:"ImageHasVirusCnt,omitnil,omitempty" name:"ImageHasVirusCnt"`

	// Number of images with vulnerabilities
	ImageHasVulsCnt *uint64 `json:"ImageHasVulsCnt,omitnil,omitempty" name:"ImageHasVulsCnt"`

	// Number of untrusted images
	ImageUntrustCnt *uint64 `json:"ImageUntrustCnt,omitnil,omitempty" name:"ImageUntrustCnt"`

	// Number of listened ports
	ListenPortCnt *uint64 `json:"ListenPortCnt,omitnil,omitempty" name:"ListenPortCnt"`

	// Number of processes
	ProcessCnt *uint64 `json:"ProcessCnt,omitnil,omitempty" name:"ProcessCnt"`

	// Number of web services
	WebServiceCnt *uint64 `json:"WebServiceCnt,omitnil,omitempty" name:"WebServiceCnt"`

	// Last image scan time
	LatestImageScanTime *string `json:"LatestImageScanTime,omitnil,omitempty" name:"LatestImageScanTime"`

	// Number of images at risk
	ImageUnsafeCnt *uint64 `json:"ImageUnsafeCnt,omitnil,omitempty" name:"ImageUnsafeCnt"`

	// Number of servers not installed with the agent
	HostUnInstallCnt *uint64 `json:"HostUnInstallCnt,omitnil,omitempty" name:"HostUnInstallCnt"`

	// Number of super nodes
	SuperNodeCnt *uint64 `json:"SuperNodeCnt,omitnil,omitempty" name:"SuperNodeCnt"`

	// Number of running super nodes
	SuperNodeRunningCnt *uint64 `json:"SuperNodeRunningCnt,omitnil,omitempty" name:"SuperNodeRunningCnt"`


	TodayNewImageCnt *uint64 `json:"TodayNewImageCnt,omitnil,omitempty" name:"TodayNewImageCnt"`


	TodayUnsafeImageCnt *uint64 `json:"TodayUnsafeImageCnt,omitnil,omitempty" name:"TodayUnsafeImageCnt"`


	RecommendedFixImageCnt *uint64 `json:"RecommendedFixImageCnt,omitnil,omitempty" name:"RecommendedFixImageCnt"`


	ScannedImageCnt *uint64 `json:"ScannedImageCnt,omitnil,omitempty" name:"ScannedImageCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetSummaryResponseParams `json:"Response"`
}

func (r *DescribeAssetSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetSyncLastTimeRequestParams struct {

}

type DescribeAssetSyncLastTimeRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeAssetSyncLastTimeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetSyncLastTimeRequest) 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", "DescribeAssetSyncLastTimeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetSyncLastTimeResponseParams struct {
	// Last asset sync time
	AssetSyncLastTime *string `json:"AssetSyncLastTime,omitnil,omitempty" name:"AssetSyncLastTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeAssetSyncLastTimeResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetSyncLastTimeResponseParams `json:"Response"`
}

func (r *DescribeAssetSyncLastTimeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetSyncLastTimeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceListRequestParams struct {
	// 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"`

	// Filter
	// <li>Keywords- String - Required: No - Optional field for the fuzzy query</li>
	// <li>Type- String - Required: No - Server status. "Apache"
	// "Jboss"
	// "lighttpd"
	// "Nginx"
	// "Tomcat"</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeAssetWebServiceListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>Keywords- String - Required: No - Optional field for the fuzzy query</li>
	// <li>Type- String - Required: No - Server status. "Apache"
	// "Jboss"
	// "lighttpd"
	// "Nginx"
	// "Tomcat"</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeAssetWebServiceListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceListRequest) 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", "DescribeAssetWebServiceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAssetWebServiceListResponseParams struct {
	// List of servers
	List []*ServiceInfo `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 DescribeAssetWebServiceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAssetWebServiceListResponseParams `json:"Response"`
}

func (r *DescribeAssetWebServiceListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAssetWebServiceListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAutoAuthorizedRuleHostRequestParams struct {
	// Rule ID
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Number of results to be returned. Default value: `all`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting field
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting order. Valid values: `asc`, `desc`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeAutoAuthorizedRuleHostRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Number of results to be returned. Default value: `all`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sorting field
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting order. Valid values: `asc`, `desc`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeAutoAuthorizedRuleHostRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAutoAuthorizedRuleHostRequest) 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, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAutoAuthorizedRuleHostRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeAutoAuthorizedRuleHostResponseParams struct {
	// List of servers licensed based on the automatic image licensing rule
	List []*AutoAuthorizedRuleHostInfo `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 DescribeAutoAuthorizedRuleHostResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAutoAuthorizedRuleHostResponseParams `json:"Response"`
}

func (r *DescribeAutoAuthorizedRuleHostResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeAutoAuthorizedRuleHostResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCheckItemListRequestParams struct {
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name. Valid values: `risk_level` (risk level); `risk_target` (check target and risky target); `risk_type` (risk type); `risk_attri` (risk type of the check item).
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeCheckItemListRequest struct {
	*tchttp.BaseRequest
	
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name. Valid values: `risk_level` (risk level); `risk_target` (check target and risky target); `risk_type` (risk type); `risk_attri` (risk type of the check item).
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeCheckItemListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCheckItemListRequest) 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", "DescribeCheckItemListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCheckItemListResponseParams struct {
	// Array of check item details
	ClusterCheckItems []*ClusterCheckItem `json:"ClusterCheckItems,omitnil,omitempty" name:"ClusterCheckItems"`

	// Total number of check items
	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 DescribeCheckItemListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCheckItemListResponseParams `json:"Response"`
}

func (r *DescribeCheckItemListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCheckItemListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClusterDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`
}

type DescribeClusterDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`
}

func (r *DescribeClusterDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClusterDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeClusterDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClusterDetailResponseParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Progress of the current cluster scan task. `100` indicates that the scan is completed.
	ScanTaskProgress *int64 `json:"ScanTaskProgress,omitnil,omitempty" name:"ScanTaskProgress"`

	// Cluster version
	ClusterVersion *string `json:"ClusterVersion,omitnil,omitempty" name:"ClusterVersion"`

	// Runtime component
	ContainerRuntime *string `json:"ContainerRuntime,omitnil,omitempty" name:"ContainerRuntime"`

	// Number of nodes in the cluster
	ClusterNodeNum *uint64 `json:"ClusterNodeNum,omitnil,omitempty" name:"ClusterNodeNum"`

	// Cluster status. Valid values: `Running`, `Creating`, `Abnormal`.
	ClusterStatus *string `json:"ClusterStatus,omitnil,omitempty" name:"ClusterStatus"`

	// Cluster type. Valid values: `MANAGED_CLUSTER` (managed cluster); `INDEPENDENT_CLUSTER` (self-deployed cluster).
	ClusterType *string `json:"ClusterType,omitnil,omitempty" name:"ClusterType"`

	// Cluster region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Number of critical check items
	SeriousRiskCount *uint64 `json:"SeriousRiskCount,omitnil,omitempty" name:"SeriousRiskCount"`

	// Number of high-risk check items
	HighRiskCount *uint64 `json:"HighRiskCount,omitnil,omitempty" name:"HighRiskCount"`

	// Number of medium-risk check items
	MiddleRiskCount *uint64 `json:"MiddleRiskCount,omitnil,omitempty" name:"MiddleRiskCount"`

	// Number of prompt-risk check items
	HintRiskCount *uint64 `json:"HintRiskCount,omitnil,omitempty" name:"HintRiskCount"`

	// Status of the check task
	CheckStatus *string `json:"CheckStatus,omitnil,omitempty" name:"CheckStatus"`

	// Status of the defender
	DefenderStatus *string `json:"DefenderStatus,omitnil,omitempty" name:"DefenderStatus"`

	// Creation time of the scan task
	TaskCreateTime *string `json:"TaskCreateTime,omitnil,omitempty" name:"TaskCreateTime"`

	// Network type. Valid values: `PublicNetwork` (public network); `VPCNetwork` (VPC).
	NetworkType *string `json:"NetworkType,omitnil,omitempty" name:"NetworkType"`

	// API server address
	ApiServerAddress *string `json:"ApiServerAddress,omitnil,omitempty" name:"ApiServerAddress"`

	// Number of nodes
	NodeCount *uint64 `json:"NodeCount,omitnil,omitempty" name:"NodeCount"`

	// Number of namespaces
	NamespaceCount *uint64 `json:"NamespaceCount,omitnil,omitempty" name:"NamespaceCount"`

	// Number of workloads
	WorkloadCount *uint64 `json:"WorkloadCount,omitnil,omitempty" name:"WorkloadCount"`

	// Number of Pods
	PodCount *uint64 `json:"PodCount,omitnil,omitempty" name:"PodCount"`

	// Number of Services
	ServiceCount *uint64 `json:"ServiceCount,omitnil,omitempty" name:"ServiceCount"`

	// Number of Ingresses
	IngressCount *uint64 `json:"IngressCount,omitnil,omitempty" name:"IngressCount"`

	// IPs of the primary nodes
	MasterIps *string `json:"MasterIps,omitnil,omitempty" name:"MasterIps"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeClusterDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeClusterDetailResponseParams `json:"Response"`
}

func (r *DescribeClusterDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClusterDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClusterSummaryRequestParams struct {

}

type DescribeClusterSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeClusterSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClusterSummaryRequest) 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", "DescribeClusterSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeClusterSummaryResponseParams struct {
	// Total number of clusters
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Number of clusters at risk
	RiskClusterCount *uint64 `json:"RiskClusterCount,omitnil,omitempty" name:"RiskClusterCount"`

	// Number of clusters not checked
	UncheckClusterCount *uint64 `json:"UncheckClusterCount,omitnil,omitempty" name:"UncheckClusterCount"`

	// Number of managed clusters
	ManagedClusterCount *uint64 `json:"ManagedClusterCount,omitnil,omitempty" name:"ManagedClusterCount"`

	// Number of self-deployed clusters
	IndependentClusterCount *uint64 `json:"IndependentClusterCount,omitnil,omitempty" name:"IndependentClusterCount"`

	// Number of clusters involving no risks
	NoRiskClusterCount *uint64 `json:"NoRiskClusterCount,omitnil,omitempty" name:"NoRiskClusterCount"`

	// Number of checked clusters
	CheckedClusterCount *uint64 `json:"CheckedClusterCount,omitnil,omitempty" name:"CheckedClusterCount"`

	// Number of clusters automatically checked
	AutoCheckClusterCount *uint64 `json:"AutoCheckClusterCount,omitnil,omitempty" name:"AutoCheckClusterCount"`

	// Number of clusters manually checked
	ManualCheckClusterCount *uint64 `json:"ManualCheckClusterCount,omitnil,omitempty" name:"ManualCheckClusterCount"`

	// Number of clusters that failed the check
	FailedClusterCount *uint64 `json:"FailedClusterCount,omitnil,omitempty" name:"FailedClusterCount"`

	// Number of clusters not imported
	NotImportedClusterCount *uint64 `json:"NotImportedClusterCount,omitnil,omitempty" name:"NotImportedClusterCount"`

	// Number of EKS clusters
	ServerlessClusterCount *uint64 `json:"ServerlessClusterCount,omitnil,omitempty" name:"ServerlessClusterCount"`


	TkeClusterCount *uint64 `json:"TkeClusterCount,omitnil,omitempty" name:"TkeClusterCount"`


	UserCreateTencentClusterCount *uint64 `json:"UserCreateTencentClusterCount,omitnil,omitempty" name:"UserCreateTencentClusterCount"`


	UserCreateHybridClusterCount *uint64 `json:"UserCreateHybridClusterCount,omitnil,omitempty" name:"UserCreateHybridClusterCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeClusterSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeClusterSummaryResponseParams `json:"Response"`
}

func (r *DescribeClusterSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeClusterSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceAssetDetailInfoRequestParams struct {
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`
}

type DescribeComplianceAssetDetailInfoRequest struct {
	*tchttp.BaseRequest
	
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`
}

func (r *DescribeComplianceAssetDetailInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceAssetDetailInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerAssetId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceAssetDetailInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceAssetDetailInfoResponseParams struct {
	// Asset details
	AssetDetailInfo *ComplianceAssetDetailInfo `json:"AssetDetailInfo,omitnil,omitempty" name:"AssetDetailInfo"`

	// This field is returned when the asset is a container.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerDetailInfo *ComplianceContainerDetailInfo `json:"ContainerDetailInfo,omitnil,omitempty" name:"ContainerDetailInfo"`

	// This field is returned when the asset is an image.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageDetailInfo *ComplianceImageDetailInfo `json:"ImageDetailInfo,omitnil,omitempty" name:"ImageDetailInfo"`

	// This field is returned when the asset is a server.
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostDetailInfo *ComplianceHostDetailInfo `json:"HostDetailInfo,omitnil,omitempty" name:"HostDetailInfo"`

	// This field is returned when the asset is a K8s asset.
	// Note: This field may return null, indicating that no valid values can be obtained.
	K8SDetailInfo *ComplianceK8SDetailInfo `json:"K8SDetailInfo,omitnil,omitempty" name:"K8SDetailInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeComplianceAssetDetailInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceAssetDetailInfoResponseParams `json:"Response"`
}

func (r *DescribeComplianceAssetDetailInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceAssetDetailInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceAssetListRequestParams struct {
	// List of asset types
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Query filter
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeComplianceAssetListRequest struct {
	*tchttp.BaseRequest
	
	// List of asset types
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Query filter
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeComplianceAssetListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceAssetListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AssetTypeSet")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceAssetListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceAssetListResponseParams struct {
	// Total number of assets
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of assets
	// Note: This field may return null, indicating that no valid values can be obtained.
	AssetInfoList []*ComplianceAssetInfo `json:"AssetInfoList,omitnil,omitempty" name:"AssetInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeComplianceAssetListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceAssetListResponseParams `json:"Response"`
}

func (r *DescribeComplianceAssetListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceAssetListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceAssetPolicyItemListRequestParams struct {
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`

	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be obtained. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter list, which is supported by the `Name` field.
	// RiskLevel
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeComplianceAssetPolicyItemListRequest struct {
	*tchttp.BaseRequest
	
	// Customer asset ID
	CustomerAssetId *uint64 `json:"CustomerAssetId,omitnil,omitempty" name:"CustomerAssetId"`

	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be obtained. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter list, which is supported by the `Name` field.
	// RiskLevel
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeComplianceAssetPolicyItemListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceAssetPolicyItemListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerAssetId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceAssetPolicyItemListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceAssetPolicyItemListResponseParams struct {
	// Total number of check items, which is `0` if the baseline check is not enabled.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of check items of an asset
	AssetPolicyItemList []*ComplianceAssetPolicyItem `json:"AssetPolicyItemList,omitnil,omitempty" name:"AssetPolicyItemList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeComplianceAssetPolicyItemListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceAssetPolicyItemListResponseParams `json:"Response"`
}

func (r *DescribeComplianceAssetPolicyItemListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceAssetPolicyItemListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCompliancePeriodTaskListRequestParams struct {
	// Asset type. Valid values:
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// 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 DescribeCompliancePeriodTaskListRequest struct {
	*tchttp.BaseRequest
	
	// Asset type. Valid values:
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// 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 *DescribeCompliancePeriodTaskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCompliancePeriodTaskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AssetType")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCompliancePeriodTaskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCompliancePeriodTaskListResponseParams struct {
	// Total number of scheduled tasks
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of scheduled task information
	PeriodTaskSet []*CompliancePeriodTask `json:"PeriodTaskSet,omitnil,omitempty" name:"PeriodTaskSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCompliancePeriodTaskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCompliancePeriodTaskListResponseParams `json:"Response"`
}

func (r *DescribeCompliancePeriodTaskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCompliancePeriodTaskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCompliancePolicyItemAffectedAssetListRequestParams struct {
	// `CustomerPolicyItemId` returned by `DescribeComplianceTaskPolicyItemSummaryList`, which indicates the check item ID.
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// Initial 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"`

	// Filter
	// Name - String
	// Name. Valid values: `NodeName`, `CheckResult`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeCompliancePolicyItemAffectedAssetListRequest struct {
	*tchttp.BaseRequest
	
	// `CustomerPolicyItemId` returned by `DescribeComplianceTaskPolicyItemSummaryList`, which indicates the check item ID.
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// Initial 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"`

	// Filter
	// Name - String
	// Name. Valid values: `NodeName`, `CheckResult`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeCompliancePolicyItemAffectedAssetListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCompliancePolicyItemAffectedAssetListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerPolicyItemId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCompliancePolicyItemAffectedAssetListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCompliancePolicyItemAffectedAssetListResponseParams struct {
	// List of assets affected by each check item
	AffectedAssetList []*ComplianceAffectedAsset `json:"AffectedAssetList,omitnil,omitempty" name:"AffectedAssetList"`

	// Total number of assets affected by the check item
	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 DescribeCompliancePolicyItemAffectedAssetListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCompliancePolicyItemAffectedAssetListResponseParams `json:"Response"`
}

func (r *DescribeCompliancePolicyItemAffectedAssetListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCompliancePolicyItemAffectedAssetListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCompliancePolicyItemAffectedSummaryRequestParams struct {
	// `CustomerPolicyItemId` returned by `DescribeComplianceTaskPolicyItemSummaryList`, which indicates the check item ID.
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`
}

type DescribeCompliancePolicyItemAffectedSummaryRequest struct {
	*tchttp.BaseRequest
	
	// `CustomerPolicyItemId` returned by `DescribeComplianceTaskPolicyItemSummaryList`, which indicates the check item ID.
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`
}

func (r *DescribeCompliancePolicyItemAffectedSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCompliancePolicyItemAffectedSummaryRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerPolicyItemId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCompliancePolicyItemAffectedSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeCompliancePolicyItemAffectedSummaryResponseParams struct {
	// Aggregated information of the assets affected by each check item
	PolicyItemSummary *CompliancePolicyItemSummary `json:"PolicyItemSummary,omitnil,omitempty" name:"PolicyItemSummary"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeCompliancePolicyItemAffectedSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCompliancePolicyItemAffectedSummaryResponseParams `json:"Response"`
}

func (r *DescribeCompliancePolicyItemAffectedSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeCompliancePolicyItemAffectedSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceScanFailedAssetListRequestParams struct {
	// List of asset types
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Query filter
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeComplianceScanFailedAssetListRequest struct {
	*tchttp.BaseRequest
	
	// List of asset types
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Query filter
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeComplianceScanFailedAssetListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceScanFailedAssetListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AssetTypeSet")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceScanFailedAssetListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceScanFailedAssetListResponseParams struct {
	// Total number of assets that failed the check
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of aggregated information of each type of asset that failed the check
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanFailedAssetList []*ComplianceScanFailedAsset `json:"ScanFailedAssetList,omitnil,omitempty" name:"ScanFailedAssetList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeComplianceScanFailedAssetListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceScanFailedAssetListResponseParams `json:"Response"`
}

func (r *DescribeComplianceScanFailedAssetListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceScanFailedAssetListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceTaskAssetSummaryRequestParams struct {
	// List of asset types
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`
}

type DescribeComplianceTaskAssetSummaryRequest struct {
	*tchttp.BaseRequest
	
	// List of asset types
	// `ASSET_CONTAINER`: Container.
	// `ASSET_IMAGE`: Image.
	// `ASSET_HOST`: Server.
	// `ASSET_K8S`: K8s asset.
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`
}

func (r *DescribeComplianceTaskAssetSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceTaskAssetSummaryRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AssetTypeSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceTaskAssetSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceTaskAssetSummaryResponseParams struct {
	// Status
	// 
	// `USER_UNINIT`: Not initialized.
	// `USER_INITIALIZING`: Initializing.
	// `USER_NORMAL`: Normal.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// List of aggregated information of each type of asset
	AssetSummaryList []*ComplianceAssetSummary `json:"AssetSummaryList,omitnil,omitempty" name:"AssetSummaryList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeComplianceTaskAssetSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceTaskAssetSummaryResponseParams `json:"Response"`
}

func (r *DescribeComplianceTaskAssetSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceTaskAssetSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceTaskPolicyItemSummaryListRequestParams struct {
	// Asset type, which indicates to only query check items related to the specified asset type.
	// 
	// `ASSET_CONTAINER`: Container.
	// 
	// `ASSET_IMAGE`: Image.
	// 
	// `ASSET_HOST`: Server.
	// 
	// `ASSET_K8S`: K8s asset.
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Initial 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"`

	// Filter
	// Name - String
	// Name. Valid values: `ItemType`, `StandardId`, `RiskLevel`.
	// `ClusterName` is also available for K8s assets.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeComplianceTaskPolicyItemSummaryListRequest struct {
	*tchttp.BaseRequest
	
	// Asset type, which indicates to only query check items related to the specified asset type.
	// 
	// `ASSET_CONTAINER`: Container.
	// 
	// `ASSET_IMAGE`: Image.
	// 
	// `ASSET_HOST`: Server.
	// 
	// `ASSET_K8S`: K8s asset.
	AssetType *string `json:"AssetType,omitnil,omitempty" name:"AssetType"`

	// Initial 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"`

	// Filter
	// Name - String
	// Name. Valid values: `ItemType`, `StandardId`, `RiskLevel`.
	// `ClusterName` is also available for K8s assets.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeComplianceTaskPolicyItemSummaryListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceTaskPolicyItemSummaryListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AssetType")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceTaskPolicyItemSummaryListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceTaskPolicyItemSummaryListResponseParams struct {
	// ID of the last compliance check task, which is the source of the displayed data.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Total number of check items
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of the aggregated information of each check item
	PolicyItemSummaryList []*CompliancePolicyItemSummary `json:"PolicyItemSummaryList,omitnil,omitempty" name:"PolicyItemSummaryList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeComplianceTaskPolicyItemSummaryListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceTaskPolicyItemSummaryListResponseParams `json:"Response"`
}

func (r *DescribeComplianceTaskPolicyItemSummaryListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceTaskPolicyItemSummaryListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceWhitelistItemListRequestParams struct {
	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be obtained. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// List of asset types
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Query filter
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeComplianceWhitelistItemListRequest struct {
	*tchttp.BaseRequest
	
	// Initial offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be obtained. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// List of asset types
	AssetTypeSet []*string `json:"AssetTypeSet,omitnil,omitempty" name:"AssetTypeSet"`

	// Query filter
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeComplianceWhitelistItemListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceWhitelistItemListRequest) 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, "AssetTypeSet")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeComplianceWhitelistItemListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeComplianceWhitelistItemListResponseParams struct {
	// Allowlist
	WhitelistItemSet []*ComplianceWhitelistItem `json:"WhitelistItemSet,omitnil,omitempty" name:"WhitelistItemSet"`

	// Total number of allowed items
	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 DescribeComplianceWhitelistItemListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeComplianceWhitelistItemListResponseParams `json:"Response"`
}

func (r *DescribeComplianceWhitelistItemListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeComplianceWhitelistItemListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeContainerAssetSummaryRequestParams struct {

}

type DescribeContainerAssetSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeContainerAssetSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeContainerAssetSummaryRequest) 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", "DescribeContainerAssetSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeContainerAssetSummaryResponseParams struct {
	// Total number of containers
	ContainerTotalCnt *uint64 `json:"ContainerTotalCnt,omitnil,omitempty" name:"ContainerTotalCnt"`

	// Number of running containers
	ContainerRunningCnt *uint64 `json:"ContainerRunningCnt,omitnil,omitempty" name:"ContainerRunningCnt"`

	// Number of suspended containers
	ContainerPauseCnt *uint64 `json:"ContainerPauseCnt,omitnil,omitempty" name:"ContainerPauseCnt"`

	// Number of stopped containers
	ContainerStopped *uint64 `json:"ContainerStopped,omitnil,omitempty" name:"ContainerStopped"`

	// Number of local images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of server nodes
	HostCnt *uint64 `json:"HostCnt,omitnil,omitempty" name:"HostCnt"`

	// Number of running nodes on the server
	HostRunningCnt *uint64 `json:"HostRunningCnt,omitnil,omitempty" name:"HostRunningCnt"`

	// Number of offline nodes on the server
	HostOfflineCnt *uint64 `json:"HostOfflineCnt,omitnil,omitempty" name:"HostOfflineCnt"`

	// Number of image repositories
	ImageRegistryCnt *uint64 `json:"ImageRegistryCnt,omitnil,omitempty" name:"ImageRegistryCnt"`

	// Total number of images
	ImageTotalCnt *uint64 `json:"ImageTotalCnt,omitnil,omitempty" name:"ImageTotalCnt"`

	// Number of servers not installed with the agent
	HostUnInstallCnt *uint64 `json:"HostUnInstallCnt,omitnil,omitempty" name:"HostUnInstallCnt"`

	// Number of super nodes
	HostSuperNodeCnt *uint64 `json:"HostSuperNodeCnt,omitnil,omitempty" name:"HostSuperNodeCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeContainerAssetSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeContainerAssetSummaryResponseParams `json:"Response"`
}

func (r *DescribeContainerAssetSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeContainerAssetSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeContainerSecEventSummaryRequestParams struct {

}

type DescribeContainerSecEventSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeContainerSecEventSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeContainerSecEventSummaryRequest) 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", "DescribeContainerSecEventSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeContainerSecEventSummaryResponseParams struct {
	// Pending escape event
	UnhandledEscapeCnt *uint64 `json:"UnhandledEscapeCnt,omitnil,omitempty" name:"UnhandledEscapeCnt"`

	// Pending reverse shell event
	UnhandledReverseShellCnt *uint64 `json:"UnhandledReverseShellCnt,omitnil,omitempty" name:"UnhandledReverseShellCnt"`

	// Pending high-risk syscall
	UnhandledRiskSyscallCnt *uint64 `json:"UnhandledRiskSyscallCnt,omitnil,omitempty" name:"UnhandledRiskSyscallCnt"`

	// Pending abnormal process
	UnhandledAbnormalProcessCnt *uint64 `json:"UnhandledAbnormalProcessCnt,omitnil,omitempty" name:"UnhandledAbnormalProcessCnt"`

	// Pending file tampering event
	UnhandledFileCnt *uint64 `json:"UnhandledFileCnt,omitnil,omitempty" name:"UnhandledFileCnt"`

	// Pending trojan event
	UnhandledVirusEventCnt *uint64 `json:"UnhandledVirusEventCnt,omitnil,omitempty" name:"UnhandledVirusEventCnt"`

	// Unhandled malicious outgoing connections
	UnhandledMaliciousConnectionEventCnt *uint64 `json:"UnhandledMaliciousConnectionEventCnt,omitnil,omitempty" name:"UnhandledMaliciousConnectionEventCnt"`

	// Unhandled K8sApi events
	// Note: This field may return `null`, indicating that no valid value was found.
	UnhandledK8sApiEventCnt *uint64 `json:"UnhandledK8sApiEventCnt,omitnil,omitempty" name:"UnhandledK8sApiEventCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeContainerSecEventSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeContainerSecEventSummaryResponseParams `json:"Response"`
}

func (r *DescribeContainerSecEventSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeContainerSecEventSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeESAggregationsRequestParams struct {
	// ES aggregation condition in JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`
}

type DescribeESAggregationsRequest struct {
	*tchttp.BaseRequest
	
	// ES aggregation condition in 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 in 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 DescribeESHitsRequestParams struct {
	// ES query condition in JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`

	// Offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeESHitsRequest struct {
	*tchttp.BaseRequest
	
	// ES query condition in JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`

	// Offset. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

func (r *DescribeESHitsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeESHitsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Query")
	delete(f, "Offset")
	delete(f, "Limit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeESHitsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeESHitsResponseParams struct {
	// ES query result in 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 DescribeESHitsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeESHitsResponseParams `json:"Response"`
}

func (r *DescribeESHitsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeESHitsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEmergencyVulListRequestParams struct {
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeEmergencyVulListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

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")
	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 {
	// Total number of vulnerabilities
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of vulnerabilities
	List []*EmergencyVulInfo `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 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 DescribeEscapeEventDetailRequestParams struct {
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type DescribeEscapeEventDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *DescribeEscapeEventDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEscapeEventDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventDetailResponseParams struct {
	// Basic information of the event
	EventBaseInfo *RunTimeEventBaseInfo `json:"EventBaseInfo,omitnil,omitempty" name:"EventBaseInfo"`

	// Process information
	ProcessInfo *ProcessDetailInfo `json:"ProcessInfo,omitnil,omitempty" name:"ProcessInfo"`

	// Event description
	EventDetail *EscapeEventDescription `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

	// Parent process information
	ParentProcessInfo *ProcessBaseInfo `json:"ParentProcessInfo,omitnil,omitempty" name:"ParentProcessInfo"`

	// Ancestor process information
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessInfo *ProcessBaseInfo `json:"AncestorProcessInfo,omitnil,omitempty" name:"AncestorProcessInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEscapeEventDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeEventDetailResponseParams `json:"Response"`
}

func (r *DescribeEscapeEventDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventInfoRequestParams struct {
	// 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"`

	// Filter parameter - status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeEscapeEventInfoRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameter - status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeEscapeEventInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventInfoRequest) 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", "DescribeEscapeEventInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventInfoResponseParams struct {
	// Array of escape events
	EventSet []*EscapeEventInfo `json:"EventSet,omitnil,omitempty" name:"EventSet"`

	// Total number of events
	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 DescribeEscapeEventInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeEventInfoResponseParams `json:"Response"`
}

func (r *DescribeEscapeEventInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventTendencyRequestParams struct {
	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`
}

type DescribeEscapeEventTendencyRequest struct {
	*tchttp.BaseRequest
	
	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`
}

func (r *DescribeEscapeEventTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventTendencyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EndTime")
	delete(f, "StartTime")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEscapeEventTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventTendencyResponseParams struct {
	// Trend of pending escape events
	List []*EscapeEventTendencyInfo `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 DescribeEscapeEventTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeEventTendencyResponseParams `json:"Response"`
}

func (r *DescribeEscapeEventTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventTypeSummaryRequestParams struct {

}

type DescribeEscapeEventTypeSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeEscapeEventTypeSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventTypeSummaryRequest) 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", "DescribeEscapeEventTypeSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventTypeSummaryResponseParams struct {
	// Number of container escape events
	ContainerEscapeEventCount *int64 `json:"ContainerEscapeEventCount,omitnil,omitempty" name:"ContainerEscapeEventCount"`

	// Number of program privilege escalation events
	ProcessPrivilegeEventCount *int64 `json:"ProcessPrivilegeEventCount,omitnil,omitempty" name:"ProcessPrivilegeEventCount"`

	// Number of risky container events
	RiskContainerEventCount *int64 `json:"RiskContainerEventCount,omitnil,omitempty" name:"RiskContainerEventCount"`

	// Number of pending escape events
	PendingEscapeEventCount *int64 `json:"PendingEscapeEventCount,omitnil,omitempty" name:"PendingEscapeEventCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEscapeEventTypeSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeEventTypeSummaryResponseParams `json:"Response"`
}

func (r *DescribeEscapeEventTypeSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventTypeSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventsExportRequestParams struct {
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeEscapeEventsExportRequest struct {
	*tchttp.BaseRequest
	
	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`

	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeEscapeEventsExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventsExportRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ExportField")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEscapeEventsExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeEventsExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	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 DescribeEscapeEventsExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeEventsExportResponseParams `json:"Response"`
}

func (r *DescribeEscapeEventsExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeEventsExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeRuleInfoRequestParams struct {

}

type DescribeEscapeRuleInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeEscapeRuleInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeRuleInfoRequest) 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", "DescribeEscapeRuleInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeRuleInfoResponseParams struct {
	// Rule information
	RuleSet []*EscapeRule `json:"RuleSet,omitnil,omitempty" name:"RuleSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEscapeRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeRuleInfoResponseParams `json:"Response"`
}

func (r *DescribeEscapeRuleInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeRuleInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeSafeStateRequestParams struct {

}

type DescribeEscapeSafeStateRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeEscapeSafeStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeSafeStateRequest) 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", "DescribeEscapeSafeStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeSafeStateResponseParams struct {
	// Valid values: `Unsafe` (at risk); `Safe` (no risks); `UnKnown` (unknown risks).
	IsSafe *string `json:"IsSafe,omitnil,omitempty" name:"IsSafe"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeEscapeSafeStateResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeSafeStateResponseParams `json:"Response"`
}

func (r *DescribeEscapeSafeStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeSafeStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeWhiteListRequestParams struct {
	// Filter
	// <li>EventType- String - Required: No - Allowed event type. Valid values: `ESCAPE_CGROUPS` (cgroup escape); `ESCAPE_TAMPER_SENSITIVE_FILE` (file tamper escape); `ESCAPE_DOCKER_API` (Docker API access escape); `ESCAPE_VUL_OCCURRED` (vulnerability exploit); `MOUNT_SENSITIVE_PTAH` (sensitive path mount); `PRIVILEGE_CONTAINER_START` (privileged container); `PRIVILEGE` (program privilege escalation escape).</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `HostCount` (number of servers); `ContainerCount` (number of containers); `UpdateTime` (update time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeEscapeWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>EventType- String - Required: No - Allowed event type. Valid values: `ESCAPE_CGROUPS` (cgroup escape); `ESCAPE_TAMPER_SENSITIVE_FILE` (file tamper escape); `ESCAPE_DOCKER_API` (Docker API access escape); `ESCAPE_VUL_OCCURRED` (vulnerability exploit); `MOUNT_SENSITIVE_PTAH` (sensitive path mount); `PRIVILEGE_CONTAINER_START` (privileged container); `PRIVILEGE` (program privilege escalation escape).</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `HostCount` (number of servers); `ContainerCount` (number of containers); `UpdateTime` (update time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeEscapeWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeWhiteListRequest) 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", "DescribeEscapeWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeEscapeWhiteListResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Allowlist of escapes
	List []*EscapeWhiteListInfo `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 DescribeEscapeWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEscapeWhiteListResponseParams `json:"Response"`
}

func (r *DescribeEscapeWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeEscapeWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportJobDownloadURLRequestParams struct {
	// Job ID
	JobID *string `json:"JobID,omitnil,omitempty" name:"JobID"`
}

type DescribeExportJobDownloadURLRequest struct {
	*tchttp.BaseRequest
	
	// Job ID
	JobID *string `json:"JobID,omitnil,omitempty" name:"JobID"`
}

func (r *DescribeExportJobDownloadURLRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportJobDownloadURLRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "JobID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeExportJobDownloadURLRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportJobDownloadURLResponseParams 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 DescribeExportJobDownloadURLResponse struct {
	*tchttp.BaseResponse
	Response *DescribeExportJobDownloadURLResponseParams `json:"Response"`
}

func (r *DescribeExportJobDownloadURLResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportJobDownloadURLResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportJobManageListRequestParams struct {
	// Filters.
	// <li>ExportStatus- String - Optional - Export status. Value: `RUNNING` (Exporting); `SUCCESS` (Exported); `FAILURE` (Failed to export)
	// <li>ExportSource- String - Optional - Source of the exportation task. Values: `LocalImage` (Local image).
	// </li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sort order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	// InsertTime: Creation time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeExportJobManageListRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>ExportStatus- String - Optional - Export status. Value: `RUNNING` (Exporting); `SUCCESS` (Exported); `FAILURE` (Failed to export)
	// <li>ExportSource- String - Optional - Source of the exportation task. Values: `LocalImage` (Local image).
	// </li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Offset. Default value: 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Sort order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	// InsertTime: Creation time
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeExportJobManageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportJobManageListRequest) 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", "DescribeExportJobManageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportJobManageListResponseParams struct {
	// Total count
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Job list
	List []*ExportJobInfo `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 DescribeExportJobManageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeExportJobManageListResponseParams `json:"Response"`
}

func (r *DescribeExportJobManageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportJobManageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportJobResultRequestParams struct {
	// Value of the `JobId` field returned by `CreateExportComplianceStatusListJob`
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`
}

type DescribeExportJobResultRequest struct {
	*tchttp.BaseRequest
	
	// Value of the `JobId` field returned by `CreateExportComplianceStatusListJob`
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`
}

func (r *DescribeExportJobResultRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportJobResultRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "JobId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeExportJobResultRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeExportJobResultResponseParams struct {
	// Export status. Valid values: `SUCCESS`, `FAILURE`, `RUNNING`.
	ExportStatus *string `json:"ExportStatus,omitnil,omitempty" name:"ExportStatus"`

	// Download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	DownloadURL *string `json:"DownloadURL,omitnil,omitempty" name:"DownloadURL"`

	// Export progress when `ExportStatus` is `RUNNING`. Value range: Floating points between `0` and `100`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExportProgress *float64 `json:"ExportProgress,omitnil,omitempty" name:"ExportProgress"`

	// Failure cause
	// Note: This field may return null, indicating that no valid values can be obtained.
	FailureMsg *string `json:"FailureMsg,omitnil,omitempty" name:"FailureMsg"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeExportJobResultResponse struct {
	*tchttp.BaseResponse
	Response *DescribeExportJobResultResponseParams `json:"Response"`
}

func (r *DescribeExportJobResultResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeExportJobResultResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAuthorizedInfoRequestParams struct {

}

type DescribeImageAuthorizedInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeImageAuthorizedInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAuthorizedInfoRequest) 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", "DescribeImageAuthorizedInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAuthorizedInfoResponseParams struct {
	// Total number of valid image licenses
	TotalAuthorizedCnt *uint64 `json:"TotalAuthorizedCnt,omitnil,omitempty" name:"TotalAuthorizedCnt"`

	// Number of used image licenses
	UsedAuthorizedCnt *uint64 `json:"UsedAuthorizedCnt,omitnil,omitempty" name:"UsedAuthorizedCnt"`

	// Number of images with scan enabled
	ScannedImageCnt *uint64 `json:"ScannedImageCnt,omitnil,omitempty" name:"ScannedImageCnt"`

	// Number of images with scan not enabled
	NotScannedImageCnt *uint64 `json:"NotScannedImageCnt,omitnil,omitempty" name:"NotScannedImageCnt"`

	// Number of local images with scan not enabled
	NotScannedLocalImageCnt *uint64 `json:"NotScannedLocalImageCnt,omitnil,omitempty" name:"NotScannedLocalImageCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageAuthorizedInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageAuthorizedInfoResponseParams `json:"Response"`
}

func (r *DescribeImageAuthorizedInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAuthorizedInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAutoAuthorizedLogListRequestParams struct {
	// ID of the automatic licensing task
	TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// `Status` (licensing result). Valid values: `SUCCESS` (success); `REACH_LIMIT` (reaching the upper limit on licenses); `LICENSE_INSUFFICIENT` (insufficient licenses).
	Filters []*AssetFilters `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 field: `AuthorizedTime`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeImageAutoAuthorizedLogListRequest struct {
	*tchttp.BaseRequest
	
	// ID of the automatic licensing task
	TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// `Status` (licensing result). Valid values: `SUCCESS` (success); `REACH_LIMIT` (reaching the upper limit on licenses); `LICENSE_INSUFFICIENT` (insufficient licenses).
	Filters []*AssetFilters `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 field: `AuthorizedTime`.
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeImageAutoAuthorizedLogListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAutoAuthorizedLogListRequest) 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")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeImageAutoAuthorizedLogListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAutoAuthorizedLogListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of automatically licensed images
	List []*AutoAuthorizedImageInfo `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 DescribeImageAutoAuthorizedLogListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageAutoAuthorizedLogListResponseParams `json:"Response"`
}

func (r *DescribeImageAutoAuthorizedLogListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAutoAuthorizedLogListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAutoAuthorizedRuleRequestParams struct {

}

type DescribeImageAutoAuthorizedRuleRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeImageAutoAuthorizedRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAutoAuthorizedRuleRequest) 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", "DescribeImageAutoAuthorizedRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAutoAuthorizedRuleResponseParams struct {
	// Whether the rule takes effect. Valid values: `0` (no); `1` (yes).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Scope. Valid values: `MANUAL` (specified servers); `ALL` (all images).
	// Note: This field may return null, indicating that no valid values can be obtained.
	RangeType *string `json:"RangeType,omitnil,omitempty" name:"RangeType"`

	// Number of servers when the scope is `MANUAL`
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Maximum number of image licenses per day. `0`: Unlimited.
	// Note: This field may return null, indicating that no valid values can be obtained.
	MaxDailyCount *int64 `json:"MaxDailyCount,omitnil,omitempty" name:"MaxDailyCount"`

	// Rule ID, which is `0` if not specified.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageAutoAuthorizedRuleResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageAutoAuthorizedRuleResponseParams `json:"Response"`
}

func (r *DescribeImageAutoAuthorizedRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAutoAuthorizedRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAutoAuthorizedTaskListRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Filter field
	// `Status` (licensing result). Valid values: `ALLSUCCSESS` (licensing succeeded); `PARTIALFAIL` (failed to license some images); `ALLFAIL` (failed to license all images).
	// Licensing method. Valid values: `AUTO` (automatic licensing); `MANUAL` (manual licensing).
	// Image source. Valid values: `LOCAL` (local image); `REGISTRY` (repository image).
	Filters []*AssetFilters `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"`
}

type DescribeImageAutoAuthorizedTaskListRequest struct {
	*tchttp.BaseRequest
	
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Filter field
	// `Status` (licensing result). Valid values: `ALLSUCCSESS` (licensing succeeded); `PARTIALFAIL` (failed to license some images); `ALLFAIL` (failed to license all images).
	// Licensing method. Valid values: `AUTO` (automatic licensing); `MANUAL` (manual licensing).
	// Image source. Valid values: `LOCAL` (local image); `REGISTRY` (repository image).
	Filters []*AssetFilters `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"`
}

func (r *DescribeImageAutoAuthorizedTaskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAutoAuthorizedTaskListRequest) 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, "Filters")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeImageAutoAuthorizedTaskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageAutoAuthorizedTaskListResponseParams struct {
	// List of automatic licensing tasks
	List []*ImageAutoAuthorizedTask `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 DescribeImageAutoAuthorizedTaskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageAutoAuthorizedTaskListResponseParams `json:"Response"`
}

func (r *DescribeImageAutoAuthorizedTaskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageAutoAuthorizedTaskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageComponentListRequestParams struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>ComponentName- String - Required: No - Image component name</li><li>ComponentVersion- String - Required: No - Image component version</li><li>ComponentType- String - Required: No - Image component type</li><li>VulLevel- String - Required: No - Vulnerability severity</li><li>HasVul- String - Required: No - Whether there is a vulnerability. Valid values: `true` (yes); `false` (no). If `ComponentName` is not passed in or is `ALL`, it indicates all.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeImageComponentListRequest struct {
	*tchttp.BaseRequest
	
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// 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"`

	// Filter
	// <li>ComponentName- String - Required: No - Image component name</li><li>ComponentVersion- String - Required: No - Image component version</li><li>ComponentType- String - Required: No - Image component type</li><li>VulLevel- String - Required: No - Vulnerability severity</li><li>HasVul- String - Required: No - Whether there is a vulnerability. Valid values: `true` (yes); `false` (no). If `ComponentName` is not passed in or is `ALL`, it indicates all.</li>
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `desc`, `asc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeImageComponentListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageComponentListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ImageID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeImageComponentListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageComponentListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of image components
	List []*ImageComponent `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 DescribeImageComponentListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageComponentListResponseParams `json:"Response"`
}

func (r *DescribeImageComponentListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageComponentListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRegistryNamespaceListRequestParams struct {
	// Initial offset of the query. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned by the query. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Query filter. The `Name` field can be "Namespace".
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeImageRegistryNamespaceListRequest struct {
	*tchttp.BaseRequest
	
	// Initial offset of the query. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Number of results to be returned by the query. Default value: `10`. Maximum value: `100`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Query filter. The `Name` field can be "Namespace".
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeImageRegistryNamespaceListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRegistryNamespaceListRequest) 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", "DescribeImageRegistryNamespaceListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRegistryNamespaceListResponseParams struct {
	// Total number of namespaces that can be returned
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of namespaces
	NamespaceList []*string `json:"NamespaceList,omitnil,omitempty" name:"NamespaceList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageRegistryNamespaceListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageRegistryNamespaceListResponseParams `json:"Response"`
}

func (r *DescribeImageRegistryNamespaceListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRegistryNamespaceListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRegistryTimingScanTaskRequestParams struct {

}

type DescribeImageRegistryTimingScanTaskRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeImageRegistryTimingScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRegistryTimingScanTaskRequest) 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", "DescribeImageRegistryTimingScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRegistryTimingScanTaskResponseParams struct {
	// Scheduled scan switch
	// Note: This field may return null, indicating that no valid values can be obtained.
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scheduled scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scheduled scan interval
	ScanPeriod *uint64 `json:"ScanPeriod,omitnil,omitempty" name:"ScanPeriod"`

	// Array of scan types
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// Scan of all images
	//
	// Deprecated: All is deprecated.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// Scan of specified images
	// Note: This field may return null, indicating that no valid values can be obtained.
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// ID of the specified image
	// Note: This field may return null, indicating that no valid values can be obtained.
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to scan the latest image tag
	// Note: This field may return·`null`, indicating that no valid values can be obtained.
	Latest *bool `json:"Latest,omitnil,omitempty" name:"Latest"`


	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`


	RegistryType []*string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`


	ContainerRunning *bool `json:"ContainerRunning,omitnil,omitempty" name:"ContainerRunning"`


	ScanScope *uint64 `json:"ScanScope,omitnil,omitempty" name:"ScanScope"`


	Namespace []*string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageRegistryTimingScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageRegistryTimingScanTaskResponseParams `json:"Response"`
}

func (r *DescribeImageRegistryTimingScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRegistryTimingScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRiskSummaryRequestParams struct {

}

type DescribeImageRiskSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeImageRiskSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRiskSummaryRequest) 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", "DescribeImageRiskSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRiskSummaryResponseParams struct {
	// Vulnerability
	VulnerabilityCnt []*RunTimeRiskInfo `json:"VulnerabilityCnt,omitnil,omitempty" name:"VulnerabilityCnt"`

	// Virus and trojan
	MalwareVirusCnt []*RunTimeRiskInfo `json:"MalwareVirusCnt,omitnil,omitempty" name:"MalwareVirusCnt"`

	// Sensitive data
	RiskCnt []*RunTimeRiskInfo `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageRiskSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageRiskSummaryResponseParams `json:"Response"`
}

func (r *DescribeImageRiskSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRiskSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRiskTendencyRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeImageRiskTendencyRequest 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 *DescribeImageRiskTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRiskTendencyRequest) 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", "DescribeImageRiskTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageRiskTendencyResponseParams struct {
	// List of new risk trends of local images
	ImageRiskTendencySet []*ImageRiskTendencyInfo `json:"ImageRiskTendencySet,omitnil,omitempty" name:"ImageRiskTendencySet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageRiskTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageRiskTendencyResponseParams `json:"Response"`
}

func (r *DescribeImageRiskTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageRiskTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageSimpleListRequestParams struct {
	// `IsAuthorized` (whether it is licensed). Valid values: `0` (no); `1` (yes); none (all).
	Filters []*RunTimeFilters `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 order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeImageSimpleListRequest struct {
	*tchttp.BaseRequest
	
	// `IsAuthorized` (whether it is licensed). Valid values: `0` (no); `1` (yes); none (all).
	Filters []*RunTimeFilters `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 order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeImageSimpleListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageSimpleListRequest) 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", "DescribeImageSimpleListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeImageSimpleListResponseParams struct {
	// List of images
	ImageList []*ImageSimpleInfo `json:"ImageList,omitnil,omitempty" name:"ImageList"`

	// Number of images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeImageSimpleListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeImageSimpleListResponseParams `json:"Response"`
}

func (r *DescribeImageSimpleListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeImageSimpleListResponse) 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 DescribeInspectionReportRequestParams struct {

}

type DescribeInspectionReportRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeInspectionReportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeInspectionReportRequest) 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", "DescribeInspectionReportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeInspectionReportResponseParams struct {
	// Report name
	ReportName *string `json:"ReportName,omitnil,omitempty" name:"ReportName"`

	// Download URL
	ReportUrl *string `json:"ReportUrl,omitnil,omitempty" name:"ReportUrl"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeInspectionReportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeInspectionReportResponseParams `json:"Response"`
}

func (r *DescribeInspectionReportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeInspectionReportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalEventInfoRequestParams struct {
	// Event ID
	ID *uint64 `json:"ID,omitnil,omitempty" name:"ID"`
}

type DescribeK8sApiAbnormalEventInfoRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	ID *uint64 `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *DescribeK8sApiAbnormalEventInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalEventInfoRequest) 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", "DescribeK8sApiAbnormalEventInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalEventInfoResponseParams struct {
	// Event details
	Info *K8sApiAbnormalEventInfo `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 DescribeK8sApiAbnormalEventInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalEventInfoResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalEventInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalEventInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalEventListRequestParams struct {
	// Filters.
	// <li>TimeRange - String - Optional - Time range. Example: ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>`MatchRules` - String - Optional - Hit rule</li>
	// <li>`RiskLevel` - String - Optional - Threat level</li>
	// <li>`Status` - String - Optional - Event status</li>
	// <li>`MatchRuleType` - String - Optional - Hit rule type</li>
	// <li>`ClusterRunningStatus` - String - Optional - Cluster running status</li>
	// <li>`ClusterName` - String - Optional - Cluster name</li>
	// <li>`ClusterID` - String - Optional - Cluster ID</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	// `LatestFoundTime`: Last creation time
	// `AlarmCount`: Number of alarms
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeK8sApiAbnormalEventListRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>TimeRange - String - Optional - Time range. Example: ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>`MatchRules` - String - Optional - Hit rule</li>
	// <li>`RiskLevel` - String - Optional - Threat level</li>
	// <li>`Status` - String - Optional - Event status</li>
	// <li>`MatchRuleType` - String - Optional - Hit rule type</li>
	// <li>`ClusterRunningStatus` - String - Optional - Cluster running status</li>
	// <li>`ClusterName` - String - Optional - Cluster name</li>
	// <li>`ClusterID` - String - Optional - Cluster ID</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	// `LatestFoundTime`: Last creation time
	// `AlarmCount`: Number of alarms
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeK8sApiAbnormalEventListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalEventListRequest) 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", "DescribeK8sApiAbnormalEventListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalEventListResponseParams struct {
	// Event list
	List []*K8sApiAbnormalEventListItem `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 DescribeK8sApiAbnormalEventListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalEventListResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalEventListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalEventListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalRuleInfoRequestParams struct {
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`
}

type DescribeK8sApiAbnormalRuleInfoRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`
}

func (r *DescribeK8sApiAbnormalRuleInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalRuleInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeK8sApiAbnormalRuleInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalRuleInfoResponseParams struct {
	// Rule details
	Info *K8sApiAbnormalRuleInfo `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 DescribeK8sApiAbnormalRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalRuleInfoResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalRuleInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalRuleInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalRuleListRequestParams struct {
	// Filters.
	// <li>`RuleType` - String - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field.
	// <li>`UpdateTime` - String - Optional - Last updated</li>
	// <li>`EffectClusterCount` - String - Optional - Number of clusters affected</li>
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeK8sApiAbnormalRuleListRequest struct {
	*tchttp.BaseRequest
	
	// Filters.
	// <li>`RuleType` - String - Optional - Rule type</li>
	// <li>`Status` - String - Optional - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Default value: 0
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Sort order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field.
	// <li>`UpdateTime` - String - Optional - Last updated</li>
	// <li>`EffectClusterCount` - String - Optional - Number of clusters affected</li>
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeK8sApiAbnormalRuleListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalRuleListRequest) 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", "DescribeK8sApiAbnormalRuleListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalRuleListResponseParams struct {
	// Rule list
	List []*K8sApiAbnormalRuleListItem `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 DescribeK8sApiAbnormalRuleListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalRuleListResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalRuleListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalRuleListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalRuleScopeListRequestParams struct {
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filters.
	// <li>`Action` - String - Optional - Filter by action</li>
	// <li>`RiskLevel` - String - Optional - Threat level</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeK8sApiAbnormalRuleScopeListRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filters.
	// <li>`Action` - String - Optional - Filter by action</li>
	// <li>`RiskLevel` - String - Optional - Threat level</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeK8sApiAbnormalRuleScopeListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalRuleScopeListRequest) 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, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeK8sApiAbnormalRuleScopeListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalRuleScopeListResponseParams struct {
	// Total count
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List
	List []*K8sApiAbnormalRuleScopeInfo `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 DescribeK8sApiAbnormalRuleScopeListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalRuleScopeListResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalRuleScopeListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalRuleScopeListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalSummaryRequestParams struct {

}

type DescribeK8sApiAbnormalSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeK8sApiAbnormalSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalSummaryRequest) 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", "DescribeK8sApiAbnormalSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalSummaryResponseParams struct {
	// The number of pending events
	UnhandleEventCount *uint64 `json:"UnhandleEventCount,omitnil,omitempty" name:"UnhandleEventCount"`

	// The number of pending high-risk events
	UnhandleHighLevelEventCount *uint64 `json:"UnhandleHighLevelEventCount,omitnil,omitempty" name:"UnhandleHighLevelEventCount"`

	// The number of pending medium-risk events
	UnhandleMediumLevelEventCount *uint64 `json:"UnhandleMediumLevelEventCount,omitnil,omitempty" name:"UnhandleMediumLevelEventCount"`

	// The number of pending low-risk events
	UnhandleLowLevelEventCount *uint64 `json:"UnhandleLowLevelEventCount,omitnil,omitempty" name:"UnhandleLowLevelEventCount"`

	// The number of pending notice-level events
	UnhandleNoticeLevelEventCount *uint64 `json:"UnhandleNoticeLevelEventCount,omitnil,omitempty" name:"UnhandleNoticeLevelEventCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeK8sApiAbnormalSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalSummaryResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalTendencyRequestParams struct {
	// Trend period (default value: 7 days)
	TendencyPeriod *uint64 `json:"TendencyPeriod,omitnil,omitempty" name:"TendencyPeriod"`
}

type DescribeK8sApiAbnormalTendencyRequest struct {
	*tchttp.BaseRequest
	
	// Trend period (default value: 7 days)
	TendencyPeriod *uint64 `json:"TendencyPeriod,omitnil,omitempty" name:"TendencyPeriod"`
}

func (r *DescribeK8sApiAbnormalTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalTendencyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TendencyPeriod")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeK8sApiAbnormalTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeK8sApiAbnormalTendencyResponseParams struct {
	// Trend list
	List []*K8sApiAbnormalTendencyItem `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 DescribeK8sApiAbnormalTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeK8sApiAbnormalTendencyResponseParams `json:"Response"`
}

func (r *DescribeK8sApiAbnormalTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeK8sApiAbnormalTendencyResponse) 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 in GB
	TotalSize *uint64 `json:"TotalSize,omitnil,omitempty" name:"TotalSize"`

	// Used capacity in 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 DescribeNetworkFirewallAuditRecordRequestParams struct {
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - Action
	// Name. Valid values: `publish`, `unpublish`, `confirm`, `add`, `update`, `delete`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeNetworkFirewallAuditRecordRequest struct {
	*tchttp.BaseRequest
	
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - Action
	// Name. Valid values: `publish`, `unpublish`, `confirm`, `add`, `update`, `delete`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeNetworkFirewallAuditRecordRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallAuditRecordRequest) 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, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetworkFirewallAuditRecordRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallAuditRecordResponseParams struct {
	// Total number of cluster audits
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Audit details of the cluster
	AuditList []*NetworkAuditRecord `json:"AuditList,omitnil,omitempty" name:"AuditList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallAuditRecordResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallAuditRecordResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallAuditRecordResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallAuditRecordResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallClusterListRequestParams struct {
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeNetworkFirewallClusterListRequest struct {
	*tchttp.BaseRequest
	
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeNetworkFirewallClusterListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallClusterListRequest) 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, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetworkFirewallClusterListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallClusterListResponseParams struct {
	// Total number of clusters
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Cluster details
	ClusterInfoList []*NetworkClusterInfoItem `json:"ClusterInfoList,omitnil,omitempty" name:"ClusterInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallClusterListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallClusterListResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallClusterListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallClusterListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallClusterRefreshStatusRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DescribeNetworkFirewallClusterRefreshStatusRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *DescribeNetworkFirewallClusterRefreshStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallClusterRefreshStatusRequest) 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", "DescribeNetworkFirewallClusterRefreshStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallClusterRefreshStatusResponseParams struct {
	// Task status. Valid values: `Task_Running`, `Task_Succ`, `Task_Error`, `Task_NoExist`.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallClusterRefreshStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallClusterRefreshStatusResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallClusterRefreshStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallClusterRefreshStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallNamespaceLabelListRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeNetworkFirewallNamespaceLabelListRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeNetworkFirewallNamespaceLabelListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallNamespaceLabelListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetworkFirewallNamespaceLabelListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallNamespaceLabelListResponseParams struct {
	// Total number of clusters
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Cluster namespace label details
	ClusterNamespaceLabelList []*NetworkClusterNamespaceLabelInfo `json:"ClusterNamespaceLabelList,omitnil,omitempty" name:"ClusterNamespaceLabelList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallNamespaceLabelListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallNamespaceLabelListResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallNamespaceLabelListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallNamespaceLabelListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPodLabelsListRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeNetworkFirewallPodLabelsListRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeNetworkFirewallPodLabelsListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPodLabelsListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetworkFirewallPodLabelsListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPodLabelsListResponseParams struct {
	// Total number of cluster Pods
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Details of the cluster Pod
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodList []*NetworkClusterPodInfo `json:"PodList,omitnil,omitempty" name:"PodList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallPodLabelsListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallPodLabelsListResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallPodLabelsListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPodLabelsListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyDetailRequestParams struct {
	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeNetworkFirewallPolicyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeNetworkFirewallPolicyDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyDetailRequest) 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", "DescribeNetworkFirewallPolicyDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyDetailResponseParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy name
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Namespace
	// Note: This field may return null, indicating that no valid values can be obtained.
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Inbound type
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound type
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Custom rule
	// Note: This field may return null, indicating that no valid values can be obtained.
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// Policy description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Policy creation time
	PolicyCreateTime *string `json:"PolicyCreateTime,omitnil,omitempty" name:"PolicyCreateTime"`

	// Policy source type. Valid values: `System` (synched from the cluster); `Manual` (added manually).
	PolicySourceType *string `json:"PolicySourceType,omitnil,omitempty" name:"PolicySourceType"`

	// Network plugin of the network policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	NetworkPolicyPlugin *string `json:"NetworkPolicyPlugin,omitnil,omitempty" name:"NetworkPolicyPlugin"`

	// Network policy status
	PublishStatus *string `json:"PublishStatus,omitnil,omitempty" name:"PublishStatus"`

	// Policy publishing result
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublishResult *string `json:"PublishResult,omitnil,omitempty" name:"PublishResult"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallPolicyDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallPolicyDetailResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallPolicyDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyDiscoverRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DescribeNetworkFirewallPolicyDiscoverRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *DescribeNetworkFirewallPolicyDiscoverRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyDiscoverRequest) 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", "DescribeNetworkFirewallPolicyDiscoverRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyDiscoverResponseParams struct {
	// Task status. Valid values: `Task_Running`, `Task_Succ`, `Task_Error`, `Task_NoExist`.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallPolicyDiscoverResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallPolicyDiscoverResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallPolicyDiscoverResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyDiscoverResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyListRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeNetworkFirewallPolicyListRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeNetworkFirewallPolicyListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeNetworkFirewallPolicyListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyListResponseParams struct {
	// Total number of clusters
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Cluster details
	NetPolicy []*NetworkPolicyInfoItem `json:"NetPolicy,omitnil,omitempty" name:"NetPolicy"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallPolicyListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallPolicyListResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallPolicyListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyStatusRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DescribeNetworkFirewallPolicyStatusRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *DescribeNetworkFirewallPolicyStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyStatusRequest) 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", "DescribeNetworkFirewallPolicyStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyStatusResponseParams struct {
	// Task status. Valid values: `Task_Running`, `Task_Succ`, `Task_Error`, `Task_NoExist`.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// Task result, such as `NameRepeat` and `K8sRuleIngressPortError`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	TaskResult []*string `json:"TaskResult,omitnil,omitempty" name:"TaskResult"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallPolicyStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallPolicyStatusResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallPolicyStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyYamlDetailRequestParams struct {
	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeNetworkFirewallPolicyYamlDetailRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeNetworkFirewallPolicyYamlDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyYamlDetailRequest) 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", "DescribeNetworkFirewallPolicyYamlDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNetworkFirewallPolicyYamlDetailResponseParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy name
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Base64-encoded YAML string
	// Note: This field may return null, indicating that no valid values can be obtained.
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

	// Policy description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Policy creation time
	PolicyCreateTime *string `json:"PolicyCreateTime,omitnil,omitempty" name:"PolicyCreateTime"`

	// Policy source type. Valid values: `System` (synched from the cluster); `Manual` (added manually).
	PolicySourceType *string `json:"PolicySourceType,omitnil,omitempty" name:"PolicySourceType"`

	// Network plugin of the network policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	NetworkPolicyPlugin *string `json:"NetworkPolicyPlugin,omitnil,omitempty" name:"NetworkPolicyPlugin"`

	// Network policy status
	PublishStatus *string `json:"PublishStatus,omitnil,omitempty" name:"PublishStatus"`

	// Policy publishing result
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublishResult *string `json:"PublishResult,omitnil,omitempty" name:"PublishResult"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNetworkFirewallPolicyYamlDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNetworkFirewallPolicyYamlDetailResponseParams `json:"Response"`
}

func (r *DescribeNetworkFirewallPolicyYamlDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNetworkFirewallPolicyYamlDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNewestVulRequestParams struct {

}

type DescribeNewestVulRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeNewestVulRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNewestVulRequest) 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", "DescribeNewestVulRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeNewestVulResponseParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Disclosure time
	SubmitTime *string `json:"SubmitTime,omitnil,omitempty" name:"SubmitTime"`

	// Emergency vulnerability risk information. Valid values: `NOT_SCAN` (not scanned); `SCANNING` (scanning); `SCANNED` (scanned).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Vulnerability CVE ID
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeNewestVulResponse struct {
	*tchttp.BaseResponse
	Response *DescribeNewestVulResponseParams `json:"Response"`
}

func (r *DescribeNewestVulResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeNewestVulResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePostPayDetailRequestParams struct {
	// 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"`
}

type DescribePostPayDetailRequest struct {
	*tchttp.BaseRequest
	
	// 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"`
}

func (r *DescribePostPayDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePostPayDetailRequest) 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", "DescribePostPayDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePostPayDetailResponseParams struct {
	// Elastic billing details
	// Note: This field may return null, indicating that no valid values can be obtained.
	SoftQuotaDayDetail []*SoftQuotaDayInfo `json:"SoftQuotaDayDetail,omitnil,omitempty" name:"SoftQuotaDayDetail"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePostPayDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribePostPayDetailResponseParams `json:"Response"`
}

func (r *DescribePostPayDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePostPayDetailResponse) 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 {
	// Start time of the Pro Edition, which is not empty only when the edition is purchased.
	// Note: This field may return null, indicating that no valid values can be obtained.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time of the Pro Edition, which is not empty only when more resources are purchased.
	// Note: This field may return null, indicating that no valid values can be obtained.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Number of cores to be purchased
	CoresCnt *uint64 `json:"CoresCnt,omitnil,omitempty" name:"CoresCnt"`

	// Upper limit for elastic billing
	MaxPostPayCoresCnt *uint64 `json:"MaxPostPayCoresCnt,omitnil,omitempty" name:"MaxPostPayCoresCnt"`

	// Resource ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Purchase status
	// `Pending`: To be purchased.
	// `Normal`: Purchased.
	// `Isolate`: Isolated.
	BuyStatus *string `json:"BuyStatus,omitnil,omitempty" name:"BuyStatus"`

	// Whether it has been purchased before. Valid values: `false` (no); `true` (yes).
	IsPurchased *bool `json:"IsPurchased,omitnil,omitempty" name:"IsPurchased"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 DescribePromotionActivityRequestParams struct {
	// Promotion ID
	ActiveID *uint64 `json:"ActiveID,omitnil,omitempty" name:"ActiveID"`
}

type DescribePromotionActivityRequest struct {
	*tchttp.BaseRequest
	
	// Promotion ID
	ActiveID *uint64 `json:"ActiveID,omitnil,omitempty" name:"ActiveID"`
}

func (r *DescribePromotionActivityRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePromotionActivityRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ActiveID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribePromotionActivityRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePromotionActivityResponseParams struct {
	// Promotion content
	List []*PromotionActivityContent `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 DescribePromotionActivityResponse struct {
	*tchttp.BaseResponse
	Response *DescribePromotionActivityResponseParams `json:"Response"`
}

func (r *DescribePromotionActivityResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePromotionActivityResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePublicKeyRequestParams struct {

}

type DescribePublicKeyRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribePublicKeyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePublicKeyRequest) 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", "DescribePublicKeyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePublicKeyResponseParams struct {
	// Public key
	PublicKey *string `json:"PublicKey,omitnil,omitempty" name:"PublicKey"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePublicKeyResponse struct {
	*tchttp.BaseResponse
	Response *DescribePublicKeyResponseParams `json:"Response"`
}

func (r *DescribePublicKeyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePublicKeyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePurchaseStateInfoRequestParams struct {

}

type DescribePurchaseStateInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribePurchaseStateInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePurchaseStateInfoRequest) 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", "DescribePurchaseStateInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribePurchaseStateInfoResponseParams struct {
	// Valid values: `0` (available for trial and purchase); `1` (available for purchase only after failed trial review or trial expiration); `2` (trial effective); `3` (Pro Edition effective); `4` (Pro Edition expired).
	State *int64 `json:"State,omitnil,omitempty" name:"State"`

	// Total number of cores
	// Note: This field may return null, indicating that no valid values can be obtained.
	CoresCnt *uint64 `json:"CoresCnt,omitnil,omitempty" name:"CoresCnt"`

	// Number of purchased cores
	// Note: This field may return null, indicating that no valid values can be obtained.
	AuthorizedCoresCnt *uint64 `json:"AuthorizedCoresCnt,omitnil,omitempty" name:"AuthorizedCoresCnt"`

	// Number of images
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of licensed images
	// Note: This field may return null, indicating that no valid values can be obtained.
	AuthorizedImageCnt *uint64 `json:"AuthorizedImageCnt,omitnil,omitempty" name:"AuthorizedImageCnt"`

	// Number of purchased image licenses
	// Note: This field may return null, indicating that no valid values can be obtained.
	PurchasedAuthorizedCnt *uint64 `json:"PurchasedAuthorizedCnt,omitnil,omitempty" name:"PurchasedAuthorizedCnt"`

	// Expiration time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExpirationTime *string `json:"ExpirationTime,omitnil,omitempty" name:"ExpirationTime"`

	// Valid values: `0` (initial status, which is the default value and not set by the user); `1` (auto-renewal); `2` (no auto-renewal, which is specified by the user).
	// Note: This field may return null, indicating that no valid values can be obtained.
	AutomaticRenewal *int64 `json:"AutomaticRenewal,omitnil,omitempty" name:"AutomaticRenewal"`

	// Number of free image licenses during the trial, which may expire.
	// Note: This field may return null, indicating that no valid values can be obtained.
	GivenAuthorizedCnt *uint64 `json:"GivenAuthorizedCnt,omitnil,omitempty" name:"GivenAuthorizedCnt"`

	// Start time
	// Note: This field may return null, indicating that no valid values can be obtained.
	BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"`

	// Sub-status, the meaning of which is subject to the `State` field.
	// Valid values when `State` is `4`: `ISOLATE` (isolated); `DESTROED` (terminated).
	// Note: This field may return null, indicating that no valid values can be obtained.
	SubState *string `json:"SubState,omitnil,omitempty" name:"SubState"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribePurchaseStateInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribePurchaseStateInfoResponseParams `json:"Response"`
}

func (r *DescribePurchaseStateInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribePurchaseStateInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRefreshTaskRequestParams struct {
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DescribeRefreshTaskRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

func (r *DescribeRefreshTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRefreshTaskRequest) 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", "DescribeRefreshTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRefreshTaskResponseParams struct {
	// Refresh task status. Valid values: `Task_New`, `Task_Running`, `Task_Finish`, `Task_Error`, `Task_NoExist`.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRefreshTaskResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRefreshTaskResponseParams `json:"Response"`
}

func (r *DescribeRefreshTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRefreshTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellDetailRequestParams struct {
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type DescribeReverseShellDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *DescribeReverseShellDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellDetailResponseParams struct {
	// Basic information of the event
	EventBaseInfo *RunTimeEventBaseInfo `json:"EventBaseInfo,omitnil,omitempty" name:"EventBaseInfo"`

	// Process information
	ProcessInfo *ProcessDetailInfo `json:"ProcessInfo,omitnil,omitempty" name:"ProcessInfo"`

	// Parent process information
	ParentProcessInfo *ProcessDetailBaseInfo `json:"ParentProcessInfo,omitnil,omitempty" name:"ParentProcessInfo"`

	// Event description
	EventDetail *ReverseShellEventDescription `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

	// Ancestor process information
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessInfo *ProcessBaseInfo `json:"AncestorProcessInfo,omitnil,omitempty" name:"AncestorProcessInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellDetailResponseParams `json:"Response"`
}

func (r *DescribeReverseShellDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventsExportRequestParams struct {
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type DescribeReverseShellEventsExportRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

func (r *DescribeReverseShellEventsExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellEventsExportRequest) 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, "ExportField")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellEventsExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventsExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellEventsExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellEventsExportResponseParams `json:"Response"`
}

func (r *DescribeReverseShellEventsExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellEventsExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellEventsRequestParams struct {
	// 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"`

	// Filter parameters
	// `InnerNetAlarmShow` - int - Required: Values: `1` (show private network alert); `0` (do not show)
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeReverseShellEventsRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameters
	// `InnerNetAlarmShow` - int - Required: Values: `1` (show private network alert); `0` (do not show)
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	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 {
	// Total number of events
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Array of reverse shells
	EventSet []*ReverseShellEventInfo `json:"EventSet,omitnil,omitempty" name:"EventSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 DescribeReverseShellWhiteListDetailRequestParams struct {
	// Allowed item ID
	WhiteListId *string `json:"WhiteListId,omitnil,omitempty" name:"WhiteListId"`
}

type DescribeReverseShellWhiteListDetailRequest struct {
	*tchttp.BaseRequest
	
	// Allowed item ID
	WhiteListId *string `json:"WhiteListId,omitnil,omitempty" name:"WhiteListId"`
}

func (r *DescribeReverseShellWhiteListDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellWhiteListDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "WhiteListId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeReverseShellWhiteListDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellWhiteListDetailResponseParams struct {
	// Basic information of the event
	WhiteListDetailInfo *ReverseShellWhiteListInfo `json:"WhiteListDetailInfo,omitnil,omitempty" name:"WhiteListDetailInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellWhiteListDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellWhiteListDetailResponseParams `json:"Response"`
}

func (r *DescribeReverseShellWhiteListDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellWhiteListDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellWhiteListsRequestParams struct {
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeReverseShellWhiteListsRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeReverseShellWhiteListsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellWhiteListsRequest) 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", "DescribeReverseShellWhiteListsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeReverseShellWhiteListsResponseParams struct {
	// Total number of events
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Allowlist
	WhiteListSet []*ReverseShellWhiteListBaseInfo `json:"WhiteListSet,omitnil,omitempty" name:"WhiteListSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeReverseShellWhiteListsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeReverseShellWhiteListsResponseParams `json:"Response"`
}

func (r *DescribeReverseShellWhiteListsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeReverseShellWhiteListsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskListRequestParams struct {
	// ID of the cluster to be queried. If it is not specified, all risk items will be queried.
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `RiskLevel` (risk level); `RiskTarget` (check target and risky target); `RiskType` (risk type); `RiskAttribute` (risk type of the check item).
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeRiskListRequest struct {
	*tchttp.BaseRequest
	
	// ID of the cluster to be queried. If it is not specified, all risk items will be queried.
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `RiskLevel` (risk level); `RiskTarget` (check target and risky target); `RiskType` (risk type); `RiskAttribute` (risk type of the check item).
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeRiskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Offset")
	delete(f, "Limit")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskListResponseParams struct {
	// Array of risk details
	ClusterRiskItems []*ClusterRiskItem `json:"ClusterRiskItems,omitnil,omitempty" name:"ClusterRiskItems"`

	// Total number of risk items
	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 DescribeRiskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskListResponseParams `json:"Response"`
}

func (r *DescribeRiskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallDetailRequestParams struct {
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

type DescribeRiskSyscallDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`
}

func (r *DescribeRiskSyscallDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskSyscallDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallDetailResponseParams struct {
	// Basic information of the event
	EventBaseInfo *RunTimeEventBaseInfo `json:"EventBaseInfo,omitnil,omitempty" name:"EventBaseInfo"`

	// Process information
	ProcessInfo *ProcessDetailInfo `json:"ProcessInfo,omitnil,omitempty" name:"ProcessInfo"`

	// Parent process information
	ParentProcessInfo *ProcessDetailBaseInfo `json:"ParentProcessInfo,omitnil,omitempty" name:"ParentProcessInfo"`

	// Event description
	EventDetail *RiskSyscallEventDescription `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

	// Ancestor process information
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessInfo *ProcessBaseInfo `json:"AncestorProcessInfo,omitnil,omitempty" name:"AncestorProcessInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskSyscallDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskSyscallDetailResponseParams `json:"Response"`
}

func (r *DescribeRiskSyscallDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallEventsExportRequestParams struct {
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type DescribeRiskSyscallEventsExportRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

func (r *DescribeRiskSyscallEventsExportRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallEventsExportRequest) 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, "ExportField")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskSyscallEventsExportRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallEventsExportResponseParams struct {
	// Excel download URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	DownloadUrl *string `json:"DownloadUrl,omitnil,omitempty" name:"DownloadUrl"`

	// Task ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskSyscallEventsExportResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskSyscallEventsExportResponseParams `json:"Response"`
}

func (r *DescribeRiskSyscallEventsExportResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallEventsExportResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallEventsRequestParams struct {
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRiskSyscallEventsRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRiskSyscallEventsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallEventsRequest) 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", "DescribeRiskSyscallEventsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallEventsResponseParams struct {
	// Total number of events
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Array of high-risk syscalls
	EventSet []*RiskSyscallEventInfo `json:"EventSet,omitnil,omitempty" name:"EventSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskSyscallEventsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskSyscallEventsResponseParams `json:"Response"`
}

func (r *DescribeRiskSyscallEventsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallEventsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallNamesRequestParams struct {

}

type DescribeRiskSyscallNamesRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeRiskSyscallNamesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallNamesRequest) 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", "DescribeRiskSyscallNamesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallNamesResponseParams struct {
	// Total number of events
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of syscall names
	SyscallNames []*string `json:"SyscallNames,omitnil,omitempty" name:"SyscallNames"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskSyscallNamesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskSyscallNamesResponseParams `json:"Response"`
}

func (r *DescribeRiskSyscallNamesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallNamesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallWhiteListDetailRequestParams struct {
	// Allowed item ID
	WhiteListId *string `json:"WhiteListId,omitnil,omitempty" name:"WhiteListId"`
}

type DescribeRiskSyscallWhiteListDetailRequest struct {
	*tchttp.BaseRequest
	
	// Allowed item ID
	WhiteListId *string `json:"WhiteListId,omitnil,omitempty" name:"WhiteListId"`
}

func (r *DescribeRiskSyscallWhiteListDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallWhiteListDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "WhiteListId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRiskSyscallWhiteListDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallWhiteListDetailResponseParams struct {
	// Basic information of the allowlist
	WhiteListDetailInfo *RiskSyscallWhiteListInfo `json:"WhiteListDetailInfo,omitnil,omitempty" name:"WhiteListDetailInfo"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskSyscallWhiteListDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskSyscallWhiteListDetailResponseParams `json:"Response"`
}

func (r *DescribeRiskSyscallWhiteListDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallWhiteListDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallWhiteListsRequestParams struct {
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeRiskSyscallWhiteListsRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter parameter. "Filters":[{"Name":"Status","Values":["2"]}]
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeRiskSyscallWhiteListsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallWhiteListsRequest) 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", "DescribeRiskSyscallWhiteListsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeRiskSyscallWhiteListsResponseParams struct {
	// Total number of events
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Allowlist
	WhiteListSet []*RiskSyscallWhiteListBaseInfo `json:"WhiteListSet,omitnil,omitempty" name:"WhiteListSet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeRiskSyscallWhiteListsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeRiskSyscallWhiteListsResponseParams `json:"Response"`
}

func (r *DescribeRiskSyscallWhiteListsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeRiskSyscallWhiteListsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanIgnoreVulListRequestParams struct {
	// 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"`

	// Filter
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>VulName- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order. Valid values: `DESC`, `ASC`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `UpdateTime`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeScanIgnoreVulListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>VulName- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order. Valid values: `DESC`, `ASC`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `UpdateTime`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeScanIgnoreVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanIgnoreVulListRequest) 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", "DescribeScanIgnoreVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeScanIgnoreVulListResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of vulnerabilities
	List []*ScanIgnoreVul `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 DescribeScanIgnoreVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeScanIgnoreVulListResponseParams `json:"Response"`
}

func (r *DescribeScanIgnoreVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeScanIgnoreVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSearchExportListRequestParams struct {
	// ES query condition in JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`
}

type DescribeSearchExportListRequest struct {
	*tchttp.BaseRequest
	
	// ES query condition in JSON
	Query *string `json:"Query,omitnil,omitempty" name:"Query"`
}

func (r *DescribeSearchExportListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSearchExportListRequest) 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", "DescribeSearchExportListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSearchExportListResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSearchExportListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSearchExportListResponseParams `json:"Response"`
}

func (r *DescribeSearchExportListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSearchExportListResponse) 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 {
	// Historical search records, the latest ten of which are retained.
	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. 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 DescribeSearchTemplatesRequest struct {
	*tchttp.BaseRequest
	
	// 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 *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 DescribeSecEventsTendencyRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeSecEventsTendencyRequest 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 *DescribeSecEventsTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecEventsTendencyRequest) 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", "DescribeSecEventsTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecEventsTendencyResponseParams struct {
	// List of trends of security events at runtime
	EventTendencySet []*SecTendencyEventInfo `json:"EventTendencySet,omitnil,omitempty" name:"EventTendencySet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecEventsTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecEventsTendencyResponseParams `json:"Response"`
}

func (r *DescribeSecEventsTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecEventsTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogAlertMsgRequestParams struct {
	// Alert type
	// Log storage alert: log_reserve_full
	// Log storage period alert: log_save_day_limit
	// Unavailable Kafka instance/public domain name: kafka_instance_domain_unavailable
	// Incorrect Kafka username/password: kafka_user_passwd_wrong
	// Kafka backend error field: kafka_field_wrong
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeSecLogAlertMsgRequest struct {
	*tchttp.BaseRequest
	
	// Alert type
	// Log storage alert: log_reserve_full
	// Log storage period alert: log_save_day_limit
	// Unavailable Kafka instance/public domain name: kafka_instance_domain_unavailable
	// Incorrect Kafka username/password: kafka_user_passwd_wrong
	// Kafka backend error field: kafka_field_wrong
	Type []*string `json:"Type,omitnil,omitempty" name:"Type"`
}

func (r *DescribeSecLogAlertMsgRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogAlertMsgRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Type")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecLogAlertMsgRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogAlertMsgResponseParams struct {
	// Alert message queue
	List []*SecLogAlertMsgInfo `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 DescribeSecLogAlertMsgResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogAlertMsgResponseParams `json:"Response"`
}

func (r *DescribeSecLogAlertMsgResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogAlertMsgResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogCleanSettingInfoRequestParams struct {

}

type DescribeSecLogCleanSettingInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecLogCleanSettingInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogCleanSettingInfoRequest) 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", "DescribeSecLogCleanSettingInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogCleanSettingInfoResponseParams struct {
	// Minimum storage for triggering clearing
	ReservesLimit *uint64 `json:"ReservesLimit,omitnil,omitempty" name:"ReservesLimit"`

	// Storage limit for stopping clearing
	ReservesDeadline *uint64 `json:"ReservesDeadline,omitnil,omitempty" name:"ReservesDeadline"`

	// Storage period for triggering clearing
	DayLimit *uint64 `json:"DayLimit,omitnil,omitempty" name:"DayLimit"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecLogCleanSettingInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogCleanSettingInfoResponseParams `json:"Response"`
}

func (r *DescribeSecLogCleanSettingInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogCleanSettingInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryClsOptionsRequestParams struct {
	// Region
	ClsRegion *string `json:"ClsRegion,omitnil,omitempty" name:"ClsRegion"`
}

type DescribeSecLogDeliveryClsOptionsRequest struct {
	*tchttp.BaseRequest
	
	// Region
	ClsRegion *string `json:"ClsRegion,omitnil,omitempty" name:"ClsRegion"`
}

func (r *DescribeSecLogDeliveryClsOptionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryClsOptionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClsRegion")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecLogDeliveryClsOptionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryClsOptionsResponseParams struct {
	// List of optional CLS logsets, which is returned only when `ClsRegion` is not empty.
	LogSetList []*ClsLogsetInfo `json:"LogSetList,omitnil,omitempty" name:"LogSetList"`

	// List of optional regions, which is returned only when `ClsRegion` is empty.
	RegionList []*RegionInfo `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 DescribeSecLogDeliveryClsOptionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogDeliveryClsOptionsResponseParams `json:"Response"`
}

func (r *DescribeSecLogDeliveryClsOptionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryClsOptionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryClsSettingRequestParams struct {

}

type DescribeSecLogDeliveryClsSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecLogDeliveryClsSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryClsSettingRequest) 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", "DescribeSecLogDeliveryClsSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryClsSettingResponseParams struct {
	// List of log types
	LogTypeList []*SecLogDeliveryClsSettingInfo `json:"LogTypeList,omitnil,omitempty" name:"LogTypeList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecLogDeliveryClsSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogDeliveryClsSettingResponseParams `json:"Response"`
}

func (r *DescribeSecLogDeliveryClsSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryClsSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryKafkaOptionsRequestParams struct {
	// Region. If this field was left blank, return all available regions.
	RegionID *string `json:"RegionID,omitnil,omitempty" name:"RegionID"`
}

type DescribeSecLogDeliveryKafkaOptionsRequest struct {
	*tchttp.BaseRequest
	
	// Region. If this field was left blank, return all available regions.
	RegionID *string `json:"RegionID,omitnil,omitempty" name:"RegionID"`
}

func (r *DescribeSecLogDeliveryKafkaOptionsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryKafkaOptionsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RegionID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecLogDeliveryKafkaOptionsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryKafkaOptionsResponseParams struct {
	// Instance list
	InstanceList []*CKafkaInstanceInfo `json:"InstanceList,omitnil,omitempty" name:"InstanceList"`

	// Region list
	RegionList []*RegionInfo `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 DescribeSecLogDeliveryKafkaOptionsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogDeliveryKafkaOptionsResponseParams `json:"Response"`
}

func (r *DescribeSecLogDeliveryKafkaOptionsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryKafkaOptionsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryKafkaSettingRequestParams struct {

}

type DescribeSecLogDeliveryKafkaSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecLogDeliveryKafkaSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryKafkaSettingRequest) 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", "DescribeSecLogDeliveryKafkaSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogDeliveryKafkaSettingResponseParams struct {
	// Message queue instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Message queue instance name
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Domain
	// Note: This field may return null, indicating that no valid values can be obtained.
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// List of log types
	// Note: This field may return null, indicating that no valid values can be obtained.
	LogTypeList []*SecLogDeliveryKafkaSettingInfo `json:"LogTypeList,omitnil,omitempty" name:"LogTypeList"`

	// Username
	// Note: This field may return null, indicating that no valid values can be obtained.
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Region ID
	// Note: This field may return `null`, indicating that no valid value was found.
	RegionID *string `json:"RegionID,omitnil,omitempty" name:"RegionID"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecLogDeliveryKafkaSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogDeliveryKafkaSettingResponseParams `json:"Response"`
}

func (r *DescribeSecLogDeliveryKafkaSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogDeliveryKafkaSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogJoinObjectListRequestParams struct {
	// Log type
	// Container bash: "container_bash",
	// Container startup: "container_launch",
	// K8s API: "k8s_api"
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// 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"`

	// Filters.
	// <li>`Status` - String - Optional - Host status</li>
	// <li>`HostIP` - String - Optional - Private IP of the host</li>
	// <li>`PublicIP` - String - Optional - Public IP of the host</li>
	// <li>`HostName - String - Optional - Host name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeSecLogJoinObjectListRequest struct {
	*tchttp.BaseRequest
	
	// Log type
	// Container bash: "container_bash",
	// Container startup: "container_launch",
	// K8s API: "k8s_api"
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// 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"`

	// Filters.
	// <li>`Status` - String - Optional - Host status</li>
	// <li>`HostIP` - String - Optional - Private IP of the host</li>
	// <li>`PublicIP` - String - Optional - Public IP of the host</li>
	// <li>`HostName - String - Optional - Host name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeSecLogJoinObjectListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogJoinObjectListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LogType")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSecLogJoinObjectListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogJoinObjectListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of accessed objects
	List []*SecLogJoinObjectInfo `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 DescribeSecLogJoinObjectListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogJoinObjectListResponseParams `json:"Response"`
}

func (r *DescribeSecLogJoinObjectListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogJoinObjectListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogJoinTypeListRequestParams struct {

}

type DescribeSecLogJoinTypeListRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecLogJoinTypeListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogJoinTypeListRequest) 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", "DescribeSecLogJoinTypeListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogJoinTypeListResponseParams struct {
	// List of log access types
	List []*SecLogJoinInfo `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 DescribeSecLogJoinTypeListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogJoinTypeListResponseParams `json:"Response"`
}

func (r *DescribeSecLogJoinTypeListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogJoinTypeListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogKafkaUINRequestParams struct {

}

type DescribeSecLogKafkaUINRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecLogKafkaUINRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogKafkaUINRequest) 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", "DescribeSecLogKafkaUINRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogKafkaUINResponseParams struct {
	// Target UIN
	// Note: This field may return null, indicating that no valid values can be obtained.
	DstUIN *string `json:"DstUIN,omitnil,omitempty" name:"DstUIN"`

	// Licensing status
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *bool `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 DescribeSecLogKafkaUINResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogKafkaUINResponseParams `json:"Response"`
}

func (r *DescribeSecLogKafkaUINResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogKafkaUINResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogVasInfoRequestParams struct {

}

type DescribeSecLogVasInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeSecLogVasInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogVasInfoRequest) 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", "DescribeSecLogVasInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSecLogVasInfoResponseParams struct {
	// Purchase status
	// `Pending`: To be purchased.
	// `Normal`: Purchased.
	// `Isolate`: Isolated.
	BuyStatus *string `json:"BuyStatus,omitnil,omitempty" name:"BuyStatus"`

	// Storage period in months
	LogSaveMonth *int64 `json:"LogSaveMonth,omitnil,omitempty" name:"LogSaveMonth"`

	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Storage capacity (GB)
	LogCapacity *uint64 `json:"LogCapacity,omitnil,omitempty" name:"LogCapacity"`

	// Resource ID
	ResourceID *string `json:"ResourceID,omitnil,omitempty" name:"ResourceID"`

	// Whether it has been purchased before. Valid values: `false` (no); `true` (yes).
	IsPurchased *bool `json:"IsPurchased,omitnil,omitempty" name:"IsPurchased"`

	// Trial storage capacity (GB)
	TrialCapacity *uint64 `json:"TrialCapacity,omitnil,omitempty" name:"TrialCapacity"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeSecLogVasInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSecLogVasInfoResponseParams `json:"Response"`
}

func (r *DescribeSecLogVasInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSecLogVasInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSupportDefenceVulRequestParams struct {
	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Disclosure time: `SubmitTime`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeSupportDefenceVulRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Disclosure time: `SubmitTime`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeSupportDefenceVulRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSupportDefenceVulRequest) 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", "DescribeSupportDefenceVulRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSupportDefenceVulResponseParams struct {
	// List of vulnerabilities that can be prevented
	List []*SupportDefenceVul `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 DescribeSupportDefenceVulResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSupportDefenceVulResponseParams `json:"Response"`
}

func (r *DescribeSupportDefenceVulResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSupportDefenceVulResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSystemVulListRequestParams struct {
	// 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"`

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeSystemVulListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeSystemVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSystemVulListRequest) 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", "DescribeSystemVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeSystemVulListResponseParams struct {
	// Total number of vulnerabilities
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of vulnerabilities
	List []*VulInfo `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 DescribeSystemVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSystemVulListResponseParams `json:"Response"`
}

func (r *DescribeSystemVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeSystemVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTaskResultSummaryRequestParams struct {

}

type DescribeTaskResultSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeTaskResultSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTaskResultSummaryRequest) 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", "DescribeTaskResultSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTaskResultSummaryResponseParams struct {
	// Number of nodes affected by critical risks in the last seven days
	SeriousRiskNodeCount []*uint64 `json:"SeriousRiskNodeCount,omitnil,omitempty" name:"SeriousRiskNodeCount"`

	// Number of nodes affected by high risks in the last seven days
	HighRiskNodeCount []*uint64 `json:"HighRiskNodeCount,omitnil,omitempty" name:"HighRiskNodeCount"`

	// Number of nodes affected by medium risks in the last seven days
	MiddleRiskNodeCount []*uint64 `json:"MiddleRiskNodeCount,omitnil,omitempty" name:"MiddleRiskNodeCount"`

	// Number of nodes affected by prompt risks in the last seven days
	HintRiskNodeCount []*uint64 `json:"HintRiskNodeCount,omitnil,omitempty" name:"HintRiskNodeCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTaskResultSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTaskResultSummaryResponseParams `json:"Response"`
}

func (r *DescribeTaskResultSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTaskResultSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTcssSummaryRequestParams struct {

}

type DescribeTcssSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeTcssSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTcssSummaryRequest) 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", "DescribeTcssSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeTcssSummaryResponseParams struct {
	// Total number of images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of scanned images
	ScannedImageCnt *uint64 `json:"ScannedImageCnt,omitnil,omitempty" name:"ScannedImageCnt"`

	// Number of images to be scanned
	UnScannedImageCnt *uint64 `json:"UnScannedImageCnt,omitnil,omitempty" name:"UnScannedImageCnt"`

	// Number of local images
	LocalImageCnt *uint64 `json:"LocalImageCnt,omitnil,omitempty" name:"LocalImageCnt"`

	// Number of repository images
	RepositoryImageCnt *uint64 `json:"RepositoryImageCnt,omitnil,omitempty" name:"RepositoryImageCnt"`

	// Number of local images at risk
	RiskLocalImageCnt *uint64 `json:"RiskLocalImageCnt,omitnil,omitempty" name:"RiskLocalImageCnt"`

	// Number of repository images at risk
	RiskRepositoryImageCnt *uint64 `json:"RiskRepositoryImageCnt,omitnil,omitempty" name:"RiskRepositoryImageCnt"`

	// Number of containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// Number of containers at risk
	RiskContainerCnt *uint64 `json:"RiskContainerCnt,omitnil,omitempty" name:"RiskContainerCnt"`

	// Number of clusters
	ClusterCnt *uint64 `json:"ClusterCnt,omitnil,omitempty" name:"ClusterCnt"`

	// Number of clusters at risk
	RiskClusterCnt *uint64 `json:"RiskClusterCnt,omitnil,omitempty" name:"RiskClusterCnt"`

	// Number of vulnerabilities to be scanned
	UnScannedVulCnt *uint64 `json:"UnScannedVulCnt,omitnil,omitempty" name:"UnScannedVulCnt"`

	// Number of risk vulnerabilities
	RiskVulCnt *uint64 `json:"RiskVulCnt,omitnil,omitempty" name:"RiskVulCnt"`

	// Number of security baseline items to be scanned
	UnScannedBaseLineCnt *uint64 `json:"UnScannedBaseLineCnt,omitnil,omitempty" name:"UnScannedBaseLineCnt"`

	// Number of security baseline risks
	RiskBaseLineCnt *uint64 `json:"RiskBaseLineCnt,omitnil,omitempty" name:"RiskBaseLineCnt"`

	// Number of pending (high-risk) events at runtime
	RuntimeUnhandleEventCnt *uint64 `json:"RuntimeUnhandleEventCnt,omitnil,omitempty" name:"RuntimeUnhandleEventCnt"`

	// Number of clusters to be scanned
	UnScannedClusterCnt *uint64 `json:"UnScannedClusterCnt,omitnil,omitempty" name:"UnScannedClusterCnt"`

	// Whether images are scanned
	ScanImageStatus *bool `json:"ScanImageStatus,omitnil,omitempty" name:"ScanImageStatus"`

	// Whether clusters are scanned
	ScanClusterStatus *bool `json:"ScanClusterStatus,omitnil,omitempty" name:"ScanClusterStatus"`

	// Whether baseline items are scanned
	ScanBaseLineStatus *bool `json:"ScanBaseLineStatus,omitnil,omitempty" name:"ScanBaseLineStatus"`

	// Whether vulnerabilities are scanned for
	ScanVulStatus *bool `json:"ScanVulStatus,omitnil,omitempty" name:"ScanVulStatus"`

	// Number of images affected by vulnerabilities
	VulRiskImageCnt *uint64 `json:"VulRiskImageCnt,omitnil,omitempty" name:"VulRiskImageCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeTcssSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeTcssSummaryResponseParams `json:"Response"`
}

func (r *DescribeTcssSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeTcssSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUnauthorizedCoresTendencyRequestParams struct {

}

type DescribeUnauthorizedCoresTendencyRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeUnauthorizedCoresTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUnauthorizedCoresTendencyRequest) 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", "DescribeUnauthorizedCoresTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUnauthorizedCoresTendencyResponseParams struct {
	// Trend of unlicensed cores
	List []*UnauthorizedCoresTendency `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 DescribeUnauthorizedCoresTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeUnauthorizedCoresTendencyResponseParams `json:"Response"`
}

func (r *DescribeUnauthorizedCoresTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUnauthorizedCoresTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUnfinishRefreshTaskRequestParams struct {

}

type DescribeUnfinishRefreshTaskRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeUnfinishRefreshTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUnfinishRefreshTaskRequest) 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", "DescribeUnfinishRefreshTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUnfinishRefreshTaskResponseParams struct {
	// ID of the last task
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status. Valid values: `Task_New`, `Task_Running`, `Task_Finish`, `Task_Error`, `Task_NoExist`. `Task_New` and `Task_Running` indicate that a task exists and no new task can be distributed.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeUnfinishRefreshTaskResponse struct {
	*tchttp.BaseResponse
	Response *DescribeUnfinishRefreshTaskResponseParams `json:"Response"`
}

func (r *DescribeUnfinishRefreshTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUnfinishRefreshTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUserClusterRequestParams struct {
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeUserClusterRequest struct {
	*tchttp.BaseRequest
	
	// Offset
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of records per query
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Name - String
	// Name. Valid values: `ClusterName`, `ClusterId`, `ClusterType`, `Region`, `ClusterCheckMode`, `ClusterAutoCheck`.
	Filters []*ComplianceFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeUserClusterRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUserClusterRequest) 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, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeUserClusterRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeUserClusterResponseParams struct {
	// Total number of clusters
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Cluster details
	ClusterInfoList []*ClusterInfoItem `json:"ClusterInfoList,omitnil,omitempty" name:"ClusterInfoList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeUserClusterResponse struct {
	*tchttp.BaseResponse
	Response *DescribeUserClusterResponseParams `json:"Response"`
}

func (r *DescribeUserClusterResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeUserClusterResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeValueAddedSrvInfoRequestParams struct {

}

type DescribeValueAddedSrvInfoRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeValueAddedSrvInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeValueAddedSrvInfoRequest) 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", "DescribeValueAddedSrvInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeValueAddedSrvInfoResponseParams struct {
	// Number of unlicensed repository images
	RegistryImageCnt *uint64 `json:"RegistryImageCnt,omitnil,omitempty" name:"RegistryImageCnt"`

	// Number of unlicensed local images
	LocalImageCnt *uint64 `json:"LocalImageCnt,omitnil,omitempty" name:"LocalImageCnt"`

	// Number of unused image security scan licenses
	UnusedAuthorizedCnt *uint64 `json:"UnusedAuthorizedCnt,omitnil,omitempty" name:"UnusedAuthorizedCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeValueAddedSrvInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeValueAddedSrvInfoResponseParams `json:"Response"`
}

func (r *DescribeValueAddedSrvInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeValueAddedSrvInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSampleDetailRequestParams struct {
	// MD5 checksum of the file
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`
}

type DescribeVirusAutoIsolateSampleDetailRequest struct {
	*tchttp.BaseRequest
	
	// MD5 checksum of the file
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`
}

func (r *DescribeVirusAutoIsolateSampleDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSampleDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MD5")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVirusAutoIsolateSampleDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSampleDetailResponseParams struct {
	// MD5 checksum of the file
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// File size (B)
	// Note: This field may return null, indicating that no valid values can be obtained.
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Virus name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Risk level. Valid values: `RISK_CRITICAL`, `RISK_HIGH`, `RISK_MEDIUM`, `RISK_LOW`, `RISK_NOTICE`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Anti-virus engine
	// Note: This field may return null, indicating that no valid values can be obtained.
	KillEngine []*string `json:"KillEngine,omitnil,omitempty" name:"KillEngine"`

	// Tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Event description
	// Note: This field may return null, indicating that no valid values can be obtained.
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Reference link
	// Note: This field may return null, indicating that no valid values can be obtained.
	ReferenceLink *string `json:"ReferenceLink,omitnil,omitempty" name:"ReferenceLink"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusAutoIsolateSampleDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusAutoIsolateSampleDetailResponseParams `json:"Response"`
}

func (r *DescribeVirusAutoIsolateSampleDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSampleDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSampleDownloadURLRequestParams struct {
	// MD5 checksum of the sample
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`
}

type DescribeVirusAutoIsolateSampleDownloadURLRequest struct {
	*tchttp.BaseRequest
	
	// MD5 checksum of the sample
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`
}

func (r *DescribeVirusAutoIsolateSampleDownloadURLRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSampleDownloadURLRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MD5")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVirusAutoIsolateSampleDownloadURLRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSampleDownloadURLResponseParams struct {
	// Sample download URL
	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 DescribeVirusAutoIsolateSampleDownloadURLResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusAutoIsolateSampleDownloadURLResponseParams `json:"Response"`
}

func (r *DescribeVirusAutoIsolateSampleDownloadURLResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSampleDownloadURLResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSampleListRequestParams struct {
	// 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"`

	// Filters.
	// <li>`MD5` - String - Optional - md5</li>
	// <li>`AutoIsolateSwitch` - String - Optional - Automatic isolation switch</li>
	// <li>`VirusName` - String - Optional - Virus name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeVirusAutoIsolateSampleListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filters.
	// <li>`MD5` - String - Optional - md5</li>
	// <li>`AutoIsolateSwitch` - String - Optional - Automatic isolation switch</li>
	// <li>`VirusName` - String - Optional - Virus name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeVirusAutoIsolateSampleListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSampleListRequest) 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", "DescribeVirusAutoIsolateSampleListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSampleListResponseParams struct {
	// Total number
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of automatically isolated trojan samples
	List []*VirusAutoIsolateSampleInfo `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 DescribeVirusAutoIsolateSampleListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusAutoIsolateSampleListResponseParams `json:"Response"`
}

func (r *DescribeVirusAutoIsolateSampleListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSampleListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSettingRequestParams struct {

}

type DescribeVirusAutoIsolateSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVirusAutoIsolateSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSettingRequest) 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", "DescribeVirusAutoIsolateSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusAutoIsolateSettingResponseParams struct {
	// Automatic isolation switch. Valid values: `true` (on); `false` (off).
	AutoIsolateSwitch *bool `json:"AutoIsolateSwitch,omitnil,omitempty" name:"AutoIsolateSwitch"`

	// Whether the process associated with the isolated file is interrupted. Valid values: `true` (yes); `false` (no).
	IsKillProgress *bool `json:"IsKillProgress,omitnil,omitempty" name:"IsKillProgress"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusAutoIsolateSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusAutoIsolateSettingResponseParams `json:"Response"`
}

func (r *DescribeVirusAutoIsolateSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusAutoIsolateSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusDetailRequestParams struct {
	// Trojan file ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type DescribeVirusDetailRequest struct {
	*tchttp.BaseRequest
	
	// Trojan file ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *DescribeVirusDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusDetailRequest) 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", "DescribeVirusDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusDetailResponseParams struct {
	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Trojan file size
	// Note: This field may return null, indicating that no valid values can be obtained.
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Trojan file path
	// Note: This field may return null, indicating that no valid values can be obtained.
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Last generation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Virus name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Risk level. Valid values: `RISK_CRITICAL`, `RISK_HIGH`, `RISK_MEDIUM`, `RISK_LOW`, `RISK_NOTICE`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Container name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Container ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Server name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Server ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostId *string `json:"HostId,omitnil,omitempty" name:"HostId"`

	// Process name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process path
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Process MD5
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessMd5 *string `json:"ProcessMd5,omitnil,omitempty" name:"ProcessMd5"`

	// Process ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessId *uint64 `json:"ProcessId,omitnil,omitempty" name:"ProcessId"`

	// Process parameter
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessArgv *string `json:"ProcessArgv,omitnil,omitempty" name:"ProcessArgv"`

	// Process chain
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessChan *string `json:"ProcessChan,omitnil,omitempty" name:"ProcessChan"`

	// Process group
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessAccountGroup *string `json:"ProcessAccountGroup,omitnil,omitempty" name:"ProcessAccountGroup"`

	// Process initiator
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessStartAccount *string `json:"ProcessStartAccount,omitnil,omitempty" name:"ProcessStartAccount"`

	// Process file permission
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessFileAuthority *string `json:"ProcessFileAuthority,omitnil,omitempty" name:"ProcessFileAuthority"`

	// Source. Valid values: `0` (quick scan); `1` (scheduled scan); `2` (real-time monitoring).
	// Note: This field may return null, indicating that no valid values can be obtained.
	SourceType *int64 `json:"SourceType,omitnil,omitempty" name:"SourceType"`

	// Tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Event description
	// Note: This field may return null, indicating that no valid values can be obtained.
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Mark *string `json:"Mark,omitnil,omitempty" name:"Mark"`

	// Suspicious file name
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// MD5 checksum of the file
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileMd5 *string `json:"FileMd5,omitnil,omitempty" name:"FileMd5"`

	// Event type
	// Note: This field may return null, indicating that no valid values can be obtained.
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Cluster name
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// `DEAL_NONE`: Pending.
	// `DEAL_IGNORE`: Ignored.
	// `DEAL_ADD_WHITELIST`: Allowed.
	// `DEAL_DEL`: Deleted.
	// `DEAL_ISOLATE`: Isolated.
	// `DEAL_ISOLATING`: Isolating.
	// `DEAL_ISOLATE_FAILED`: Isolation failed.
	// `DEAL_RECOVERING`: Recovering.
	// `DEAL_RECOVER_FAILED`: Recovery failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Sub-status of the failure:
	// `FILE_NOT_FOUND`: The file does not exist.
	// `FILE_ABNORMAL`: The file is abnormal.
	// `FILE_ABNORMAL_DEAL_RECOVER`: The file is abnormal when recovered.
	// `BACKUP_FILE_NOT_FOUND`: The backup file does not exist.
	// `CONTAINER_NOT_FOUND_DEAL_ISOLATE`: The container does not exist during isolation.
	// `CONTAINER_NOT_FOUND_DEAL_RECOVER`: The container does not exist during recovery.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SubStatus *string `json:"SubStatus,omitnil,omitempty" name:"SubStatus"`

	// Private IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Public IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClientIP *string `json:"ClientIP,omitnil,omitempty" name:"ClientIP"`

	// Parent process initiator
	// Note: This field may return null, indicating that no valid values can be obtained.
	PProcessStartUser *string `json:"PProcessStartUser,omitnil,omitempty" name:"PProcessStartUser"`

	// User group of the parent process
	// Note: This field may return null, indicating that no valid values can be obtained.
	PProcessUserGroup *string `json:"PProcessUserGroup,omitnil,omitempty" name:"PProcessUserGroup"`

	// Path of the parent process
	// Note: This field may return null, indicating that no valid values can be obtained.
	PProcessPath *string `json:"PProcessPath,omitnil,omitempty" name:"PProcessPath"`

	// Command line parameters of the parent process
	// Note: This field may return null, indicating that no valid values can be obtained.
	PProcessParam *string `json:"PProcessParam,omitnil,omitempty" name:"PProcessParam"`

	// Ancestor process initiator
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessStartUser *string `json:"AncestorProcessStartUser,omitnil,omitempty" name:"AncestorProcessStartUser"`

	// Ancestor process user group
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessUserGroup *string `json:"AncestorProcessUserGroup,omitnil,omitempty" name:"AncestorProcessUserGroup"`

	// Ancestor process path
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessPath *string `json:"AncestorProcessPath,omitnil,omitempty" name:"AncestorProcessPath"`

	// Command line parameters of the ancestor process
	// Note: This field may return null, indicating that no valid values can be obtained.
	AncestorProcessParam *string `json:"AncestorProcessParam,omitnil,omitempty" name:"AncestorProcessParam"`

	// Last processing time of the event
	// Note: This field may return null, indicating that no valid values can be obtained.
	OperationTime *string `json:"OperationTime,omitnil,omitempty" name:"OperationTime"`

	// Container isolation status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of container isolation
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Check platform
	// `1`: Tencent Cloud Security Engine.
	// `2`: tav.
	// `3`: binaryAi.
	// `4`: Unusual 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"`

	// File accessed time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileAccessTime *string `json:"FileAccessTime,omitnil,omitempty" name:"FileAccessTime"`

	// File modified time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileModifyTime *string `json:"FileModifyTime,omitnil,omitempty" name:"FileModifyTime"`

	// Node subnet ID
	NodeSubNetID *string `json:"NodeSubNetID,omitnil,omitempty" name:"NodeSubNetID"`

	// Node subnet name
	NodeSubNetName *string `json:"NodeSubNetName,omitnil,omitempty" name:"NodeSubNetName"`

	// Subnet IP range
	NodeSubNetCIDR *string `json:"NodeSubNetCIDR,omitnil,omitempty" name:"NodeSubNetCIDR"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod status
	PodStatus *string `json:"PodStatus,omitnil,omitempty" name:"PodStatus"`

	// UID of the node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`


	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`


	WorkloadType *string `json:"WorkloadType,omitnil,omitempty" name:"WorkloadType"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusDetailResponseParams `json:"Response"`
}

func (r *DescribeVirusDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusEventTendencyRequestParams struct {
	// Trend cycle in days. Default value: `7`.
	TendencyPeriod *uint64 `json:"TendencyPeriod,omitnil,omitempty" name:"TendencyPeriod"`
}

type DescribeVirusEventTendencyRequest struct {
	*tchttp.BaseRequest
	
	// Trend cycle in days. Default value: `7`.
	TendencyPeriod *uint64 `json:"TendencyPeriod,omitnil,omitempty" name:"TendencyPeriod"`
}

func (r *DescribeVirusEventTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusEventTendencyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TendencyPeriod")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVirusEventTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusEventTendencyResponseParams struct {
	// List of trends
	List []*VirusTendencyInfo `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 DescribeVirusEventTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusEventTendencyResponseParams `json:"Response"`
}

func (r *DescribeVirusEventTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusEventTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusListRequestParams struct {
	// 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"`

	// Filter
	// <li>FileName - String - Required: No - Filename</li>
	// <li>FilePath - String - Required: No - File path</li>
	// <li>VirusName - String - Required: No - Virus name</li>
	// <li>ContainerName- String - Required: Yes - Container name</li>
	// <li>ContainerId- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageId- string - Required: No - Image ID</li>
	// <li>IsRealTime- int - Required: No - Whether it is real-time monitoring data</li>
	// <li>TaskId- string - Required: No - Task ID</li>
	// <li>ContainerNetStatus - String - Required: No - Container network status. Valid values: `NORMAL`, `ISOLATED`, `ISOLATING`, `RESTORING`, `RESTORE_FAILED`.</li>
	// <li>TimeRange - string - Required: No - Time range ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>ContainerStatus - string - Required: No - Container status. Valid values: `RUNNING`, `PAUSED`, `STOPPED`, `CREATED`, `DESTROYED`, `RESTARTING`, `REMOVING`.</li>
	// <li>AutoIsolateMode - string - Required: No - Isolation method. Valid values: `MANUAL`, `AUTO`.</li>
	// <li>MD5 - string - Required: No - MD5</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVirusListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>FileName - String - Required: No - Filename</li>
	// <li>FilePath - String - Required: No - File path</li>
	// <li>VirusName - String - Required: No - Virus name</li>
	// <li>ContainerName- String - Required: Yes - Container name</li>
	// <li>ContainerId- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageId- string - Required: No - Image ID</li>
	// <li>IsRealTime- int - Required: No - Whether it is real-time monitoring data</li>
	// <li>TaskId- string - Required: No - Task ID</li>
	// <li>ContainerNetStatus - String - Required: No - Container network status. Valid values: `NORMAL`, `ISOLATED`, `ISOLATING`, `RESTORING`, `RESTORE_FAILED`.</li>
	// <li>TimeRange - string - Required: No - Time range ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>ContainerStatus - string - Required: No - Container status. Valid values: `RUNNING`, `PAUSED`, `STOPPED`, `CREATED`, `DESTROYED`, `RESTARTING`, `REMOVING`.</li>
	// <li>AutoIsolateMode - string - Required: No - Isolation method. Valid values: `MANUAL`, `AUTO`.</li>
	// <li>MD5 - string - Required: No - MD5</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVirusListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusListRequest) 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", "DescribeVirusListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusListResponseParams struct {
	// List of trojans
	List []*VirusInfo `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 DescribeVirusListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusListResponseParams `json:"Response"`
}

func (r *DescribeVirusListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusManualScanEstimateTimeoutRequestParams struct {
	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`
}

type DescribeVirusManualScanEstimateTimeoutRequest struct {
	*tchttp.BaseRequest
	
	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`
}

func (r *DescribeVirusManualScanEstimateTimeoutRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusManualScanEstimateTimeoutRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ScanRangeType")
	delete(f, "ScanRangeAll")
	delete(f, "ScanIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVirusManualScanEstimateTimeoutRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusManualScanEstimateTimeoutResponseParams struct {
	// Estimated timeout period (hour)
	Timeout *float64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Number of containers scanned in parallel on a single server
	ContainerScanConcurrencyCount *uint64 `json:"ContainerScanConcurrencyCount,omitnil,omitempty" name:"ContainerScanConcurrencyCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusManualScanEstimateTimeoutResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusManualScanEstimateTimeoutResponseParams `json:"Response"`
}

func (r *DescribeVirusManualScanEstimateTimeoutResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusManualScanEstimateTimeoutResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusMonitorSettingRequestParams struct {

}

type DescribeVirusMonitorSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVirusMonitorSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusMonitorSettingRequest) 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", "DescribeVirusMonitorSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusMonitorSettingResponseParams struct {
	// Whether to enable real-time monitoring
	EnableScan *bool `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Scan all paths
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Valid when `ScanPathAll` is `true`. Valid values of `ScanPathAll`: `0` (scan the following paths); `1` (scan all paths except the following).
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// Specified path to be excluded or scanned
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusMonitorSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusMonitorSettingResponseParams `json:"Response"`
}

func (r *DescribeVirusMonitorSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusMonitorSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusSampleDownloadUrlRequestParams struct {
	// Trojan ID
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

type DescribeVirusSampleDownloadUrlRequest struct {
	*tchttp.BaseRequest
	
	// Trojan ID
	ID *string `json:"ID,omitnil,omitempty" name:"ID"`
}

func (r *DescribeVirusSampleDownloadUrlRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusSampleDownloadUrlRequest) 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", "DescribeVirusSampleDownloadUrlRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusSampleDownloadUrlResponseParams struct {
	// Sample download URL
	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 DescribeVirusSampleDownloadUrlResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusSampleDownloadUrlResponseParams `json:"Response"`
}

func (r *DescribeVirusSampleDownloadUrlResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusSampleDownloadUrlResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusScanSettingRequestParams struct {

}

type DescribeVirusScanSettingRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVirusScanSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusScanSettingRequest) 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", "DescribeVirusScanSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusScanSettingResponseParams struct {
	// Whether to enable scheduled scan
	EnableScan *bool `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Check cycle in days
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Scan start time
	BeginScanAt *string `json:"BeginScanAt,omitnil,omitempty" name:"BeginScanAt"`

	// Scan all paths
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Valid when `ScanPathAll` is `true`. Valid values of `ScanPathAll`: `0` (scan the following paths); `1` (scan all paths except the following).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// Timeout period in hours
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`

	// Specified path to be excluded or scanned
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Timeout settings of quick check
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClickTimeout *uint64 `json:"ClickTimeout,omitnil,omitempty" name:"ClickTimeout"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusScanSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusScanSettingResponseParams `json:"Response"`
}

func (r *DescribeVirusScanSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusScanSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusScanTaskStatusRequestParams struct {
	// Task ID
	TaskID *string `json:"TaskID,omitnil,omitempty" name:"TaskID"`
}

type DescribeVirusScanTaskStatusRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskID *string `json:"TaskID,omitnil,omitempty" name:"TaskID"`
}

func (r *DescribeVirusScanTaskStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusScanTaskStatusRequest) 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", "DescribeVirusScanTaskStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusScanTaskStatusResponseParams struct {
	// Number of scanned containers
	ContainerTotal *uint64 `json:"ContainerTotal,omitnil,omitempty" name:"ContainerTotal"`

	// Number of containers at risk
	RiskContainerCnt *uint64 `json:"RiskContainerCnt,omitnil,omitempty" name:"RiskContainerCnt"`

	// Scan task status:
	// `SCAN_NONE`: None. 
	// `SCAN_SCANNING`: Scanning.
	// `SCAN_FINISH`: Scanned. 
	// `SCAN_TIMEOUT`: Scan timed out.
	// `SCAN_CANCELING`: Canceling.
	// `SCAN_CANCELED`: Canceled.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Scanning progress
	Schedule *uint64 `json:"Schedule,omitnil,omitempty" name:"Schedule"`

	// Number of scanned containers
	ContainerScanCnt *uint64 `json:"ContainerScanCnt,omitnil,omitempty" name:"ContainerScanCnt"`

	// Number of risks
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Remaining scan time
	LeftSeconds *uint64 `json:"LeftSeconds,omitnil,omitempty" name:"LeftSeconds"`

	// Scan start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Scan end time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Scan type. Valid values: `CYCLE` (periodic scan); `MANUAL` (manual scan).
	ScanType *string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusScanTaskStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusScanTaskStatusResponseParams `json:"Response"`
}

func (r *DescribeVirusScanTaskStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusScanTaskStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusScanTimeoutSettingRequestParams struct {
	// Scan type. Valid values: `0` (quick scan); `1` (scheduled scan).
	ScanType *uint64 `json:"ScanType,omitnil,omitempty" name:"ScanType"`
}

type DescribeVirusScanTimeoutSettingRequest struct {
	*tchttp.BaseRequest
	
	// Scan type. Valid values: `0` (quick scan); `1` (scheduled scan).
	ScanType *uint64 `json:"ScanType,omitnil,omitempty" name:"ScanType"`
}

func (r *DescribeVirusScanTimeoutSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusScanTimeoutSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ScanType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVirusScanTimeoutSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusScanTimeoutSettingResponseParams struct {
	// Timeout period in hours
	// Note: This field may return null, indicating that no valid values can be obtained.
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusScanTimeoutSettingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusScanTimeoutSettingResponseParams `json:"Response"`
}

func (r *DescribeVirusScanTimeoutSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusScanTimeoutSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusSummaryRequestParams struct {

}

type DescribeVirusSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVirusSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusSummaryRequest) 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", "DescribeVirusSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusSummaryResponseParams struct {
	// ID of the last scan task
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Number of containers affected by the trojan
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskContainerCnt *uint64 `json:"RiskContainerCnt,omitnil,omitempty" name:"RiskContainerCnt"`

	// Number of pending risks
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Update time of the virus library
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusDataBaseModifyTime *string `json:"VirusDataBaseModifyTime,omitnil,omitempty" name:"VirusDataBaseModifyTime"`

	// Increase in the number of containers affected by trojans from yesterday
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskContainerIncrease *int64 `json:"RiskContainerIncrease,omitnil,omitempty" name:"RiskContainerIncrease"`

	// Increase in the number of pending risks from yesterday
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskIncrease *int64 `json:"RiskIncrease,omitnil,omitempty" name:"RiskIncrease"`

	// Increase in the number of isolated events from yesterday
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsolateIncrease *int64 `json:"IsolateIncrease,omitnil,omitempty" name:"IsolateIncrease"`

	// Total number of isolated events
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsolateCnt *int64 `json:"IsolateCnt,omitnil,omitempty" name:"IsolateCnt"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVirusSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusSummaryResponseParams `json:"Response"`
}

func (r *DescribeVirusSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusTaskListRequestParams struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// 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"`

	// Filter
	// <li>ContainerName- String - Required: No - Container name</li>
	// <li>ContainerId - String - Required: No - Container ID</li>
	// <li>Hostname - String - Required: No - Server name</li>
	// <li>HostIp- String - Required: No - Server IP</li>
	// <li>ImageId- String - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>Status- String - Required: No - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeVirusTaskListRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// 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"`

	// Filter
	// <li>ContainerName- String - Required: No - Container name</li>
	// <li>ContainerId - String - Required: No - Container ID</li>
	// <li>Hostname - String - Required: No - Server name</li>
	// <li>HostIp- String - Required: No - Server IP</li>
	// <li>ImageId- String - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>Status- String - Required: No - Status</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

func (r *DescribeVirusTaskListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusTaskListRequest) 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")
	delete(f, "By")
	delete(f, "Order")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVirusTaskListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVirusTaskListResponseParams struct {
	// Virus scanning list
	List []*VirusTaskInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number (number of container tasks)
	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 DescribeVirusTaskListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVirusTaskListResponseParams `json:"Response"`
}

func (r *DescribeVirusTaskListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVirusTaskListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulContainerListRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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"`

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- String - Required: No - Container name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeVulContainerListRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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"`

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- String - Required: No - Container name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeVulContainerListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulContainerListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PocID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulContainerListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulContainerListResponseParams struct {
	// List of containers
	List []*VulAffectedContainerInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number of containers
	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 DescribeVulContainerListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulContainerListResponseParams `json:"Response"`
}

func (r *DescribeVulContainerListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulContainerListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceEventDetailRequestParams struct {
	// Event ID
	EventID *int64 `json:"EventID,omitnil,omitempty" name:"EventID"`
}

type DescribeVulDefenceEventDetailRequest struct {
	*tchttp.BaseRequest
	
	// Event ID
	EventID *int64 `json:"EventID,omitnil,omitempty" name:"EventID"`
}

func (r *DescribeVulDefenceEventDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceEventDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefenceEventDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceEventDetailResponseParams struct {
	// Exploit prevention event details
	EventDetail *VulDefenceEventDetail `json:"EventDetail,omitnil,omitempty" name:"EventDetail"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceEventDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceEventDetailResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceEventDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceEventDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceEventRequestParams struct {
	// Filter
	// <li>Status- String - Required: No - Plugin status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_IGNORE` (ignored); `EVENT_DEFENDED` (defended).</li>
	// <li>ContainerStatus- String - Required: No - Container status. Valid values: `CREATED` (created); `RUNNING` (running); `PAUSED` (suspended); 	`STOPPED` (stopped); `RESTARTING` (restarting); `REMOVING` (removing); `DESTROYED` (terminated).</li>
	// <li>ContainerNetStatus- String - Required: No - Container network status. Valid values: `NORMAL` (not isolated); `ISOLATED` (isolated); `ISOLATE_FAILED` (isolation failed); `RESTORE_FAILED` (recovery failed); `RESTORING` (recovering); `ISOLATING` (isolating).</li>
	// <li>EventType - String - Required: No - Intrusion status. Valid values: `EVENT_DEFENDED` (defended successfully); `EVENT_ATTACK` (attack attempt).</li>
	// <li>TimeRange- String - Required: No - Time range. The first value indicates the start time, and the second the end time.</li>
	// <li>VulName- string - Required: No - Vulnerability name</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>SourceIP- string - Required: No - Attacker IP</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>HostName- string - Required: No - Server name</li>
	// <li>HostIP- string - Required: No - Private IP</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `EventCount` (number of events).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulDefenceEventRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>Status- String - Required: No - Plugin status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_IGNORE` (ignored); `EVENT_DEFENDED` (defended).</li>
	// <li>ContainerStatus- String - Required: No - Container status. Valid values: `CREATED` (created); `RUNNING` (running); `PAUSED` (suspended); 	`STOPPED` (stopped); `RESTARTING` (restarting); `REMOVING` (removing); `DESTROYED` (terminated).</li>
	// <li>ContainerNetStatus- String - Required: No - Container network status. Valid values: `NORMAL` (not isolated); `ISOLATED` (isolated); `ISOLATE_FAILED` (isolation failed); `RESTORE_FAILED` (recovery failed); `RESTORING` (recovering); `ISOLATING` (isolating).</li>
	// <li>EventType - String - Required: No - Intrusion status. Valid values: `EVENT_DEFENDED` (defended successfully); `EVENT_ATTACK` (attack attempt).</li>
	// <li>TimeRange- String - Required: No - Time range. The first value indicates the start time, and the second the end time.</li>
	// <li>VulName- string - Required: No - Vulnerability name</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>SourceIP- string - Required: No - Attacker IP</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>HostName- string - Required: No - Server name</li>
	// <li>HostIP- string - Required: No - Private IP</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `EventCount` (number of events).
	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, "Limit")
	delete(f, "Offset")
	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 {
	// List of exploit prevention events
	List []*VulDefenceEvent `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 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 DescribeVulDefenceEventTendencyRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeVulDefenceEventTendencyRequest 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 *DescribeVulDefenceEventTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceEventTendencyRequest) 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", "DescribeVulDefenceEventTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceEventTendencyResponseParams struct {
	// Trend of exploit prevention events
	DefendedList []*VulDefenceEventTendency `json:"DefendedList,omitnil,omitempty" name:"DefendedList"`

	// Trend of vulnerability attack events
	AttackList []*VulDefenceEventTendency `json:"AttackList,omitnil,omitempty" name:"AttackList"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulDefenceEventTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceEventTendencyResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceEventTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceEventTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceHostRequestParams struct {
	// Filter condition
	// <li>`Status`: String - Required: No - Plugin status. Values: `SUCCESS` (normal); `FAIL` (abnormal); `NO_DEFENCE` (not defended).</li>
	// <li>`HostName`: String - Required: No - Server/Super node name</li>
	// <li>`HostIP`: String - Required: No - Server IP </li>
	// <li>`NodeType`: String  - Required: No - Node type</li>
	// <li>`HostName` - String - Required: No - Super node name </li>
	// <li>`NodeSubNetCIDR`: String - Required: No - Super node CIDR block</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `ModifyTime` (update time); `CreateTime` (first enablement time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulDefenceHostRequest struct {
	*tchttp.BaseRequest
	
	// Filter condition
	// <li>`Status`: String - Required: No - Plugin status. Values: `SUCCESS` (normal); `FAIL` (abnormal); `NO_DEFENCE` (not defended).</li>
	// <li>`HostName`: String - Required: No - Server/Super node name</li>
	// <li>`HostIP`: String - Required: No - Server IP </li>
	// <li>`NodeType`: String  - Required: No - Node type</li>
	// <li>`HostName` - String - Required: No - Super node name </li>
	// <li>`NodeSubNetCIDR`: String - Required: No - Super node CIDR block</li>
	Filters []*RunTimeFilters `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 order. Valid values: `asc`, `desc`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field. Valid values: `ModifyTime` (update time); `CreateTime` (first enablement time).
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulDefenceHostRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceHostRequest) 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", "DescribeVulDefenceHostRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefenceHostResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of servers with exploit prevention
	List []*VulDefenceHost `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 DescribeVulDefenceHostResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefenceHostResponseParams `json:"Response"`
}

func (r *DescribeVulDefenceHostResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefenceHostResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginRequestParams struct {
	// Host ID or unique super node ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// 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"`

	// Filter condition
	// <li>
	// Status- String - Required: No - Plugin status. Valid values: `INJECTING` (injecting); `SUCCESS` (injected successfully); `FAIL` (injection failed); `TIMEOUT` (plugin timed out); `QUIT` (plugin exited).
	// </li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeVulDefencePluginRequest struct {
	*tchttp.BaseRequest
	
	// Host ID or unique super node ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// 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"`

	// Filter condition
	// <li>
	// Status- String - Required: No - Plugin status. Valid values: `INJECTING` (injecting); `SUCCESS` (injected successfully); `FAIL` (injection failed); `TIMEOUT` (plugin timed out); `QUIT` (plugin exited).
	// </li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeVulDefencePluginRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "HostID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDefencePluginRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDefencePluginResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of exploit prevention plugins
	List []*VulDefencePlugin `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 DescribeVulDefencePluginResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDefencePluginResponseParams `json:"Response"`
}

func (r *DescribeVulDefencePluginResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDefencePluginResponse) 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 {
	// Whether it is enabled. Valid values: `0` (disabled); `1` (enabled).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Scope of servers with exploit prevention enabled. Valid values: `0` (specified servers); `1` (all servers).
	Scope *int64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Number of servers with exploit prevention enabled
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Number of abnormal servers with exploit prevention enabled
	ExceptionHostCount *int64 `json:"ExceptionHostCount,omitnil,omitempty" name:"ExceptionHostCount"`

	// Specified servers with exploit prevention enabled
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIDs []*string `json:"HostIDs,omitnil,omitempty" name:"HostIDs"`

	// Total number of servers with TCSS activated
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostTotalCount *int64 `json:"HostTotalCount,omitnil,omitempty" name:"HostTotalCount"`

	// Number of vulnerabilities that can be prevented
	// Note: This field may return null, indicating that no valid values can be obtained.
	SupportDefenseVulCount *int64 `json:"SupportDefenseVulCount,omitnil,omitempty" name:"SupportDefenseVulCount"`

	// Number of normal nodes
	HostNodeCount *int64 `json:"HostNodeCount,omitnil,omitempty" name:"HostNodeCount"`

	// Super node scope
	SuperScope *int64 `json:"SuperScope,omitnil,omitempty" name:"SuperScope"`

	// Number of super nodes
	SuperNodeCount *int64 `json:"SuperNodeCount,omitnil,omitempty" name:"SuperNodeCount"`

	// List of super node IDs
	SuperNodeIds []*string `json:"SuperNodeIds,omitnil,omitempty" name:"SuperNodeIds"`

	// Total number of super nodes with TCSS activated
	NodeTotalCount *int64 `json:"NodeTotalCount,omitnil,omitempty" name:"NodeTotalCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other 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 DescribeVulDetailRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`
}

type DescribeVulDetailRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`
}

func (r *DescribeVulDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PocID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulDetailResponseParams struct {
	// Vulnerability details
	VulInfo *VulDetailInfo `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 DescribeVulDetailResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulDetailResponseParams `json:"Response"`
}

func (r *DescribeVulDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulIgnoreLocalImageListRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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 order. Valid values: `DESC`, `ASC`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `ImageSize`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulIgnoreLocalImageListRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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 order. Valid values: `DESC`, `ASC`.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field: `ImageSize`.
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulIgnoreLocalImageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulIgnoreLocalImageListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PocID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulIgnoreLocalImageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulIgnoreLocalImageListResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of images
	List []*VulIgnoreLocalImage `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 DescribeVulIgnoreLocalImageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulIgnoreLocalImageListResponseParams `json:"Response"`
}

func (r *DescribeVulIgnoreLocalImageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulIgnoreLocalImageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulIgnoreRegistryImageListRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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"`
}

type DescribeVulIgnoreRegistryImageListRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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"`
}

func (r *DescribeVulIgnoreRegistryImageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulIgnoreRegistryImageListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PocID")
	delete(f, "Limit")
	delete(f, "Offset")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulIgnoreRegistryImageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulIgnoreRegistryImageListResponseParams struct {
	// Total number
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of images
	List []*VulIgnoreRegistryImage `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 DescribeVulIgnoreRegistryImageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulIgnoreRegistryImageListResponseParams `json:"Response"`
}

func (r *DescribeVulIgnoreRegistryImageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulIgnoreRegistryImageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulImageListRequestParams struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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"`

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>HostIP- string - Required: No - Private IP</li>
	// <li>PublicIP- string - Required: No - Public IP</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>HostName- string - Required: No - Server name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulImageListRequest struct {
	*tchttp.BaseRequest
	
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// 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"`

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>HostIP- string - Required: No - Private IP</li>
	// <li>PublicIP- string - Required: No - Public IP</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>HostName- string - Required: No - Server name</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulImageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulImageListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PocID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulImageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulImageListResponseParams struct {
	// List of affected images
	List []*VulAffectedImageInfo `json:"List,omitnil,omitempty" name:"List"`

	// Total number of images
	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 DescribeVulImageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulImageListResponseParams `json:"Response"`
}

func (r *DescribeVulImageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulImageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulImageSummaryRequestParams struct {

}

type DescribeVulImageSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulImageSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulImageSummaryRequest) 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", "DescribeVulImageSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulImageSummaryResponseParams struct {
	// Number of images affected by critical or high-risk vulnerabilities
	SeriousVulImageCount *int64 `json:"SeriousVulImageCount,omitnil,omitempty" name:"SeriousVulImageCount"`

	// Number of scanned images
	ScannedImageCount *int64 `json:"ScannedImageCount,omitnil,omitempty" name:"ScannedImageCount"`

	// Total number of vulnerabilities
	VulTotalCount *int64 `json:"VulTotalCount,omitnil,omitempty" name:"VulTotalCount"`

	// Number of system vulnerabilities
	SysTemVulCount *int64 `json:"SysTemVulCount,omitnil,omitempty" name:"SysTemVulCount"`

	// Number of web application vulnerabilities
	WebVulCount *int64 `json:"WebVulCount,omitnil,omitempty" name:"WebVulCount"`

	// Number of licensed images
	AllAuthorizedImageCount *int64 `json:"AllAuthorizedImageCount,omitnil,omitempty" name:"AllAuthorizedImageCount"`

	// Number of emergency vulnerabilities
	EmergencyVulCount *int64 `json:"EmergencyVulCount,omitnil,omitempty" name:"EmergencyVulCount"`

	// Total number of vulnerabilities that can be scanned for
	SupportVulTotalCount *int64 `json:"SupportVulTotalCount,omitnil,omitempty" name:"SupportVulTotalCount"`

	// Vulnerability library update time
	VulLibraryUpdateTime *string `json:"VulLibraryUpdateTime,omitnil,omitempty" name:"VulLibraryUpdateTime"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulImageSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulImageSummaryResponseParams `json:"Response"`
}

func (r *DescribeVulImageSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulImageSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLevelImageSummaryRequestParams struct {

}

type DescribeVulLevelImageSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulLevelImageSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLevelImageSummaryRequest) 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", "DescribeVulLevelImageSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLevelImageSummaryResponseParams struct {
	// Percentage of high-risk vulnerabilities in the latest local images
	HighLevelVulLocalImagePercent *float64 `json:"HighLevelVulLocalImagePercent,omitnil,omitempty" name:"HighLevelVulLocalImagePercent"`

	// Percentage of medium-risk vulnerabilities in the latest local images
	MediumLevelVulLocalImagePercent *float64 `json:"MediumLevelVulLocalImagePercent,omitnil,omitempty" name:"MediumLevelVulLocalImagePercent"`

	// Percentage of low-risk vulnerabilities in the latest local images
	LowLevelVulLocalImagePercent *float64 `json:"LowLevelVulLocalImagePercent,omitnil,omitempty" name:"LowLevelVulLocalImagePercent"`

	// Percentage of critical vulnerabilities in the latest local images
	CriticalLevelVulLocalImagePercent *float64 `json:"CriticalLevelVulLocalImagePercent,omitnil,omitempty" name:"CriticalLevelVulLocalImagePercent"`

	// Number of affected local images on the latest version
	LocalNewestImageCount *int64 `json:"LocalNewestImageCount,omitnil,omitempty" name:"LocalNewestImageCount"`

	// Number of affected repository images on the latest version
	RegistryNewestImageCount *int64 `json:"RegistryNewestImageCount,omitnil,omitempty" name:"RegistryNewestImageCount"`

	// Percentage of high-risk vulnerabilities in the latest repository image
	HighLevelVulRegistryImagePercent *float64 `json:"HighLevelVulRegistryImagePercent,omitnil,omitempty" name:"HighLevelVulRegistryImagePercent"`

	// Percentage of medium-risk vulnerabilities in the latest repository image
	MediumLevelVulRegistryImagePercent *float64 `json:"MediumLevelVulRegistryImagePercent,omitnil,omitempty" name:"MediumLevelVulRegistryImagePercent"`

	// Percentage of low-risk vulnerabilities in the latest repository image
	LowLevelVulRegistryImagePercent *float64 `json:"LowLevelVulRegistryImagePercent,omitnil,omitempty" name:"LowLevelVulRegistryImagePercent"`

	// Percentage of critical vulnerabilities in the latest repository image
	CriticalLevelVulRegistryImagePercent *float64 `json:"CriticalLevelVulRegistryImagePercent,omitnil,omitempty" name:"CriticalLevelVulRegistryImagePercent"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulLevelImageSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulLevelImageSummaryResponseParams `json:"Response"`
}

func (r *DescribeVulLevelImageSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLevelImageSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLevelSummaryRequestParams struct {
	// Vulnerability type. Valid values: `SYSTEM` (system vulnerability); `WEB` (web application vulnerability); `EMERGENCY` (emergency vulnerability).
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`
}

type DescribeVulLevelSummaryRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability type. Valid values: `SYSTEM` (system vulnerability); `WEB` (web application vulnerability); `EMERGENCY` (emergency vulnerability).
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`
}

func (r *DescribeVulLevelSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLevelSummaryRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CategoryType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulLevelSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulLevelSummaryResponseParams struct {
	// Number of high-risk vulnerabilities
	HighLevelVulCount *int64 `json:"HighLevelVulCount,omitnil,omitempty" name:"HighLevelVulCount"`

	// Number of medium-risk vulnerabilities
	MediumLevelVulCount *int64 `json:"MediumLevelVulCount,omitnil,omitempty" name:"MediumLevelVulCount"`

	// Number of low-risk vulnerabilities
	LowLevelVulCount *int64 `json:"LowLevelVulCount,omitnil,omitempty" name:"LowLevelVulCount"`

	// Number of critical vulnerabilities
	CriticalLevelVulCount *int64 `json:"CriticalLevelVulCount,omitnil,omitempty" name:"CriticalLevelVulCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulLevelSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulLevelSummaryResponseParams `json:"Response"`
}

func (r *DescribeVulLevelSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulLevelSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulRegistryImageListRequestParams struct {
	// Vulnerability ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, defaults to 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter condition
	// `OnlyAffectedNewestImage`: (bool) Whether the latest image is affected.
	// `ImageDigest`: Image digest. Fuzzy query is supported.
	// `ImageId`: Image ID.
	// `Namespace`: Namespace. Fuzzy query is supported.
	// `ImageTag`: Image tag. Fuzzy query is supported.
	// `InstanceName`: Instance name. Fuzzy query is supported.
	// `ImageName`: Image name. Fuzzy query is supported.
	// `ImageRepoAddress`: Image address. Fuzzy query is supported.
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulRegistryImageListRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// The number of results returned. Default value: 10. Maximum value: 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset, defaults to 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Filter condition
	// `OnlyAffectedNewestImage`: (bool) Whether the latest image is affected.
	// `ImageDigest`: Image digest. Fuzzy query is supported.
	// `ImageId`: Image ID.
	// `Namespace`: Namespace. Fuzzy query is supported.
	// `ImageTag`: Image tag. Fuzzy query is supported.
	// `InstanceName`: Instance name. Fuzzy query is supported.
	// `ImageName`: Image name. Fuzzy query is supported.
	// `ImageRepoAddress`: Image address. Fuzzy query is supported.
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulRegistryImageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulRegistryImageListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PocID")
	delete(f, "Limit")
	delete(f, "Offset")
	delete(f, "Filters")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulRegistryImageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulRegistryImageListResponseParams struct {
	// Total number of images
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`


	List []*VulAffectedRegistryImageInfo `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 DescribeVulRegistryImageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulRegistryImageListResponseParams `json:"Response"`
}

func (r *DescribeVulRegistryImageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulRegistryImageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulScanAuthorizedImageSummaryRequestParams struct {

}

type DescribeVulScanAuthorizedImageSummaryRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeVulScanAuthorizedImageSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulScanAuthorizedImageSummaryRequest) 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", "DescribeVulScanAuthorizedImageSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulScanAuthorizedImageSummaryResponseParams struct {
	// Number of all licensed local images
	AllAuthorizedImageCount *int64 `json:"AllAuthorizedImageCount,omitnil,omitempty" name:"AllAuthorizedImageCount"`

	// Number of licensed but not scanned local images
	UnScanAuthorizedImageCount *int64 `json:"UnScanAuthorizedImageCount,omitnil,omitempty" name:"UnScanAuthorizedImageCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulScanAuthorizedImageSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulScanAuthorizedImageSummaryResponseParams `json:"Response"`
}

func (r *DescribeVulScanAuthorizedImageSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulScanAuthorizedImageSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulScanInfoRequestParams struct {
	// ID of the task to scan local images for vulnerabilities. If it is not specified, the ID of the last scan will be returned.
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// ID of the task to scan repository images for vulnerabilities. If it is not specified, the ID of the last scan will be returned.
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`
}

type DescribeVulScanInfoRequest struct {
	*tchttp.BaseRequest
	
	// ID of the task to scan local images for vulnerabilities. If it is not specified, the ID of the last scan will be returned.
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// ID of the task to scan repository images for vulnerabilities. If it is not specified, the ID of the last scan will be returned.
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`
}

func (r *DescribeVulScanInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulScanInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LocalTaskID")
	delete(f, "RegistryTaskID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulScanInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulScanInfoResponseParams struct {
	// Total number of local images scanned this time
	LocalImageScanCount *int64 `json:"LocalImageScanCount,omitnil,omitempty" name:"LocalImageScanCount"`

	// Number of ignored vulnerabilities
	IgnoreVulCount *int64 `json:"IgnoreVulCount,omitnil,omitempty" name:"IgnoreVulCount"`

	// Start time of the vulnerability scan
	ScanStartTime *string `json:"ScanStartTime,omitnil,omitempty" name:"ScanStartTime"`

	// End time of the vulnerability scan
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// Number of images found to be at risk
	FoundRiskImageCount *int64 `json:"FoundRiskImageCount,omitnil,omitempty" name:"FoundRiskImageCount"`

	// Number of vulnerabilities found in local images
	FoundVulCount *int64 `json:"FoundVulCount,omitnil,omitempty" name:"FoundVulCount"`

	// Scanning progress
	ScanProgress *float64 `json:"ScanProgress,omitnil,omitempty" name:"ScanProgress"`

	// Total number of repository images scanned this time
	RegistryImageScanCount *int64 `json:"RegistryImageScanCount,omitnil,omitempty" name:"RegistryImageScanCount"`

	// ID of the last task to scan local images for vulnerabilities
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// Scanning status. Valid values: `NOT_SCAN` (not scanned); `SCANNING` (scanning); `SCANNED` (scanned); `CANCELED` (stopped).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remaining time in seconds
	RemainingTime *float64 `json:"RemainingTime,omitnil,omitempty" name:"RemainingTime"`

	// ID of the last task to scan repository images for vulnerabilities
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`

	// Number of vulnerabilities found in the repository
	RegistryFoundVulCount *int64 `json:"RegistryFoundVulCount,omitnil,omitempty" name:"RegistryFoundVulCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulScanInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulScanInfoResponseParams `json:"Response"`
}

func (r *DescribeVulScanInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulScanInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulScanLocalImageListRequestParams struct {
	// Vulnerability scan task ID
	TaskID *int64 `json:"TaskID,omitnil,omitempty" name:"TaskID"`

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus- string - Required: No - Check status. Valid values: `WAIT_SCAN` (pending); `SCANNING` (checking); `SCANNED` (checked); `SCAN_ERR` (failed to check); `CANCELED` (check ended).</li>
	Filters []*RunTimeFilters `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 order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeVulScanLocalImageListRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability scan task ID
	TaskID *int64 `json:"TaskID,omitnil,omitempty" name:"TaskID"`

	// Filter
	// <li>OnlyAffectedNewestImage- Bool- Required: No - Show only vulnerabilities that affect the latest image tags</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ScanStatus- string - Required: No - Check status. Valid values: `WAIT_SCAN` (pending); `SCANNING` (checking); `SCANNED` (checked); `SCAN_ERR` (failed to check); `CANCELED` (check ended).</li>
	Filters []*RunTimeFilters `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 order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeVulScanLocalImageListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulScanLocalImageListRequest) 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")
	delete(f, "Order")
	delete(f, "By")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulScanLocalImageListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulScanLocalImageListResponseParams struct {
	// Total number of images
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of images
	List []*VulScanImageInfo `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 DescribeVulScanLocalImageListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulScanLocalImageListResponseParams `json:"Response"`
}

func (r *DescribeVulScanLocalImageListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulScanLocalImageListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulSummaryRequestParams struct {
	// Filter
	// <li>OnlyAffectedNewestImage- string- Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedContainer-string- Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>CategoryType- string - Required: No - Vulnerability type. Valid values: `SYSTEM` (system vulnerability); `WEB` (web application vulnerability); `ALL` (all vulnerabilities).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeVulSummaryRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>OnlyAffectedNewestImage- string- Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedContainer-string- Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>CategoryType- string - Required: No - Vulnerability type. Valid values: `SYSTEM` (system vulnerability); `WEB` (web application vulnerability); `ALL` (all vulnerabilities).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`
}

func (r *DescribeVulSummaryRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulSummaryRequest) 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", "DescribeVulSummaryRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulSummaryResponseParams struct {
	// Total number of vulnerabilities
	VulTotalCount *int64 `json:"VulTotalCount,omitnil,omitempty" name:"VulTotalCount"`

	// Number of critical and high-risk vulnerabilities
	SeriousVulCount *int64 `json:"SeriousVulCount,omitnil,omitempty" name:"SeriousVulCount"`

	// Number of high-priority vulnerabilities
	SuggestVulCount *int64 `json:"SuggestVulCount,omitnil,omitempty" name:"SuggestVulCount"`

	// Number of vulnerabilities with POC or EXP
	PocExpLevelVulCount *int64 `json:"PocExpLevelVulCount,omitnil,omitempty" name:"PocExpLevelVulCount"`

	// Number of vulnerabilities with remote EXP
	RemoteExpLevelVulCount *int64 `json:"RemoteExpLevelVulCount,omitnil,omitempty" name:"RemoteExpLevelVulCount"`

	// Number of images on the latest version affected by critical or high-risk vulnerabilities
	SeriousVulNewestImageCount *int64 `json:"SeriousVulNewestImageCount,omitnil,omitempty" name:"SeriousVulNewestImageCount"`

	// Number of high-priority system vulnerabilities
	SystemVulnerabilityFocusCount *int64 `json:"SystemVulnerabilityFocusCount,omitnil,omitempty" name:"SystemVulnerabilityFocusCount"`

	// Number of high-priority web vulnerabilities
	WebVulnerabilityFocusCount *int64 `json:"WebVulnerabilityFocusCount,omitnil,omitempty" name:"WebVulnerabilityFocusCount"`

	// Number of affected local images
	SeriousVulnerabilityLocalImageCount *int64 `json:"SeriousVulnerabilityLocalImageCount,omitnil,omitempty" name:"SeriousVulnerabilityLocalImageCount"`

	// Number of affected repository images
	SeriousVulnerabilityRegistryImageCount *int64 `json:"SeriousVulnerabilityRegistryImageCount,omitnil,omitempty" name:"SeriousVulnerabilityRegistryImageCount"`

	// Number of emergency vulnerabilities
	EmergencyVulnerabilityCount *int64 `json:"EmergencyVulnerabilityCount,omitnil,omitempty" name:"EmergencyVulnerabilityCount"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulSummaryResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulSummaryResponseParams `json:"Response"`
}

func (r *DescribeVulSummaryResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulSummaryResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTendencyRequestParams struct {
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Enumeration:
	// `LATEST`: Latest version.
	// `CONTAINER`: Running container.
	SphereOfInfluence *string `json:"SphereOfInfluence,omitnil,omitempty" name:"SphereOfInfluence"`
}

type DescribeVulTendencyRequest struct {
	*tchttp.BaseRequest
	
	// Start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Enumeration:
	// `LATEST`: Latest version.
	// `CONTAINER`: Running container.
	SphereOfInfluence *string `json:"SphereOfInfluence,omitnil,omitempty" name:"SphereOfInfluence"`
}

func (r *DescribeVulTendencyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTendencyRequest) 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, "SphereOfInfluence")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulTendencyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTendencyResponseParams struct {
	// List of vulnerability trends
	VulTendencySet []*VulTendencyInfo `json:"VulTendencySet,omitnil,omitempty" name:"VulTendencySet"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeVulTendencyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulTendencyResponseParams `json:"Response"`
}

func (r *DescribeVulTendencyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTendencyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTopRankingRequestParams struct {
	// Vulnerability type. Valid values: `SYSTEM` (system vulnerability); `WEB` (web application vulnerability); `EMERGENCY` (emergency vulnerability).
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`
}

type DescribeVulTopRankingRequest struct {
	*tchttp.BaseRequest
	
	// Vulnerability type. Valid values: `SYSTEM` (system vulnerability); `WEB` (web application vulnerability); `EMERGENCY` (emergency vulnerability).
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`
}

func (r *DescribeVulTopRankingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTopRankingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CategoryType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeVulTopRankingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeVulTopRankingResponseParams struct {
	// List of top vulnerabilities
	List []*VulTopRankingInfo `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 DescribeVulTopRankingResponse struct {
	*tchttp.BaseResponse
	Response *DescribeVulTopRankingResponseParams `json:"Response"`
}

func (r *DescribeVulTopRankingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeVulTopRankingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWarningRulesRequestParams struct {

}

type DescribeWarningRulesRequest struct {
	*tchttp.BaseRequest
	
}

func (r *DescribeWarningRulesRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWarningRulesRequest) 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", "DescribeWarningRulesRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWarningRulesResponseParams struct {
	// List of alert policies
	WarningRules []*WarningRule `json:"WarningRules,omitnil,omitempty" name:"WarningRules"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type DescribeWarningRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWarningRulesResponseParams `json:"Response"`
}

func (r *DescribeWarningRulesResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWarningRulesResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebVulListRequestParams struct {
	// 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"`

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

type DescribeWebVulListRequest struct {
	*tchttp.BaseRequest
	
	// 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"`

	// Filter
	// <li>OnlyAffectedContainer- string - Required: No - Show only vulnerabilities that affect containers. Valid values: `true`, `false`.</li>
	// <li>OnlyAffectedNewestImage-string - Required: No - Show only vulnerabilities that affect the latest image tags. Valid values: `true`, `false`.</li>
	// <li>Level- String - Required: No - Severity. Valid values: `CRITICAL` (critical); `HIGH` (high); `MIDDLE` (medium); `LOW` (low).</li>
	// <li>Tags- string - Required: No - Vulnerability tag. Valid values: `POC`, `EXP`.</li>
	// <li>CanBeFixed- string - Required: No - Whether the vulnerability can be fixed. Valid values: `true`, `false`.</li>
	// <li>CVEID- string - Required: No - CVE No.</li>
	// <li>ImageID- string - Required: No - Image ID</li>
	// <li>ImageName- String - Required: No - Image name</li>
	// <li>ContainerID- string - Required: No - Container ID</li>
	// <li>ContainerName- string - Required: No - Container name</li>
	// <li>ComponentName- string - Required: No - Component name</li>
	// <li>ComponentVersion- string - Required: No - Component version</li>
	// <li>Name- string - Required: No - Vulnerability name</li>
	// <li>FocusOnType - string - Required: No - Urgency. Valid values: `ALL` (all); `SERIOUS_LEVEL (critical and high risks); `IS_SUGGEST` (high-priority); `POC_EXP` (POC/EXP); `NETWORK_EXP` (remote EXP).</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`
}

func (r *DescribeWebVulListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebVulListRequest) 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", "DescribeWebVulListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type DescribeWebVulListResponseParams struct {
	// Total number of vulnerabilities
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// List of vulnerabilities
	List []*VulInfo `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 DescribeWebVulListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeWebVulListResponseParams `json:"Response"`
}

func (r *DescribeWebVulListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *DescribeWebVulListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type EmergencyVulInfo struct {
	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// CVSS V3 score
	// Note: This field may return null, indicating that no valid values can be obtained.
	CVSSV3Score *float64 `json:"CVSSV3Score,omitnil,omitempty" name:"CVSSV3Score"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// CVE No.
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability type
	// Note: This field may return null, indicating that no valid values can be obtained.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Vulnerability disclosure time
	// Note: This field may return null, indicating that no valid values can be obtained.
	SubmitTime *string `json:"SubmitTime,omitnil,omitempty" name:"SubmitTime"`

	// Last discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

	// Emergency vulnerability risk information. Valid values: `NOT_SCAN` (not scanned); `SCANNING` (scanning); `SCANNED_NOT_RISK` (scanned and at no risk); `SCANNED_RISK` (scanned and at risk).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Vulnerability ID
	ID *int64 `json:"ID,omitnil,omitempty" name:"ID"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Defense status. Valid values: `NO_DEFENDED`, `DEFENDED`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceStatus *string `json:"DefenceStatus,omitnil,omitempty" name:"DefenceStatus"`

	// Scope of servers with exploit prevention enabled. Valid values: `MANUAL` (specified servers); `ALL` (all servers).
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceScope *string `json:"DefenceScope,omitnil,omitempty" name:"DefenceScope"`

	// Number of servers with exploit prevention enabled
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceHostCount *int64 `json:"DefenceHostCount,omitnil,omitempty" name:"DefenceHostCount"`

	// Number of attacks defended against
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefendedCount *int64 `json:"DefendedCount,omitnil,omitempty" name:"DefendedCount"`
}

type EscapeEventDescription struct {
	// Event rule
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Event remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Last processing time of the event
	// Note: This field may return null, indicating that no valid values can be obtained.
	OperationTime *string `json:"OperationTime,omitnil,omitempty" name:"OperationTime"`
}

type EscapeEventInfo struct {
	// Event type.
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Status. Valid values: `EVENT_UNDEAL` (pending); `EVENT_DEALED` (processed); `EVENT_INGNORE` (ignored).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Node name
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Pod (instance) name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Generation time
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Event name
	// Host file access escape
	// Syscall escape
	// Mount namespace escape
	// Program privilege escalation escape
	// Privileged container startup escape
	// Sensitive path mount
	EventName *string `json:"EventName,omitnil,omitempty" name:"EventName"`

	// Image ID, which is used for redirect.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Container ID, which is used for redirect.
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Event solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Event description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Last generation time
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

	// Node IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	NodeIP *string `json:"NodeIP,omitnil,omitempty" name:"NodeIP"`

	// Server IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// "NODE_DESTROYED"      // The node is terminated.
	// "CONTAINER_EXITED"    // The container exited.
	// "CONTAINER_DESTROYED" // The container was terminated.
	// "SHARED_HOST"         // The container shares the network with the server.
	// "RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// "UNKNOW"              // The reason is unknown.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// ID of the cluster where the node resides
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Unique node ID
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Node public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Private IP of the node
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`
}

type EscapeEventTendencyInfo struct {
	// Total number of pending containers at risk
	RiskContainerEventCount *int64 `json:"RiskContainerEventCount,omitnil,omitempty" name:"RiskContainerEventCount"`

	// Total number of pending program privilege escalation events
	ProcessPrivilegeEventCount *int64 `json:"ProcessPrivilegeEventCount,omitnil,omitempty" name:"ProcessPrivilegeEventCount"`

	// Total number of pending container escape events
	ContainerEscapeEventCount *int64 `json:"ContainerEscapeEventCount,omitnil,omitempty" name:"ContainerEscapeEventCount"`

	// Date
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`
}

type EscapeRule struct {
	// Rule type   
	// `ESCAPE_HOST_ACESS_FILE`: Host file access escape.
	//    `ESCAPE_MOUNT_NAMESPACE`: Mount namespace escape.
	//    `ESCAPE_PRIVILEDGE`: Program privilege escalation escape.
	//    `ESCAPE_PRIVILEDGE_CONTAINER_START`: Privileged container startup escape.
	//    `ESCAPE_MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	// `ESCAPE_SYSCALL`: Syscall escape.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Rule name
	// Host file access escape
	// Syscall escape
	// Mount namespace escape
	// Program privilege escalation escape
	// Privileged container startup escape
	// Sensitive path mount
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Whether to enable. Valid values: `false` (no); `true` (yes).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`

	// Rule group. Valid values: `RISK_CONTAINER` (container in risk); `PROCESS_PRIVILEGE` (program privilege escalation); `CONTAINER_ESCAPE` (container escape).
	Group *string `json:"Group,omitnil,omitempty" name:"Group"`
}

type EscapeRuleEnabled struct {
	// Rule type
	//    `ESCAPE_HOST_ACESS_FILE`: Host file access escape.
	//    `ESCAPE_MOUNT_NAMESPACE`: Mount namespace escape.
	//    `ESCAPE_PRIVILEDGE`: Program privilege escalation escape.
	//    `ESCAPE_PRIVILEDGE_CONTAINER_START`: Privileged container startup escape.
	//    `ESCAPE_MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `ESCAPE_SYSCALL`: Syscall escape.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Whether to enable. Valid values: `false` (no); `true` (yes).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`
}

type EscapeWhiteListInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Allowed item ID
	ID *int64 `json:"ID,omitnil,omitempty" name:"ID"`

	// Number of associated servers
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Number of associated containers
	ContainerCount *int64 `json:"ContainerCount,omitnil,omitempty" name:"ContainerCount"`

	// Allowed event type
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Creation time
	InsertTime *string `json:"InsertTime,omitnil,omitempty" name:"InsertTime"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Image size
	ImageSize *int64 `json:"ImageSize,omitnil,omitempty" name:"ImageSize"`
}

type ExportJobInfo struct {
	// Job ID
	JobID *string `json:"JobID,omitnil,omitempty" name:"JobID"`

	// Job name
	JobName *string `json:"JobName,omitnil,omitempty" name:"JobName"`

	// Source
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`

	// Export status
	ExportStatus *string `json:"ExportStatus,omitnil,omitempty" name:"ExportStatus"`

	// Export progress
	ExportProgress *int64 `json:"ExportProgress,omitnil,omitempty" name:"ExportProgress"`

	// Reason for failure
	FailureMsg *string `json:"FailureMsg,omitnil,omitempty" name:"FailureMsg"`

	// Timeout threshold
	Timeout *string `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Insertion time
	InsertTime *string `json:"InsertTime,omitnil,omitempty" name:"InsertTime"`
}

// Predefined struct for user
type ExportVirusListRequestParams struct {
	// Filter
	// <li>FileName - String - Required: No - Filename</li>
	// <li>FilePath - String - Required: No - File path</li>
	// <li>VirusName - String - Required: No - Virus name</li>
	// <li>ContainerName- String - Required: Yes - Container name</li>
	// <li>ContainerId- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageId- string - Required: No - Image ID</li>
	// <li>IsRealTime- int - Required: No - Whether it is real-time monitoring data</li>
	// <li>TaskId- string - Required: No - Task ID</li>
	// <li>TimeRange - string - Required: No - Time range ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>ContainerNetStatus - String - Required: No - Container network status. Valid values: `NORMAL`, `ISOLATED`, `ISOLATING`, `RESTORING`, `RESTORE_FAILED`.</li>
	// <li>ContainerStatus - string - Required: No - Container status. Valid values: `RUNNING`, `PAUSED`, `STOPPED`, `CREATED`, `DESTROYED`, `RESTARTING`, `REMOVING`.</li>
	// <li>AutoIsolateMode - string - Required: No - Isolation method. Valid values: `MANUAL`, `AUTO`.</li>
	// <li>MD5 - string - Required: No - MD5</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

type ExportVirusListRequest struct {
	*tchttp.BaseRequest
	
	// Filter
	// <li>FileName - String - Required: No - Filename</li>
	// <li>FilePath - String - Required: No - File path</li>
	// <li>VirusName - String - Required: No - Virus name</li>
	// <li>ContainerName- String - Required: Yes - Container name</li>
	// <li>ContainerId- string - Required: No - Container ID</li>
	// <li>ImageName- string - Required: No - Image name</li>
	// <li>ImageId- string - Required: No - Image ID</li>
	// <li>IsRealTime- int - Required: No - Whether it is real-time monitoring data</li>
	// <li>TaskId- string - Required: No - Task ID</li>
	// <li>TimeRange - string - Required: No - Time range ["2022-03-31 16:55:00", "2022-03-31 17:00:00"]</li>
	// <li>ContainerNetStatus - String - Required: No - Container network status. Valid values: `NORMAL`, `ISOLATED`, `ISOLATING`, `RESTORING`, `RESTORE_FAILED`.</li>
	// <li>ContainerStatus - string - Required: No - Container status. Valid values: `RUNNING`, `PAUSED`, `STOPPED`, `CREATED`, `DESTROYED`, `RESTARTING`, `REMOVING`.</li>
	// <li>AutoIsolateMode - string - Required: No - Isolation method. Valid values: `MANUAL`, `AUTO`.</li>
	// <li>MD5 - string - Required: No - MD5</li>
	Filters []*RunTimeFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sorting order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

	// Sorting field
	By *string `json:"By,omitnil,omitempty" name:"By"`

	// Export field
	ExportField []*string `json:"ExportField,omitnil,omitempty" name:"ExportField"`
}

func (r *ExportVirusListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVirusListRequest) 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, "ExportField")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ExportVirusListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ExportVirusListResponseParams struct {
	// Export task ID, which is used to query the task progress on the frontend.
	JobId *string `json:"JobId,omitnil,omitempty" name:"JobId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type ExportVirusListResponse struct {
	*tchttp.BaseResponse
	Response *ExportVirusListResponseParams `json:"Response"`
}

func (r *ExportVirusListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ExportVirusListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type FileAttributeInfo struct {
	// Filename
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File type
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// File size in bytes
	FileSize *uint64 `json:"FileSize,omitnil,omitempty" name:"FileSize"`

	// File path
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// File creation time
	FileCreateTime *string `json:"FileCreateTime,omitnil,omitempty" name:"FileCreateTime"`

	// Time when the file is last tampered with
	LatestTamperedFileMTime *string `json:"LatestTamperedFileMTime,omitnil,omitempty" name:"LatestTamperedFileMTime"`

	// Content of the new file
	NewFile *string `json:"NewFile,omitnil,omitempty" name:"NewFile"`

	// Differences between old and new files
	FileDiff *string `json:"FileDiff,omitnil,omitempty" name:"FileDiff"`
}

type HostInfo struct {
	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Server IP, which is the private IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Server name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Project
	Group *string `json:"Group,omitnil,omitempty" name:"Group"`

	// Docker version
	DockerVersion *string `json:"DockerVersion,omitnil,omitempty" name:"DockerVersion"`

	// Docker file system type
	DockerFileSystemDriver *string `json:"DockerFileSystemDriver,omitnil,omitempty" name:"DockerFileSystemDriver"`

	// Number of images
	ImageCnt *uint64 `json:"ImageCnt,omitnil,omitempty" name:"ImageCnt"`

	// Number of containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// Agent status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether it is Containerd
	IsContainerd *bool `json:"IsContainerd,omitnil,omitempty" name:"IsContainerd"`

	// Server source. Valid values: `CVM`, `ECM`, `LH`, `BM`, `Other`. The first four values indicate Tencent Cloud instances, while the last one indicates non-Tencent Cloud instances.
	MachineType *string `json:"MachineType,omitnil,omitempty" name:"MachineType"`

	// Public IP
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Server UUID
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Server instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Region ID
	RegionID *int64 `json:"RegionID,omitnil,omitempty" name:"RegionID"`

	// Project
	// Note: This field may return `null`, indicating that no valid value was found.
	Project *ProjectInfo `json:"Project,omitnil,omitempty" name:"Project"`

	// Tags
	// Note: This field may return `null`, indicating that no valid value was found.
	Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster Name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster Access Status
	ClusterAccessedStatus *string `json:"ClusterAccessedStatus,omitnil,omitempty" name:"ClusterAccessedStatus"`
}

type ImageAutoAuthorizedTask struct {
	// Task ID
	TaskId *int64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Licensing method. Valid values: `AUTO` (automatic licensing); `MANUAL` (manual licensing).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Task date
	AuthorizedDate *string `json:"AuthorizedDate,omitnil,omitempty" name:"AuthorizedDate"`

	// Image source. Valid values: `LOCAL` (local image); `REGISTRY` (repository image).
	Source *string `json:"Source,omitnil,omitempty" name:"Source"`

	// Last licensing time
	LastAuthorizedTime *string `json:"LastAuthorizedTime,omitnil,omitempty" name:"LastAuthorizedTime"`

	// Number of images automatically licensed successfully
	SuccessCount *int64 `json:"SuccessCount,omitnil,omitempty" name:"SuccessCount"`

	// Number of images failed to be automatically licensed
	FailCount *int64 `json:"FailCount,omitnil,omitempty" name:"FailCount"`

	// Error code for the last task. Valid values: `REACH_LIMIT` (reaching the upper limit on licenses); `LICENSE_INSUFFICIENT` (insufficient licenses).
	LatestFailCode *string `json:"LatestFailCode,omitnil,omitempty" name:"LatestFailCode"`
}

type ImageComponent struct {
	// Component name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Component version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Component path
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Component type
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Number of component vulnerabilities
	// Note: This field may return null, indicating that no valid values can be obtained.
	VulCount *uint64 `json:"VulCount,omitnil,omitempty" name:"VulCount"`

	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`
}

type ImageHost struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`
}

type ImageInfo struct {
	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image tag
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Forced scan
	Force *string `json:"Force,omitnil,omitempty" name:"Force"`

	// Image ID
	ImageDigest *string `json:"ImageDigest,omitnil,omitempty" name:"ImageDigest"`

	// Repository type
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Image repository address
	ImageRepoAddress *string `json:"ImageRepoAddress,omitnil,omitempty" name:"ImageRepoAddress"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
}

type ImageProgress struct {
	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Repository type
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Image repository address
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageRepoAddress *string `json:"ImageRepoAddress,omitnil,omitempty" name:"ImageRepoAddress"`

	// Instance ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Instance name
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Namespace
	// Note: This field may return null, indicating that no valid values can be obtained.
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Repository name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Image scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanStatus *string `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`

	// CVE scanning progress of the image
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveProgress *uint64 `json:"CveProgress,omitnil,omitempty" name:"CveProgress"`

	// Sensitive data scanning progress of the image
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskProgress *uint64 `json:"RiskProgress,omitnil,omitempty" name:"RiskProgress"`

	// Trojan scanning progress of the image
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusProgress *uint64 `json:"VirusProgress,omitnil,omitempty" name:"VirusProgress"`
}

type ImageRepoInfo struct {
	// Image digest
	ImageDigest *string `json:"ImageDigest,omitnil,omitempty" name:"ImageDigest"`

	// Image repository address
	ImageRepoAddress *string `json:"ImageRepoAddress,omitnil,omitempty" name:"ImageRepoAddress"`

	// Repository type
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image tag
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Image size
	ImageSize *uint64 `json:"ImageSize,omitnil,omitempty" name:"ImageSize"`

	// Last scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Scanning status
	ScanStatus *string `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`

	// Number of vulnerabilities
	VulCnt *uint64 `json:"VulCnt,omitnil,omitempty" name:"VulCnt"`

	// Number of viruses and trojans
	VirusCnt *uint64 `json:"VirusCnt,omitnil,omitempty" name:"VirusCnt"`

	// Number of risky behaviors
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Number of sensitive data items
	//
	// Deprecated: SentiveInfoCnt is deprecated.
	SentiveInfoCnt *uint64 `json:"SentiveInfoCnt,omitnil,omitempty" name:"SentiveInfoCnt"`

	// Whether it is a trusted image
	IsTrustImage *bool `json:"IsTrustImage,omitnil,omitempty" name:"IsTrustImage"`

	// Image system
	OsName *string `json:"OsName,omitnil,omitempty" name:"OsName"`

	// Trojan scan error
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVirusError *string `json:"ScanVirusError,omitnil,omitempty" name:"ScanVirusError"`

	// Vulnerability scan error
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVulError *string `json:"ScanVulError,omitnil,omitempty" name:"ScanVulError"`

	// Instance ID
	InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`

	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// High-risk scan error
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRiskError *string `json:"ScanRiskError,omitnil,omitempty" name:"ScanRiskError"`

	// Sensitive data scanning progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVirusProgress *uint64 `json:"ScanVirusProgress,omitnil,omitempty" name:"ScanVirusProgress"`

	// Trojan scanning progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanVulProgress *uint64 `json:"ScanVulProgress,omitnil,omitempty" name:"ScanVulProgress"`

	// Vulnerability scanning progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRiskProgress *uint64 `json:"ScanRiskProgress,omitnil,omitempty" name:"ScanRiskProgress"`

	// Remaining scan time in seconds
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanRemainTime *uint64 `json:"ScanRemainTime,omitnil,omitempty" name:"ScanRemainTime"`

	// CVE scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	CveStatus *string `json:"CveStatus,omitnil,omitempty" name:"CveStatus"`

	// High-risk scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskStatus *string `json:"RiskStatus,omitnil,omitempty" name:"RiskStatus"`

	// Trojan scanning status
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusStatus *string `json:"VirusStatus,omitnil,omitempty" name:"VirusStatus"`

	// Overall progress
	// Note: This field may return null, indicating that no valid values can be obtained.
	Progress *uint64 `json:"Progress,omitnil,omitempty" name:"Progress"`

	// Licensing status
	IsAuthorized *uint64 `json:"IsAuthorized,omitnil,omitempty" name:"IsAuthorized"`

	// Repository region
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// List of IDs
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Image ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image creation time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageCreateTime *string `json:"ImageCreateTime,omitnil,omitempty" name:"ImageCreateTime"`

	// Whether it is the latest image tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsLatestImage *bool `json:"IsLatestImage,omitnil,omitempty" name:"IsLatestImage"`
}

type ImageRepoRegistryInfo struct {
	// Repository id
	RegistryId *uint64 `json:"RegistryId,omitnil,omitempty" name:"RegistryId"`

	// Repository Name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Repository Type, list: harbor, tcr
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Repository url
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Network Type, list: public
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Region, list: default
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Repository Version
	RegistryVersion *string `json:"RegistryVersion,omitnil,omitempty" name:"RegistryVersion"`

	// Repository connection error message (to be deprecated, use ConnDetectException instead)
	ConnectMsg *string `json:"ConnectMsg,omitnil,omitempty" name:"ConnectMsg"`

	// Connectivity Detection Method
	ConnDetectType *string `json:"ConnDetectType,omitnil,omitempty" name:"ConnDetectType"`

	// Connectivity Detection Host Count
	ConnDetectHostCount *uint64 `json:"ConnDetectHostCount,omitnil,omitempty" name:"ConnDetectHostCount"`

	// Connectivity Detection Details
	ConnDetectDetail []*RegistryConnDetectResult `json:"ConnDetectDetail,omitnil,omitempty" name:"ConnDetectDetail"`

	// instance_id in tcr
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Latest Successful Synchronization Time
	LatestSyncTime *string `json:"LatestSyncTime,omitnil,omitempty" name:"LatestSyncTime"`

	// Synchronization Status
	SyncStatus *string `json:"SyncStatus,omitnil,omitempty" name:"SyncStatus"`

	// Synchronization Failure Reason
	SyncFailReason *string `json:"SyncFailReason,omitnil,omitempty" name:"SyncFailReason"`

	// Synchronization Failure Solution
	SyncSolution *string `json:"SyncSolution,omitnil,omitempty" name:"SyncSolution"`

	// Synchronization Failure Message
	SyncMessage *string `json:"SyncMessage,omitnil,omitempty" name:"SyncMessage"`
}

type ImageRisk struct {
	// High-risk behavior
	// Note: This field may return null, indicating that no valid values can be obtained.
	Behavior *uint64 `json:"Behavior,omitnil,omitempty" name:"Behavior"`

	// Type
	// Note: This field may return null, indicating that no valid values can be obtained.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	InstructionContent *string `json:"InstructionContent,omitnil,omitempty" name:"InstructionContent"`
}

type ImageRiskInfo struct {
	// Behavior
	Behavior *uint64 `json:"Behavior,omitnil,omitempty" name:"Behavior"`

	// Type
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Details
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Solution
	InstructionContent *string `json:"InstructionContent,omitnil,omitempty" name:"InstructionContent"`
}

type ImageRiskTendencyInfo struct {
	// List of trends
	ImageRiskSet []*RunTimeTendencyInfo `json:"ImageRiskSet,omitnil,omitempty" name:"ImageRiskSet"`

	// Risk type:
	// `IRT_VULNERABILITY`: Vulnerability.
	// `IRT_MALWARE_VIRUS`: Virus and trojan.
	// `IRT_RISK`: Sensitive data.
	ImageRiskType *string `json:"ImageRiskType,omitnil,omitempty" name:"ImageRiskType"`
}

type ImageSimpleInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image size
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Type
	ImageType *string `json:"ImageType,omitnil,omitempty" name:"ImageType"`

	// Number of associated containers
	ContainerCnt *int64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`
}

type ImageVirus struct {
	// Path
	// Note: This field may return null, indicating that no valid values can be obtained.
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Category
	// Note: This field may return null, indicating that no valid values can be obtained.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Virus name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// 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.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// File type
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// File path
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// MD5 checksum of the file
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileMd5 *string `json:"FileMd5,omitnil,omitempty" name:"FileMd5"`

	// Size
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileSize *uint64 `json:"FileSize,omitnil,omitempty" name:"FileSize"`

	// First discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FirstScanTime *string `json:"FirstScanTime,omitnil,omitempty" name:"FirstScanTime"`

	// Last scan time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LatestScanTime *string `json:"LatestScanTime,omitnil,omitempty" name:"LatestScanTime"`
}

type ImageVirusInfo struct {
	// Path
	// Note: This field may return null, indicating that no valid values can be obtained.
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *uint64 `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Virus name
	// Note: This field may return null, indicating that no valid values can be obtained.
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// 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.
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Fix suggestion
	// Note: This field may return null, indicating that no valid values can be obtained.
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Size
	// Note: This field may return null, indicating that no valid values can be obtained.
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// First discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FirstScanTime *string `json:"FirstScanTime,omitnil,omitempty" name:"FirstScanTime"`

	// Last scan time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LatestScanTime *string `json:"LatestScanTime,omitnil,omitempty" name:"LatestScanTime"`

	// MD5 checksum of the file
	// Note: This field may return null, indicating that no valid values can be obtained.
	Md5 *string `json:"Md5,omitnil,omitempty" name:"Md5"`

	// Filename
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// Check platform
	// `1`: Tencent Cloud Security Engine.
	// `2`: tav.
	// `3`: binaryAi.
	// `4`: Unusual 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"`
}

type ImageVul struct {
	// Vulnerability ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// POC ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	POCID *string `json:"POCID,omitnil,omitempty" name:"POCID"`

	// Vulnerability name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Component information
	// Note: This field may return null, indicating that no valid values can be obtained.
	Components []*ComponentsInfo `json:"Components,omitnil,omitempty" name:"Components"`

	// Category
	// Note: This field may return null, indicating that no valid values can be obtained.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Category 2
	// Note: This field may return null, indicating that no valid values can be obtained.
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// Description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Des *string `json:"Des,omitnil,omitempty" name:"Des"`

	// Solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	OfficialSolution *string `json:"OfficialSolution,omitnil,omitempty" name:"OfficialSolution"`

	// Reference
	// Note: This field may return null, indicating that no valid values can be obtained.
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// Defense solution
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenseSolution *string `json:"DefenseSolution,omitnil,omitempty" name:"DefenseSolution"`

	// Submission time
	// Note: This field may return null, indicating that no valid values can be obtained.
	SubmitTime *string `json:"SubmitTime,omitnil,omitempty" name:"SubmitTime"`

	// CVSS score
	// Note: This field may return null, indicating that no valid values can be obtained.
	CvssScore *string `json:"CvssScore,omitnil,omitempty" name:"CvssScore"`

	// CVSS information
	// Note: This field may return null, indicating that no valid values can be obtained.
	CvssVector *string `json:"CvssVector,omitnil,omitempty" name:"CvssVector"`

	// Whether fix is suggested
	// Note: This field may return null, indicating that no valid values can be obtained.
	IsSuggest *string `json:"IsSuggest,omitnil,omitempty" name:"IsSuggest"`

	// Number of the fixed version
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixedVersions *string `json:"FixedVersions,omitnil,omitempty" name:"FixedVersions"`

	// Vulnerability tag. Valid values: `CanBeFixed`, `DynamicLevelPoc`, `DynamicLevelExp`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tag []*string `json:"Tag,omitnil,omitempty" name:"Tag"`

	// Component name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Component *string `json:"Component,omitnil,omitempty" name:"Component"`

	// Component version
	// Note: This field may return null, indicating that no valid values can be obtained.
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`
}

type ImagesBindRuleInfo struct {
	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Number of associated containers
	ContainerCnt *int64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// Bound rule ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Rule name
	// Note: This field may return null, indicating that no valid values can be obtained.
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Image size
	// Note: This field may return null, indicating that no valid values can be obtained.
	ImageSize *int64 `json:"ImageSize,omitnil,omitempty" name:"ImageSize"`

	// Last scan time
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`
}

type ImagesInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Image size
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Number of servers
	HostCnt *uint64 `json:"HostCnt,omitnil,omitempty" name:"HostCnt"`

	// Number of containers
	ContainerCnt *uint64 `json:"ContainerCnt,omitnil,omitempty" name:"ContainerCnt"`

	// Scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Number of vulnerabilities
	VulCnt *uint64 `json:"VulCnt,omitnil,omitempty" name:"VulCnt"`

	// Number of viruses
	VirusCnt *uint64 `json:"VirusCnt,omitnil,omitempty" name:"VirusCnt"`

	// Number of sensitive data items
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Whether it is a trusted image
	IsTrustImage *bool `json:"IsTrustImage,omitnil,omitempty" name:"IsTrustImage"`

	// Image system
	OsName *string `json:"OsName,omitnil,omitempty" name:"OsName"`

	// Image scan error in the agent
	AgentError *string `json:"AgentError,omitnil,omitempty" name:"AgentError"`

	// Image scan error on the backend
	ScanError *string `json:"ScanError,omitnil,omitempty" name:"ScanError"`

	// Scanning status
	ScanStatus *string `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`

	// Trojan scan error message
	ScanVirusError *string `json:"ScanVirusError,omitnil,omitempty" name:"ScanVirusError"`

	// Vulnerability scan error message
	ScanVulError *string `json:"ScanVulError,omitnil,omitempty" name:"ScanVulError"`

	// Risk scan error message
	ScanRiskError *string `json:"ScanRiskError,omitnil,omitempty" name:"ScanRiskError"`

	// Whether the image is of high priority. Valid values: `0` (no); others (yes).
	IsSuggest *uint64 `json:"IsSuggest,omitnil,omitempty" name:"IsSuggest"`

	// Whether it is licensed. Valid values: `1` (yes); `0` (no).
	IsAuthorized *uint64 `json:"IsAuthorized,omitnil,omitempty" name:"IsAuthorized"`

	// Number of components
	ComponentCnt *uint64 `json:"ComponentCnt,omitnil,omitempty" name:"ComponentCnt"`
}

type ImagesVul struct {
	// Vulnerability ID
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Component
	Component *string `json:"Component,omitnil,omitempty" name:"Component"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Category
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Category 2
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`

	// Risk level
	Level *uint64 `json:"Level,omitnil,omitempty" name:"Level"`

	// Description
	Des *string `json:"Des,omitnil,omitempty" name:"Des"`

	// Solution
	OfficialSolution *string `json:"OfficialSolution,omitnil,omitempty" name:"OfficialSolution"`

	// Reference
	Reference *string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// Defense solution
	DefenseSolution *string `json:"DefenseSolution,omitnil,omitempty" name:"DefenseSolution"`

	// Submission time
	SubmitTime *string `json:"SubmitTime,omitnil,omitempty" name:"SubmitTime"`

	// CVSS V3 score
	CVSSV3Score *float64 `json:"CVSSV3Score,omitnil,omitempty" name:"CVSSV3Score"`

	// CVSS V3 description
	CVSSV3Desc *string `json:"CVSSV3Desc,omitnil,omitempty" name:"CVSSV3Desc"`

	// Whether it is of high priority. Valid values: `true` (yes); `false` (no).
	IsSuggest *bool `json:"IsSuggest,omitnil,omitempty" name:"IsSuggest"`

	// Number of the fixed version
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixedVersions *string `json:"FixedVersions,omitnil,omitempty" name:"FixedVersions"`

	// Vulnerability tag. Valid values: `CanBeFixed`, `DynamicLevelPoc`, `DynamicLevelExp`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tag []*string `json:"Tag,omitnil,omitempty" name:"Tag"`
}

// Predefined struct for user
type InitializeUserComplianceEnvironmentRequestParams struct {

}

type InitializeUserComplianceEnvironmentRequest struct {
	*tchttp.BaseRequest
	
}

func (r *InitializeUserComplianceEnvironmentRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *InitializeUserComplianceEnvironmentRequest) 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", "InitializeUserComplianceEnvironmentRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type InitializeUserComplianceEnvironmentResponseParams 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 InitializeUserComplianceEnvironmentResponse struct {
	*tchttp.BaseResponse
	Response *InitializeUserComplianceEnvironmentResponseParams `json:"Response"`
}

func (r *InitializeUserComplianceEnvironmentResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *InitializeUserComplianceEnvironmentResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type K8sApiAbnormalEventInfo struct {
	// Hit rule name
	MatchRuleName *string `json:"MatchRuleName,omitnil,omitempty" name:"MatchRuleName"`

	// Hit rule type
	MatchRuleType *string `json:"MatchRuleType,omitnil,omitempty" name:"MatchRuleType"`

	// Alarm level
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster running status
	ClusterRunningStatus *string `json:"ClusterRunningStatus,omitnil,omitempty" name:"ClusterRunningStatus"`

	// First creation time
	FirstCreateTime *string `json:"FirstCreateTime,omitnil,omitempty" name:"FirstCreateTime"`

	// Last creation time
	LastCreateTime *string `json:"LastCreateTime,omitnil,omitempty" name:"LastCreateTime"`

	// Number of alarms
	AlarmCount *uint64 `json:"AlarmCount,omitnil,omitempty" name:"AlarmCount"`

	// Status
	// `EVENT_UNDEAL`: Unhandled
	// `EVENT_DEALED`: Handled
	// `EVENT_IGNORE`: Ignored
	// `EVENT_DEL`: Deleted
	// `EVENT_ADD_WHITE`: Added to an allowlist
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// The master IP of a cluster
	ClusterMasterIP *string `json:"ClusterMasterIP,omitnil,omitempty" name:"ClusterMasterIP"`

	// K8s version
	K8sVersion *string `json:"K8sVersion,omitnil,omitempty" name:"K8sVersion"`

	// Runtime component
	RunningComponent []*string `json:"RunningComponent,omitnil,omitempty" name:"RunningComponent"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Suggestion
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Request information
	Info *string `json:"Info,omitnil,omitempty" name:"Info"`

	// Rule ID
	MatchRuleID *string `json:"MatchRuleID,omitnil,omitempty" name:"MatchRuleID"`

	// An array of highlighted fields
	HighLightFields []*string `json:"HighLightFields,omitnil,omitempty" name:"HighLightFields"`

	// Hit rule
	MatchRule *K8sApiAbnormalRuleScopeInfo `json:"MatchRule,omitnil,omitempty" name:"MatchRule"`
}

type K8sApiAbnormalEventListItem struct {
	// Event ID
	ID *uint64 `json:"ID,omitnil,omitempty" name:"ID"`

	// Hit rule type
	MatchRuleType *string `json:"MatchRuleType,omitnil,omitempty" name:"MatchRuleType"`

	// Threat level
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster running status
	ClusterRunningStatus *string `json:"ClusterRunningStatus,omitnil,omitempty" name:"ClusterRunningStatus"`

	// First creation time
	FirstCreateTime *string `json:"FirstCreateTime,omitnil,omitempty" name:"FirstCreateTime"`

	// Last creation time
	LastCreateTime *string `json:"LastCreateTime,omitnil,omitempty" name:"LastCreateTime"`

	// Number of alarms
	AlarmCount *uint64 `json:"AlarmCount,omitnil,omitempty" name:"AlarmCount"`

	// Status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Rule type
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Description
	Desc *string `json:"Desc,omitnil,omitempty" name:"Desc"`

	// Solution
	Suggestion *string `json:"Suggestion,omitnil,omitempty" name:"Suggestion"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Hit rule
	MatchRule *K8sApiAbnormalRuleScopeInfo `json:"MatchRule,omitnil,omitempty" name:"MatchRule"`
}

type K8sApiAbnormalRuleInfo struct {
	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Status
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`

	// Rule information list
	RuleInfoList []*K8sApiAbnormalRuleScopeInfo `json:"RuleInfoList,omitnil,omitempty" name:"RuleInfoList"`

	// Effective cluster IDSet
	EffectClusterIDSet []*string `json:"EffectClusterIDSet,omitnil,omitempty" name:"EffectClusterIDSet"`

	// Rule type
	// RT_SYSTEM: System rules
	// RT_USER: User-defined rules
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Whether all clusters are effective
	EffectAllCluster *bool `json:"EffectAllCluster,omitnil,omitempty" name:"EffectAllCluster"`

	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`
}

type K8sApiAbnormalRuleListItem struct {
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`

	// Rule name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Rule type
	// RT_SYSTEM System rules
	// RT_USER User defined
	RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"`

	// Total number of affected clusters
	EffectClusterCount *uint64 `json:"EffectClusterCount,omitnil,omitempty" name:"EffectClusterCount"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Edit account
	OprUin *string `json:"OprUin,omitnil,omitempty" name:"OprUin"`

	// Status
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

type K8sApiAbnormalRuleScopeInfo struct {
	// Range
	// System event:
	// ANONYMOUS_ACCESS: Anonymous access
	// ABNORMAL_UA_REQ: Abnormal UA request
	// ANONYMOUS_ABNORMAL_PERMISSION: Abnormal changes on permissions of an anonymous user
	// GET_CREDENTIALS: Credential information acquisition
	// MOUNT_SENSITIVE_PATH: Sensitive path mounting
	// COMMAND_RUN: Command execution
	// PRIVILEGE_CONTAINER: Privilege container
	// EXCEPTION_CRONTAB_TASK: Aabnormal scheduled task
	// STATICS_POD: Static pod creation
	// ABNORMAL_CREATE_POD: Abnormal pod creation
	// USER_DEFINED: User defined
	Scope *string `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Action (RULE_MODE_ALERT: Alarm RULE_MODE_RELEASE: Release)
	Action *string `json:"Action,omitnil,omitempty" name:"Action"`

	// Threat level: "HIGH": High-risk level; "MIDDLE": Middle-risk level; "LOW": Low-risk level; "NOTICE": Notice level
	// Note: This field may return `null`, indicating that no valid value was found.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Switch status (true: On; false: Off): applicable to system rules.
	// Note: This field may return `null`, indicating that no valid value was found.
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`

	// Whether to delete: applicable to custom rule input parameters.
	// Note: This field may return `null`, indicating that no valid value was found.
	IsDelete *bool `json:"IsDelete,omitnil,omitempty" name:"IsDelete"`
}

type K8sApiAbnormalTendencyItem struct {
	// Date
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// The number of abnormal UA request events
	ExceptionUARequestCount *uint64 `json:"ExceptionUARequestCount,omitnil,omitempty" name:"ExceptionUARequestCount"`

	// The number of anonymous user permission events
	AnonymousUserRightCount *uint64 `json:"AnonymousUserRightCount,omitnil,omitempty" name:"AnonymousUserRightCount"`

	// The number of credential information acquisition events
	CredentialInformationObtainCount *uint64 `json:"CredentialInformationObtainCount,omitnil,omitempty" name:"CredentialInformationObtainCount"`

	// The number of sensitive data mounting events
	SensitiveDataMountCount *uint64 `json:"SensitiveDataMountCount,omitnil,omitempty" name:"SensitiveDataMountCount"`

	// The number of command execution events
	CmdExecCount *uint64 `json:"CmdExecCount,omitnil,omitempty" name:"CmdExecCount"`

	// The number of abnormal scheduled task events
	AbnormalScheduledTaskCount *uint64 `json:"AbnormalScheduledTaskCount,omitnil,omitempty" name:"AbnormalScheduledTaskCount"`

	// The number of static pods created
	StaticsPodCreateCount *uint64 `json:"StaticsPodCreateCount,omitnil,omitempty" name:"StaticsPodCreateCount"`

	// The number of suspicious containers created
	DoubtfulContainerCreateCount *uint64 `json:"DoubtfulContainerCreateCount,omitnil,omitempty" name:"DoubtfulContainerCreateCount"`

	// The number of custom rule events
	UserDefinedRuleCount *uint64 `json:"UserDefinedRuleCount,omitnil,omitempty" name:"UserDefinedRuleCount"`

	// The number of anonymous access events
	AnonymousAccessCount *uint64 `json:"AnonymousAccessCount,omitnil,omitempty" name:"AnonymousAccessCount"`

	// The number of privilege container events
	PrivilegeContainerCount *uint64 `json:"PrivilegeContainerCount,omitnil,omitempty" name:"PrivilegeContainerCount"`
}

// Predefined struct for user
type ModifyAbnormalProcessRuleStatusRequestParams struct {
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`

	// Policy switch. Valid values: `true` (on); `false` (off).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`
}

type ModifyAbnormalProcessRuleStatusRequest struct {
	*tchttp.BaseRequest
	
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`

	// Policy switch. Valid values: `true` (on); `false` (off).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`
}

func (r *ModifyAbnormalProcessRuleStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAbnormalProcessRuleStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleIdSet")
	delete(f, "IsEnable")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAbnormalProcessRuleStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAbnormalProcessRuleStatusResponseParams 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 ModifyAbnormalProcessRuleStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAbnormalProcessRuleStatusResponseParams `json:"Response"`
}

func (r *ModifyAbnormalProcessRuleStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAbnormalProcessRuleStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAbnormalProcessStatusRequestParams struct {
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type ModifyAbnormalProcessStatusRequest struct {
	*tchttp.BaseRequest
	
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

func (r *ModifyAbnormalProcessStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAbnormalProcessStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIdSet")
	delete(f, "Status")
	delete(f, "Remark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAbnormalProcessStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAbnormalProcessStatusResponseParams 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 ModifyAbnormalProcessStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAbnormalProcessStatusResponseParams `json:"Response"`
}

func (r *ModifyAbnormalProcessStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAbnormalProcessStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAccessControlRuleStatusRequestParams struct {
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`

	// Policy switch. Valid values: `true` (on); `false` (off).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`
}

type ModifyAccessControlRuleStatusRequest struct {
	*tchttp.BaseRequest
	
	// Policy IDs
	RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"`

	// Policy switch. Valid values: `true` (on); `false` (off).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`
}

func (r *ModifyAccessControlRuleStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAccessControlRuleStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleIdSet")
	delete(f, "IsEnable")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAccessControlRuleStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAccessControlRuleStatusResponseParams 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 ModifyAccessControlRuleStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAccessControlRuleStatusResponseParams `json:"Response"`
}

func (r *ModifyAccessControlRuleStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAccessControlRuleStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAccessControlStatusRequestParams struct {
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status     
	// `EVENT_DEALED`: Processed.
	//      `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type ModifyAccessControlStatusRequest struct {
	*tchttp.BaseRequest
	
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status     
	// `EVENT_DEALED`: Processed.
	//      `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

func (r *ModifyAccessControlStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAccessControlStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIdSet")
	delete(f, "Status")
	delete(f, "Remark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAccessControlStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAccessControlStatusResponseParams 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 ModifyAccessControlStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAccessControlStatusResponseParams `json:"Response"`
}

func (r *ModifyAccessControlStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAccessControlStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetImageRegistryScanStopOneKeyRequestParams struct {
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// List of IDs of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type ModifyAssetImageRegistryScanStopOneKeyRequest struct {
	*tchttp.BaseRequest
	
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// List of IDs of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

func (r *ModifyAssetImageRegistryScanStopOneKeyRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetImageRegistryScanStopOneKeyRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "All")
	delete(f, "Images")
	delete(f, "Id")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAssetImageRegistryScanStopOneKeyRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetImageRegistryScanStopOneKeyResponseParams 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 ModifyAssetImageRegistryScanStopOneKeyResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAssetImageRegistryScanStopOneKeyResponseParams `json:"Response"`
}

func (r *ModifyAssetImageRegistryScanStopOneKeyResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetImageRegistryScanStopOneKeyResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetImageRegistryScanStopRequestParams struct {
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// List of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// List of images not to be scanned, which is used together with `Filters`.
	ExcludeImageList []*uint64 `json:"ExcludeImageList,omitnil,omitempty" name:"ExcludeImageList"`

	// Whether to scan only the latest repository images
	OnlyScanLatest *bool `json:"OnlyScanLatest,omitnil,omitempty" name:"OnlyScanLatest"`
}

type ModifyAssetImageRegistryScanStopRequest struct {
	*tchttp.BaseRequest
	
	// Whether to scan all images
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of scanned images
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// List of scanned images
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// List of images not to be scanned, which is used together with `Filters`.
	ExcludeImageList []*uint64 `json:"ExcludeImageList,omitnil,omitempty" name:"ExcludeImageList"`

	// Whether to scan only the latest repository images
	OnlyScanLatest *bool `json:"OnlyScanLatest,omitnil,omitempty" name:"OnlyScanLatest"`
}

func (r *ModifyAssetImageRegistryScanStopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetImageRegistryScanStopRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "All")
	delete(f, "Images")
	delete(f, "Id")
	delete(f, "Filters")
	delete(f, "ExcludeImageList")
	delete(f, "OnlyScanLatest")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAssetImageRegistryScanStopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetImageRegistryScanStopResponseParams 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 ModifyAssetImageRegistryScanStopResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAssetImageRegistryScanStopResponseParams `json:"Response"`
}

func (r *ModifyAssetImageRegistryScanStopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetImageRegistryScanStopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetImageScanStopRequestParams struct {
	// Task ID
	TaskID *string `json:"TaskID,omitnil,omitempty" name:"TaskID"`

	// Image ID
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Specified image IDs to be excluded
	ExcludeImageIds *string `json:"ExcludeImageIds,omitnil,omitempty" name:"ExcludeImageIds"`
}

type ModifyAssetImageScanStopRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskID *string `json:"TaskID,omitnil,omitempty" name:"TaskID"`

	// Image ID
	Images []*string `json:"Images,omitnil,omitempty" name:"Images"`

	// Filter
	Filters []*AssetFilters `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Specified image IDs to be excluded
	ExcludeImageIds *string `json:"ExcludeImageIds,omitnil,omitempty" name:"ExcludeImageIds"`
}

func (r *ModifyAssetImageScanStopRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetImageScanStopRequest) 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, "Images")
	delete(f, "Filters")
	delete(f, "ExcludeImageIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAssetImageScanStopRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetImageScanStopResponseParams struct {
	// Paused
	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 ModifyAssetImageScanStopResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAssetImageScanStopResponseParams `json:"Response"`
}

func (r *ModifyAssetImageScanStopResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetImageScanStopResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetRequestParams struct {
	// Sync all
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of servers to be synced. Either this parameter or `All` (preferred) must be selected.
	Hosts []*string `json:"Hosts,omitnil,omitempty" name:"Hosts"`
}

type ModifyAssetRequest struct {
	*tchttp.BaseRequest
	
	// Sync all
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// List of servers to be synced. Either this parameter or `All` (preferred) must be selected.
	Hosts []*string `json:"Hosts,omitnil,omitempty" name:"Hosts"`
}

func (r *ModifyAssetRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "All")
	delete(f, "Hosts")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyAssetRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyAssetResponseParams struct {
	// Sending result of the sync task
	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 ModifyAssetResponse struct {
	*tchttp.BaseResponse
	Response *ModifyAssetResponseParams `json:"Response"`
}

func (r *ModifyAssetResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyAssetResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyCompliancePeriodTaskRequestParams struct {
	// ID of the scheduled task to be modified, which is returned by the `DescribeCompliancePeriodTaskList` API.
	PeriodTaskId *uint64 `json:"PeriodTaskId,omitnil,omitempty" name:"PeriodTaskId"`

	// Cycle rule of the scheduled task, which indicates no modification if the field is not specified.
	PeriodRule *CompliancePeriodTaskRule `json:"PeriodRule,omitnil,omitempty" name:"PeriodRule"`

	// Compliance standard, which indicates no modification if the field is not specified.
	StandardSettings []*ComplianceBenchmarkStandardEnable `json:"StandardSettings,omitnil,omitempty" name:"StandardSettings"`
}

type ModifyCompliancePeriodTaskRequest struct {
	*tchttp.BaseRequest
	
	// ID of the scheduled task to be modified, which is returned by the `DescribeCompliancePeriodTaskList` API.
	PeriodTaskId *uint64 `json:"PeriodTaskId,omitnil,omitempty" name:"PeriodTaskId"`

	// Cycle rule of the scheduled task, which indicates no modification if the field is not specified.
	PeriodRule *CompliancePeriodTaskRule `json:"PeriodRule,omitnil,omitempty" name:"PeriodRule"`

	// Compliance standard, which indicates no modification if the field is not specified.
	StandardSettings []*ComplianceBenchmarkStandardEnable `json:"StandardSettings,omitnil,omitempty" name:"StandardSettings"`
}

func (r *ModifyCompliancePeriodTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyCompliancePeriodTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "PeriodTaskId")
	delete(f, "PeriodRule")
	delete(f, "StandardSettings")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyCompliancePeriodTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyCompliancePeriodTaskResponseParams 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 ModifyCompliancePeriodTaskResponse struct {
	*tchttp.BaseResponse
	Response *ModifyCompliancePeriodTaskResponseParams `json:"Response"`
}

func (r *ModifyCompliancePeriodTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyCompliancePeriodTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyContainerNetStatusRequestParams struct {
	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

	// Status
	// `EVENT_ISOLATE_CONTAINER`: Isolate the container.
	// `EVENT_RESOTRE_CONTAINER`: Recover the container.
	// )
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifyContainerNetStatusRequest struct {
	*tchttp.BaseRequest
	
	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

	// Status
	// `EVENT_ISOLATE_CONTAINER`: Isolate the container.
	// `EVENT_RESOTRE_CONTAINER`: Recover the container.
	// )
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ModifyContainerNetStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyContainerNetStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ContainerID")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyContainerNetStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyContainerNetStatusResponseParams 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 ModifyContainerNetStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyContainerNetStatusResponseParams `json:"Response"`
}

func (r *ModifyContainerNetStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyContainerNetStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEscapeEventStatusRequestParams struct {
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status:
	// `EVENT_UNDEAL`: Pending (Unignored).
	// `EVENT_DEALED`: Processed.
	// `EVENT_IGNORE`: Ignored.
	// `EVENT_DELETE`: Deleted.
	// `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Array of allowed image IDs
	ImageIDs []*string `json:"ImageIDs,omitnil,omitempty" name:"ImageIDs"`

	// Allowed event type
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`
}

type ModifyEscapeEventStatusRequest struct {
	*tchttp.BaseRequest
	
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status:
	// `EVENT_UNDEAL`: Pending (Unignored).
	// `EVENT_DEALED`: Processed.
	// `EVENT_IGNORE`: Ignored.
	// `EVENT_DELETE`: Deleted.
	// `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Array of allowed image IDs
	ImageIDs []*string `json:"ImageIDs,omitnil,omitempty" name:"ImageIDs"`

	// Allowed event type
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`
}

func (r *ModifyEscapeEventStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEscapeEventStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIdSet")
	delete(f, "Status")
	delete(f, "Remark")
	delete(f, "ImageIDs")
	delete(f, "EventType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEscapeEventStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEscapeEventStatusResponseParams 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 ModifyEscapeEventStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyEscapeEventStatusResponseParams `json:"Response"`
}

func (r *ModifyEscapeEventStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEscapeEventStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEscapeRuleRequestParams struct {
	// Array to be modified
	RuleSet []*EscapeRuleEnabled `json:"RuleSet,omitnil,omitempty" name:"RuleSet"`
}

type ModifyEscapeRuleRequest struct {
	*tchttp.BaseRequest
	
	// Array to be modified
	RuleSet []*EscapeRuleEnabled `json:"RuleSet,omitnil,omitempty" name:"RuleSet"`
}

func (r *ModifyEscapeRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEscapeRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEscapeRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEscapeRuleResponseParams 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 ModifyEscapeRuleResponse struct {
	*tchttp.BaseResponse
	Response *ModifyEscapeRuleResponseParams `json:"Response"`
}

func (r *ModifyEscapeRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEscapeRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEscapeWhiteListRequestParams struct {
	// Allowed event type
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Allowed item ID
	IDSet []*int64 `json:"IDSet,omitnil,omitempty" name:"IDSet"`
}

type ModifyEscapeWhiteListRequest struct {
	*tchttp.BaseRequest
	
	// Allowed event type
	//    `ESCAPE_CGROUPS`: Cgroup escape.
	//    `ESCAPE_TAMPER_SENSITIVE_FILE`: File tamper escape.
	//    `ESCAPE_DOCKER_API`: Docker API access escape.
	//    `ESCAPE_VUL_OCCURRED`: Vulnerability exploit.
	//    `MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `PRIVILEGE_CONTAINER_START`: Privileged container.
	//    `PRIVILEGE`: Program privilege escalation escape.
	EventType []*string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Allowed item ID
	IDSet []*int64 `json:"IDSet,omitnil,omitempty" name:"IDSet"`
}

func (r *ModifyEscapeWhiteListRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEscapeWhiteListRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventType")
	delete(f, "IDSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyEscapeWhiteListRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyEscapeWhiteListResponseParams 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 ModifyEscapeWhiteListResponse struct {
	*tchttp.BaseResponse
	Response *ModifyEscapeWhiteListResponseParams `json:"Response"`
}

func (r *ModifyEscapeWhiteListResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyEscapeWhiteListResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ModifyIgnoreVul struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// IDs of images to be ignored. If it is not specified, it indicates to ignore all.
	ImageIDs []*string `json:"ImageIDs,omitnil,omitempty" name:"ImageIDs"`

	// When there is an image
	// Image type. Valid values: `LOCAL` (local image); `REGISTRY` (repository image).
	ImageType *string `json:"ImageType,omitnil,omitempty" name:"ImageType"`
}

// Predefined struct for user
type ModifyImageAuthorizedRequestParams struct {
	// Whether to license all local images, which has a higher priority than licensing by local image ID. When it is `true`, `UpdatedLocalImageCnt` should be greater than `0`.
	AllLocalImages *bool `json:"AllLocalImages,omitnil,omitempty" name:"AllLocalImages"`

	// Whether to license all repository images, with a higher priority than licensing by image ID. When it is `true`, `UpdatedRegistryImageCnt` should be greater than `0`.
	AllRegistryImages *bool `json:"AllRegistryImages,omitnil,omitempty" name:"AllRegistryImages"`

	// Specified number of local images to be licensed, with the highest priority. Any difference between this number and the actual number will be randomly ignored.
	UpdatedLocalImageCnt *uint64 `json:"UpdatedLocalImageCnt,omitnil,omitempty" name:"UpdatedLocalImageCnt"`

	// Specified number of repository images to be licensed, with the highest priority. Any difference between this number and the actual number will be randomly ignored.
	UpdatedRegistryImageCnt *uint64 `json:"UpdatedRegistryImageCnt,omitnil,omitempty" name:"UpdatedRegistryImageCnt"`

	// Licensing by eligible local images. Valid values of local image source: `ASSETIMAGE` (local image list); `IMAGEALL` (local image sync). This parameter is required when `AllLocalImages` is `false`, `LocalImageIds` is empty, and `UpdatedLocalImageCnt` is greater than `0`.
	ImageSourceType *string `json:"ImageSourceType,omitnil,omitempty" name:"ImageSourceType"`

	// Licensing by eligible local images. This parameter is required when `AllLocalImages` is `false`, `LocalImageIds` is empty, and `UpdatedLocalImageCnt` is greater than `0`.
	LocalImageFilter []*AssetFilters `json:"LocalImageFilter,omitnil,omitempty" name:"LocalImageFilter"`

	// Licensing by eligible repository images. This parameter is required when `AllRegistryImages` is `false`, `RegistryImageIds` is empty, and `UpdatedRegistryImageCnt` is greater than `0`.
	RegistryImageFilter []*AssetFilters `json:"RegistryImageFilter,omitnil,omitempty" name:"RegistryImageFilter"`

	// Licensing by eligible images, excluding specified local image IDs
	ExcludeLocalImageIds []*string `json:"ExcludeLocalImageIds,omitnil,omitempty" name:"ExcludeLocalImageIds"`

	// Licensing by eligible images, excluding specified repository image IDs
	ExcludeRegistryImageIds []*string `json:"ExcludeRegistryImageIds,omitnil,omitempty" name:"ExcludeRegistryImageIds"`

	// Licensing by local image ID. This parameter has a higher priority than licensing by eligible images. It is required when `AllLocalImages` is `false`, `LocalImageFilter` is empty, and `UpdatedLocalImageCnt` is greater than `0`.
	LocalImageIds []*string `json:"LocalImageIds,omitnil,omitempty" name:"LocalImageIds"`

	// Licensing by repository image ID. This parameter has a higher priority than licensing by eligible images. It is required when `AllRegistryImages` is `false`, `RegistryImageFilter` is empty, and `UpdatedRegistryImageCnt` is greater than `0`.
	RegistryImageIds []*string `json:"RegistryImageIds,omitnil,omitempty" name:"RegistryImageIds"`

	// Whether to only include latest images. This parameter is required for repository images when `RegistryImageFilter` is not empty and `UpdatedRegistryImageCnt` is greater than `0`.
	OnlyShowLatest *bool `json:"OnlyShowLatest,omitnil,omitempty" name:"OnlyShowLatest"`
}

type ModifyImageAuthorizedRequest struct {
	*tchttp.BaseRequest
	
	// Whether to license all local images, which has a higher priority than licensing by local image ID. When it is `true`, `UpdatedLocalImageCnt` should be greater than `0`.
	AllLocalImages *bool `json:"AllLocalImages,omitnil,omitempty" name:"AllLocalImages"`

	// Whether to license all repository images, with a higher priority than licensing by image ID. When it is `true`, `UpdatedRegistryImageCnt` should be greater than `0`.
	AllRegistryImages *bool `json:"AllRegistryImages,omitnil,omitempty" name:"AllRegistryImages"`

	// Specified number of local images to be licensed, with the highest priority. Any difference between this number and the actual number will be randomly ignored.
	UpdatedLocalImageCnt *uint64 `json:"UpdatedLocalImageCnt,omitnil,omitempty" name:"UpdatedLocalImageCnt"`

	// Specified number of repository images to be licensed, with the highest priority. Any difference between this number and the actual number will be randomly ignored.
	UpdatedRegistryImageCnt *uint64 `json:"UpdatedRegistryImageCnt,omitnil,omitempty" name:"UpdatedRegistryImageCnt"`

	// Licensing by eligible local images. Valid values of local image source: `ASSETIMAGE` (local image list); `IMAGEALL` (local image sync). This parameter is required when `AllLocalImages` is `false`, `LocalImageIds` is empty, and `UpdatedLocalImageCnt` is greater than `0`.
	ImageSourceType *string `json:"ImageSourceType,omitnil,omitempty" name:"ImageSourceType"`

	// Licensing by eligible local images. This parameter is required when `AllLocalImages` is `false`, `LocalImageIds` is empty, and `UpdatedLocalImageCnt` is greater than `0`.
	LocalImageFilter []*AssetFilters `json:"LocalImageFilter,omitnil,omitempty" name:"LocalImageFilter"`

	// Licensing by eligible repository images. This parameter is required when `AllRegistryImages` is `false`, `RegistryImageIds` is empty, and `UpdatedRegistryImageCnt` is greater than `0`.
	RegistryImageFilter []*AssetFilters `json:"RegistryImageFilter,omitnil,omitempty" name:"RegistryImageFilter"`

	// Licensing by eligible images, excluding specified local image IDs
	ExcludeLocalImageIds []*string `json:"ExcludeLocalImageIds,omitnil,omitempty" name:"ExcludeLocalImageIds"`

	// Licensing by eligible images, excluding specified repository image IDs
	ExcludeRegistryImageIds []*string `json:"ExcludeRegistryImageIds,omitnil,omitempty" name:"ExcludeRegistryImageIds"`

	// Licensing by local image ID. This parameter has a higher priority than licensing by eligible images. It is required when `AllLocalImages` is `false`, `LocalImageFilter` is empty, and `UpdatedLocalImageCnt` is greater than `0`.
	LocalImageIds []*string `json:"LocalImageIds,omitnil,omitempty" name:"LocalImageIds"`

	// Licensing by repository image ID. This parameter has a higher priority than licensing by eligible images. It is required when `AllRegistryImages` is `false`, `RegistryImageFilter` is empty, and `UpdatedRegistryImageCnt` is greater than `0`.
	RegistryImageIds []*string `json:"RegistryImageIds,omitnil,omitempty" name:"RegistryImageIds"`

	// Whether to only include latest images. This parameter is required for repository images when `RegistryImageFilter` is not empty and `UpdatedRegistryImageCnt` is greater than `0`.
	OnlyShowLatest *bool `json:"OnlyShowLatest,omitnil,omitempty" name:"OnlyShowLatest"`
}

func (r *ModifyImageAuthorizedRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyImageAuthorizedRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AllLocalImages")
	delete(f, "AllRegistryImages")
	delete(f, "UpdatedLocalImageCnt")
	delete(f, "UpdatedRegistryImageCnt")
	delete(f, "ImageSourceType")
	delete(f, "LocalImageFilter")
	delete(f, "RegistryImageFilter")
	delete(f, "ExcludeLocalImageIds")
	delete(f, "ExcludeRegistryImageIds")
	delete(f, "LocalImageIds")
	delete(f, "RegistryImageIds")
	delete(f, "OnlyShowLatest")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyImageAuthorizedRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyImageAuthorizedResponseParams 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 ModifyImageAuthorizedResponse struct {
	*tchttp.BaseResponse
	Response *ModifyImageAuthorizedResponseParams `json:"Response"`
}

func (r *ModifyImageAuthorizedResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyImageAuthorizedResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyK8sApiAbnormalEventStatusRequestParams struct {
	// Event ID set
	EventIDSet []*uint64 `json:"EventIDSet,omitnil,omitempty" name:"EventIDSet"`

	// Status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type ModifyK8sApiAbnormalEventStatusRequest struct {
	*tchttp.BaseRequest
	
	// Event ID set
	EventIDSet []*uint64 `json:"EventIDSet,omitnil,omitempty" name:"EventIDSet"`

	// Status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

func (r *ModifyK8sApiAbnormalEventStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyK8sApiAbnormalEventStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIDSet")
	delete(f, "Status")
	delete(f, "Remark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyK8sApiAbnormalEventStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyK8sApiAbnormalEventStatusResponseParams 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 ModifyK8sApiAbnormalEventStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyK8sApiAbnormalEventStatusResponseParams `json:"Response"`
}

func (r *ModifyK8sApiAbnormalEventStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyK8sApiAbnormalEventStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyK8sApiAbnormalRuleInfoRequestParams struct {
	// Rule details
	RuleInfo *K8sApiAbnormalRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`
}

type ModifyK8sApiAbnormalRuleInfoRequest struct {
	*tchttp.BaseRequest
	
	// Rule details
	RuleInfo *K8sApiAbnormalRuleInfo `json:"RuleInfo,omitnil,omitempty" name:"RuleInfo"`
}

func (r *ModifyK8sApiAbnormalRuleInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyK8sApiAbnormalRuleInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RuleInfo")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyK8sApiAbnormalRuleInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyK8sApiAbnormalRuleInfoResponseParams 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 ModifyK8sApiAbnormalRuleInfoResponse struct {
	*tchttp.BaseResponse
	Response *ModifyK8sApiAbnormalRuleInfoResponseParams `json:"Response"`
}

func (r *ModifyK8sApiAbnormalRuleInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyK8sApiAbnormalRuleInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyK8sApiAbnormalRuleStatusRequestParams struct {
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`

	// Status of the rule. Values: `true` (Enabled), `false` (Disabled)
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifyK8sApiAbnormalRuleStatusRequest struct {
	*tchttp.BaseRequest
	
	// Rule ID
	RuleID *string `json:"RuleID,omitnil,omitempty" name:"RuleID"`

	// Status of the rule. Values: `true` (Enabled), `false` (Disabled)
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ModifyK8sApiAbnormalRuleStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyK8sApiAbnormalRuleStatusRequest) 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, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyK8sApiAbnormalRuleStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyK8sApiAbnormalRuleStatusResponseParams 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 ModifyK8sApiAbnormalRuleStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyK8sApiAbnormalRuleStatusResponseParams `json:"Response"`
}

func (r *ModifyK8sApiAbnormalRuleStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyK8sApiAbnormalRuleStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyReverseShellStatusRequestParams struct {
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type ModifyReverseShellStatusRequest struct {
	*tchttp.BaseRequest
	
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

func (r *ModifyReverseShellStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyReverseShellStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIdSet")
	delete(f, "Status")
	delete(f, "Remark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyReverseShellStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyReverseShellStatusResponseParams 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 ModifyReverseShellStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyReverseShellStatusResponseParams `json:"Response"`
}

func (r *ModifyReverseShellStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyReverseShellStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskSyscallStatusRequestParams struct {
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type ModifyRiskSyscallStatusRequest struct {
	*tchttp.BaseRequest
	
	// List of event IDs
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//      `EVENT_DEL`: Deleted.
	//      `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

func (r *ModifyRiskSyscallStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskSyscallStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIdSet")
	delete(f, "Status")
	delete(f, "Remark")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRiskSyscallStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyRiskSyscallStatusResponseParams 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 ModifyRiskSyscallStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyRiskSyscallStatusResponseParams `json:"Response"`
}

func (r *ModifyRiskSyscallStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyRiskSyscallStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogCleanSettingInfoRequestParams struct {
	// Minimum storage (50-99) for triggering clearing
	ReservesLimit *uint64 `json:"ReservesLimit,omitnil,omitempty" name:"ReservesLimit"`

	// Storage limit (greater than 0 and smaller than `ReservesLimit`) for stopping clearing
	ReservesDeadline *uint64 `json:"ReservesDeadline,omitnil,omitempty" name:"ReservesDeadline"`

	// Storage period (no less than one day) for triggering clearing
	DayLimit *uint64 `json:"DayLimit,omitnil,omitempty" name:"DayLimit"`
}

type ModifySecLogCleanSettingInfoRequest struct {
	*tchttp.BaseRequest
	
	// Minimum storage (50-99) for triggering clearing
	ReservesLimit *uint64 `json:"ReservesLimit,omitnil,omitempty" name:"ReservesLimit"`

	// Storage limit (greater than 0 and smaller than `ReservesLimit`) for stopping clearing
	ReservesDeadline *uint64 `json:"ReservesDeadline,omitnil,omitempty" name:"ReservesDeadline"`

	// Storage period (no less than one day) for triggering clearing
	DayLimit *uint64 `json:"DayLimit,omitnil,omitempty" name:"DayLimit"`
}

func (r *ModifySecLogCleanSettingInfoRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogCleanSettingInfoRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ReservesLimit")
	delete(f, "ReservesDeadline")
	delete(f, "DayLimit")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecLogCleanSettingInfoRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogCleanSettingInfoResponseParams 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 ModifySecLogCleanSettingInfoResponse struct {
	*tchttp.BaseResponse
	Response *ModifySecLogCleanSettingInfoResponseParams `json:"Response"`
}

func (r *ModifySecLogCleanSettingInfoResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogCleanSettingInfoResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogDeliveryClsSettingRequestParams struct {
	// Log information
	List []*SecLogDeliveryClsSettingInfo `json:"List,omitnil,omitempty" name:"List"`
}

type ModifySecLogDeliveryClsSettingRequest struct {
	*tchttp.BaseRequest
	
	// Log information
	List []*SecLogDeliveryClsSettingInfo `json:"List,omitnil,omitempty" name:"List"`
}

func (r *ModifySecLogDeliveryClsSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogDeliveryClsSettingRequest) 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", "ModifySecLogDeliveryClsSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogDeliveryClsSettingResponseParams 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 ModifySecLogDeliveryClsSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifySecLogDeliveryClsSettingResponseParams `json:"Response"`
}

func (r *ModifySecLogDeliveryClsSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogDeliveryClsSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogDeliveryKafkaSettingRequestParams struct {
	// Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Domain
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Username
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Password
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// List of log types
	LogTypeList []*SecLogDeliveryKafkaSettingInfo `json:"LogTypeList,omitnil,omitempty" name:"LogTypeList"`

	// Access type
	AccessType *int64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Kafka version number
	KafkaVersion *string `json:"KafkaVersion,omitnil,omitempty" name:"KafkaVersion"`

	// Region ID
	RegionID *string `json:"RegionID,omitnil,omitempty" name:"RegionID"`
}

type ModifySecLogDeliveryKafkaSettingRequest struct {
	*tchttp.BaseRequest
	
	// Instance ID
	InstanceID *string `json:"InstanceID,omitnil,omitempty" name:"InstanceID"`

	// Instance name
	InstanceName *string `json:"InstanceName,omitnil,omitempty" name:"InstanceName"`

	// Domain
	Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"`

	// Username
	User *string `json:"User,omitnil,omitempty" name:"User"`

	// Password
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// List of log types
	LogTypeList []*SecLogDeliveryKafkaSettingInfo `json:"LogTypeList,omitnil,omitempty" name:"LogTypeList"`

	// Access type
	AccessType *int64 `json:"AccessType,omitnil,omitempty" name:"AccessType"`

	// Kafka version number
	KafkaVersion *string `json:"KafkaVersion,omitnil,omitempty" name:"KafkaVersion"`

	// Region ID
	RegionID *string `json:"RegionID,omitnil,omitempty" name:"RegionID"`
}

func (r *ModifySecLogDeliveryKafkaSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogDeliveryKafkaSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "InstanceID")
	delete(f, "InstanceName")
	delete(f, "Domain")
	delete(f, "User")
	delete(f, "Password")
	delete(f, "LogTypeList")
	delete(f, "AccessType")
	delete(f, "KafkaVersion")
	delete(f, "RegionID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecLogDeliveryKafkaSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogDeliveryKafkaSettingResponseParams 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 ModifySecLogDeliveryKafkaSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifySecLogDeliveryKafkaSettingResponseParams `json:"Response"`
}

func (r *ModifySecLogDeliveryKafkaSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogDeliveryKafkaSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogJoinObjectsRequestParams struct {
	// Log type
	// Container bash: container_bash
	// Container startup: container_launch
	// K8s API: k8s_api
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// List of QUuids of bound servers
	BindList []*string `json:"BindList,omitnil,omitempty" name:"BindList"`

	// List of QUuids of servers to be unbound
	UnBindList []*string `json:"UnBindList,omitnil,omitempty" name:"UnBindList"`

	// Node type.
	// `NORMAL`: General node (default)
	// `SUPER`: Super node
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`
}

type ModifySecLogJoinObjectsRequest struct {
	*tchttp.BaseRequest
	
	// Log type
	// Container bash: container_bash
	// Container startup: container_launch
	// K8s API: k8s_api
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// List of QUuids of bound servers
	BindList []*string `json:"BindList,omitnil,omitempty" name:"BindList"`

	// List of QUuids of servers to be unbound
	UnBindList []*string `json:"UnBindList,omitnil,omitempty" name:"UnBindList"`

	// Node type.
	// `NORMAL`: General node (default)
	// `SUPER`: Super node
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`
}

func (r *ModifySecLogJoinObjectsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogJoinObjectsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LogType")
	delete(f, "BindList")
	delete(f, "UnBindList")
	delete(f, "NodeType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecLogJoinObjectsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogJoinObjectsResponseParams 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 ModifySecLogJoinObjectsResponse struct {
	*tchttp.BaseResponse
	Response *ModifySecLogJoinObjectsResponseParams `json:"Response"`
}

func (r *ModifySecLogJoinObjectsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogJoinObjectsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogJoinStateRequestParams struct {
	// Log type
	// Container bash: container_bash
	// Container startup: container_launch
	// K8s API: k8s_api
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Status. Valid values: `true` (enabled); `false` (disabled).
	State *bool `json:"State,omitnil,omitempty" name:"State"`
}

type ModifySecLogJoinStateRequest struct {
	*tchttp.BaseRequest
	
	// Log type
	// Container bash: container_bash
	// Container startup: container_launch
	// K8s API: k8s_api
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Status. Valid values: `true` (enabled); `false` (disabled).
	State *bool `json:"State,omitnil,omitempty" name:"State"`
}

func (r *ModifySecLogJoinStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogJoinStateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LogType")
	delete(f, "State")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecLogJoinStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogJoinStateResponseParams 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 ModifySecLogJoinStateResponse struct {
	*tchttp.BaseResponse
	Response *ModifySecLogJoinStateResponseParams `json:"Response"`
}

func (r *ModifySecLogJoinStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogJoinStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogKafkaUINRequestParams struct {
	// Target UIN
	DstUIN *string `json:"DstUIN,omitnil,omitempty" name:"DstUIN"`
}

type ModifySecLogKafkaUINRequest struct {
	*tchttp.BaseRequest
	
	// Target UIN
	DstUIN *string `json:"DstUIN,omitnil,omitempty" name:"DstUIN"`
}

func (r *ModifySecLogKafkaUINRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogKafkaUINRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "DstUIN")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySecLogKafkaUINRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifySecLogKafkaUINResponseParams 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 ModifySecLogKafkaUINResponse struct {
	*tchttp.BaseResponse
	Response *ModifySecLogKafkaUINResponseParams `json:"Response"`
}

func (r *ModifySecLogKafkaUINResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifySecLogKafkaUINResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusAutoIsolateExampleSwitchRequestParams struct {
	// MD5 checksum of the file
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// Switch. Valid values: `true` (on); `false` (off).
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifyVirusAutoIsolateExampleSwitchRequest struct {
	*tchttp.BaseRequest
	
	// MD5 checksum of the file
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// Switch. Valid values: `true` (on); `false` (off).
	Status *bool `json:"Status,omitnil,omitempty" name:"Status"`
}

func (r *ModifyVirusAutoIsolateExampleSwitchRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusAutoIsolateExampleSwitchRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "MD5")
	delete(f, "Status")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVirusAutoIsolateExampleSwitchRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusAutoIsolateExampleSwitchResponseParams 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 ModifyVirusAutoIsolateExampleSwitchResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVirusAutoIsolateExampleSwitchResponseParams `json:"Response"`
}

func (r *ModifyVirusAutoIsolateExampleSwitchResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusAutoIsolateExampleSwitchResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusAutoIsolateSettingRequestParams struct {
	// Automatic isolation switch. Valid values: `true` (on); `false` (off).
	AutoIsolateSwitch *bool `json:"AutoIsolateSwitch,omitnil,omitempty" name:"AutoIsolateSwitch"`

	// Whether to interrupt the process associated with the isolated file. Valid values: `true` (yes); `false` (no).
	IsKillProgress *bool `json:"IsKillProgress,omitnil,omitempty" name:"IsKillProgress"`
}

type ModifyVirusAutoIsolateSettingRequest struct {
	*tchttp.BaseRequest
	
	// Automatic isolation switch. Valid values: `true` (on); `false` (off).
	AutoIsolateSwitch *bool `json:"AutoIsolateSwitch,omitnil,omitempty" name:"AutoIsolateSwitch"`

	// Whether to interrupt the process associated with the isolated file. Valid values: `true` (yes); `false` (no).
	IsKillProgress *bool `json:"IsKillProgress,omitnil,omitempty" name:"IsKillProgress"`
}

func (r *ModifyVirusAutoIsolateSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusAutoIsolateSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AutoIsolateSwitch")
	delete(f, "IsKillProgress")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVirusAutoIsolateSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusAutoIsolateSettingResponseParams 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 ModifyVirusAutoIsolateSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVirusAutoIsolateSettingResponseParams `json:"Response"`
}

func (r *ModifyVirusAutoIsolateSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusAutoIsolateSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusFileStatusRequestParams struct {
	// IDs of events
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//     `EVENT_DEL`: Deleted.
	//     `EVENT_ADD_WHITE`: Allowed.
	//     `EVENT_PENDING`: Pending.
	// 	`EVENT_ISOLATE_CONTAINER`: Container isolated.
	// 	`EVENT_RESOTRE_CONTAINER`: Container recovered.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Whether to automatically isolate files with the same MD5 checksum
	AutoIsolate *bool `json:"AutoIsolate,omitnil,omitempty" name:"AutoIsolate"`
}

type ModifyVirusFileStatusRequest struct {
	*tchttp.BaseRequest
	
	// IDs of events
	EventIdSet []*string `json:"EventIdSet,omitnil,omitempty" name:"EventIdSet"`

	// Event status   
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//     `EVENT_DEL`: Deleted.
	//     `EVENT_ADD_WHITE`: Allowed.
	//     `EVENT_PENDING`: Pending.
	// 	`EVENT_ISOLATE_CONTAINER`: Container isolated.
	// 	`EVENT_RESOTRE_CONTAINER`: Container recovered.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Whether to automatically isolate files with the same MD5 checksum
	AutoIsolate *bool `json:"AutoIsolate,omitnil,omitempty" name:"AutoIsolate"`
}

func (r *ModifyVirusFileStatusRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusFileStatusRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EventIdSet")
	delete(f, "Status")
	delete(f, "Remark")
	delete(f, "AutoIsolate")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVirusFileStatusRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusFileStatusResponseParams 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 ModifyVirusFileStatusResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVirusFileStatusResponseParams `json:"Response"`
}

func (r *ModifyVirusFileStatusResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusFileStatusResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusMonitorSettingRequestParams struct {
	// Whether to enable scheduled scan
	EnableScan *bool `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Scan all paths
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Valid when `ScanPathAll` is `true`. Valid values of `ScanPathAll`: `0` (scan the following paths); `1` (scan all paths except the following; the scope cannot be greater than `1`).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// Specified path to be excluded or scanned
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`
}

type ModifyVirusMonitorSettingRequest struct {
	*tchttp.BaseRequest
	
	// Whether to enable scheduled scan
	EnableScan *bool `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Scan all paths
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Valid when `ScanPathAll` is `true`. Valid values of `ScanPathAll`: `0` (scan the following paths); `1` (scan all paths except the following; the scope cannot be greater than `1`).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// Specified path to be excluded or scanned
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`
}

func (r *ModifyVirusMonitorSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusMonitorSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EnableScan")
	delete(f, "ScanPathAll")
	delete(f, "ScanPathType")
	delete(f, "ScanPath")
	delete(f, "ScanPathMode")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVirusMonitorSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusMonitorSettingResponseParams 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 ModifyVirusMonitorSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVirusMonitorSettingResponseParams `json:"Response"`
}

func (r *ModifyVirusMonitorSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusMonitorSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusScanSettingRequestParams struct {
	// Whether to enable scheduled scan
	EnableScan *bool `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Check cycle in days. Valid values: `1`, `3`, `7`.
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Scan start time
	BeginScanAt *string `json:"BeginScanAt,omitnil,omitempty" name:"BeginScanAt"`

	// Scan all paths. Valid values: `true` (all); `false` (specified).
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Valid when `ScanPathAll` is `true`. Valid values of `ScanPathAll`: `0` (scan the following paths); `1` (scan all paths except the following).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// Timeout period in hours. Value range: 5-24.
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`

	// Scanned path
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`
}

type ModifyVirusScanSettingRequest struct {
	*tchttp.BaseRequest
	
	// Whether to enable scheduled scan
	EnableScan *bool `json:"EnableScan,omitnil,omitempty" name:"EnableScan"`

	// Check cycle in days. Valid values: `1`, `3`, `7`.
	Cycle *uint64 `json:"Cycle,omitnil,omitempty" name:"Cycle"`

	// Scan start time
	BeginScanAt *string `json:"BeginScanAt,omitnil,omitempty" name:"BeginScanAt"`

	// Scan all paths. Valid values: `true` (all); `false` (specified).
	ScanPathAll *bool `json:"ScanPathAll,omitnil,omitempty" name:"ScanPathAll"`

	// Valid when `ScanPathAll` is `true`. Valid values of `ScanPathAll`: `0` (scan the following paths); `1` (scan all paths except the following).
	ScanPathType *uint64 `json:"ScanPathType,omitnil,omitempty" name:"ScanPathType"`

	// Timeout period in hours. Value range: 5-24.
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Scanning scope. Valid values: `0` (container); `1` (server).
	ScanRangeType *uint64 `json:"ScanRangeType,omitnil,omitempty" name:"ScanRangeType"`

	// Valid values: `true` (all); `false` (specified).
	ScanRangeAll *bool `json:"ScanRangeAll,omitnil,omitempty" name:"ScanRangeAll"`

	// ID of the specified container or server to be scanned, which is based on `ScanRangeType`.
	ScanIds []*string `json:"ScanIds,omitnil,omitempty" name:"ScanIds"`

	// Scanned path
	ScanPath []*string `json:"ScanPath,omitnil,omitempty" name:"ScanPath"`

	// Path scanning mode: 
	// `SCAN_PATH_ALL`: Scan all paths
	// `SCAN_PATH_DEFAULT`: Scan the default path
	// `SCAN_PATH_USER_DEFINE`: Scan the custom path
	ScanPathMode *string `json:"ScanPathMode,omitnil,omitempty" name:"ScanPathMode"`
}

func (r *ModifyVirusScanSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusScanSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "EnableScan")
	delete(f, "Cycle")
	delete(f, "BeginScanAt")
	delete(f, "ScanPathAll")
	delete(f, "ScanPathType")
	delete(f, "Timeout")
	delete(f, "ScanRangeType")
	delete(f, "ScanRangeAll")
	delete(f, "ScanIds")
	delete(f, "ScanPath")
	delete(f, "ScanPathMode")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVirusScanSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusScanSettingResponseParams 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 ModifyVirusScanSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVirusScanSettingResponseParams `json:"Response"`
}

func (r *ModifyVirusScanSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusScanSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusScanTimeoutSettingRequestParams struct {
	// Timeout period in hours. Value range: 5-24.
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Scan type. Valid values: `0` (quick scan); `1` (scheduled scan).
	ScanType *uint64 `json:"ScanType,omitnil,omitempty" name:"ScanType"`
}

type ModifyVirusScanTimeoutSettingRequest struct {
	*tchttp.BaseRequest
	
	// Timeout period in hours. Value range: 5-24.
	Timeout *uint64 `json:"Timeout,omitnil,omitempty" name:"Timeout"`

	// Scan type. Valid values: `0` (quick scan); `1` (scheduled scan).
	ScanType *uint64 `json:"ScanType,omitnil,omitempty" name:"ScanType"`
}

func (r *ModifyVirusScanTimeoutSettingRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusScanTimeoutSettingRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Timeout")
	delete(f, "ScanType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyVirusScanTimeoutSettingRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVirusScanTimeoutSettingResponseParams 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 ModifyVirusScanTimeoutSettingResponse struct {
	*tchttp.BaseResponse
	Response *ModifyVirusScanTimeoutSettingResponseParams `json:"Response"`
}

func (r *ModifyVirusScanTimeoutSettingResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ModifyVirusScanTimeoutSettingResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ModifyVulDefenceEventStatusRequestParams struct {
	// Array of event IDs
	EventIDs []*int64 `json:"EventIDs,omitnil,omitempty" name:"EventIDs"`

	// Operation status:
	// Valid values: `EVENT_DEALED` (processed); `EVENT_IGNORE` (ignore); `EVENT_ISOLATE_CONTAINER` (isolate the container); `EVENT_DEL` (delete).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

type ModifyVulDefenceEventStatusRequest struct {
	*tchttp.BaseRequest
	
	// Array of event IDs
	EventIDs []*int64 `json:"EventIDs,omitnil,omitempty" name:"EventIDs"`

	// Operation status:
	// Valid values: `EVENT_DEALED` (processed); `EVENT_IGNORE` (ignore); `EVENT_ISOLATE_CONTAINER` (isolate the container); `EVENT_DEL` (delete).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`
}

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, "EventIDs")
	delete(f, "Status")
	delete(f, "Remark")
	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 {
	// Whether it is enabled. Valid values: `0` (disabled); `1` (enabled).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Servers to enable exploit prevention. Values: `0` (custom); `1` (all).
	Scope *int64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Specified servers with exploit prevention enabled
	HostIDs []*string `json:"HostIDs,omitnil,omitempty" name:"HostIDs"`

	// Super nodes to enable exploit prevention. Values: `0` (custom); `1` (all).
	SuperScope *int64 `json:"SuperScope,omitnil,omitempty" name:"SuperScope"`

	// List of super node IDs
	NodeIds []*string `json:"NodeIds,omitnil,omitempty" name:"NodeIds"`
}

type ModifyVulDefenceSettingRequest struct {
	*tchttp.BaseRequest
	
	// Whether it is enabled. Valid values: `0` (disabled); `1` (enabled).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Servers to enable exploit prevention. Values: `0` (custom); `1` (all).
	Scope *int64 `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Specified servers with exploit prevention enabled
	HostIDs []*string `json:"HostIDs,omitnil,omitempty" name:"HostIDs"`

	// Super nodes to enable exploit prevention. Values: `0` (custom); `1` (all).
	SuperScope *int64 `json:"SuperScope,omitnil,omitempty" name:"SuperScope"`

	// List of super node IDs
	NodeIds []*string `json:"NodeIds,omitnil,omitempty" name:"NodeIds"`
}

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, "IsEnabled")
	delete(f, "Scope")
	delete(f, "HostIDs")
	delete(f, "SuperScope")
	delete(f, "NodeIds")
	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)
}

type NetworkAuditRecord struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Action
	Action *string `json:"Action,omitnil,omitempty" name:"Action"`

	// Operator
	Operation *string `json:"Operation,omitnil,omitempty" name:"Operation"`

	// Policy name
	NetworkPolicyName *string `json:"NetworkPolicyName,omitnil,omitempty" name:"NetworkPolicyName"`

	// Operation time
	OperationTime *string `json:"OperationTime,omitnil,omitempty" name:"OperationTime"`

	// Operator `appid`
	// Note: This field may return null, indicating that no valid values can be obtained.
	AppId *int64 `json:"AppId,omitnil,omitempty" name:"AppId"`

	// Operator UIN
	Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"`

	// The policy ID.
	// Note: This field may return·`null`, indicating that no valid values can be obtained.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

type NetworkClusterInfoItem struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Cluster version
	ClusterVersion *string `json:"ClusterVersion,omitnil,omitempty" name:"ClusterVersion"`

	// Cluster OS
	ClusterOs *string `json:"ClusterOs,omitnil,omitempty" name:"ClusterOs"`

	// Cluster type
	ClusterType *string `json:"ClusterType,omitnil,omitempty" name:"ClusterType"`

	// Cluster region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Cluster network plugin
	NetworkPolicyPlugin *string `json:"NetworkPolicyPlugin,omitnil,omitempty" name:"NetworkPolicyPlugin"`

	// Cluster status
	ClusterStatus *string `json:"ClusterStatus,omitnil,omitempty" name:"ClusterStatus"`

	// Total number of policies
	TotalRuleCount *int64 `json:"TotalRuleCount,omitnil,omitempty" name:"TotalRuleCount"`

	// Number of enabled policies
	EnableRuleCount *int64 `json:"EnableRuleCount,omitnil,omitempty" name:"EnableRuleCount"`

	// Status of the cluster network plugin. Valid values: `Running` (normal); `Error` (abnormal).
	NetworkPolicyPluginStatus *string `json:"NetworkPolicyPluginStatus,omitnil,omitempty" name:"NetworkPolicyPluginStatus"`

	// Error message of the cluster network plugin
	// Note: This field may return null, indicating that no valid values can be obtained.
	NetworkPolicyPluginError *string `json:"NetworkPolicyPluginError,omitnil,omitempty" name:"NetworkPolicyPluginError"`

	// Cluster network plugin
	// Note: This field may return·`null`, indicating that no valid values can be obtained.
	ClusterNetworkSettings *string `json:"ClusterNetworkSettings,omitnil,omitempty" name:"ClusterNetworkSettings"`
}

type NetworkClusterNamespaceLabelInfo struct {
	// Network space label
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Network space name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`
}

type NetworkClusterPodInfo struct {
	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Pod space
	// Note: This field may return null, indicating that no valid values can be obtained.
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Pod label
	// Note: This field may return null, indicating that no valid values can be obtained.
	Labels *string `json:"Labels,omitnil,omitempty" name:"Labels"`

	// Pod type
	// Note: This field may return null, indicating that no valid values can be obtained.
	WorkloadKind *string `json:"WorkloadKind,omitnil,omitempty" name:"WorkloadKind"`
}

type NetworkCustomPolicy struct {
	// Network policy direction. Valid values: `FROM`, `TO`.
	Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"`

	// Network policy port
	// Note: This field may return null, indicating that no valid values can be obtained.
	Ports []*NetworkPorts `json:"Ports,omitnil,omitempty" name:"Ports"`

	// Network policy object
	// 
	// `PublishedNoConfirm`: Enabled and to be confirmed.
	// 
	// `PublishedConfirmed`: Enabled and confirmed.
	// 
	// `unPublishing`: Disabled.
	// 
	// `Publishing`: Enabled.
	// 
	// `unPublishEdit`: To be enabled.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Peer []*NetworkPeer `json:"Peer,omitnil,omitempty" name:"Peer"`
}

type NetworkPeer struct {
	// Object type:
	// 
	// Namespace: `NamespaceSelector`, which indicates that `NamespaceSelector` has a value.
	// 
	// Pod type: `PodSelector`, which indicates that both `NamespaceSelector` and `PodSelector` have values.
	// 
	// IP type: `IPBlock`, which indicates that only `IPBlock` has a value.
	PeerType *string `json:"PeerType,omitnil,omitempty" name:"PeerType"`

	// Namespace selector
	// Note: This field may return null, indicating that no valid values can be obtained.
	NamespaceSelector *string `json:"NamespaceSelector,omitnil,omitempty" name:"NamespaceSelector"`

	// Pod selector
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// IP selector
	// Note: This field may return null, indicating that no valid values can be obtained.
	IPBlock *string `json:"IPBlock,omitnil,omitempty" name:"IPBlock"`
}

type NetworkPolicyInfoItem struct {
	// Network policy name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Network policy description
	// Note: This field may return null, indicating that no valid values can be obtained.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Publishing status:
	// 
	// `PublishedNoConfirm`: Enabled and to be confirmed.
	// 
	// `PublishedConfirmed`: Enabled and confirmed.
	// 
	// `unPublishing`: Disabled.
	// 
	// `Publishing`: Enabled.
	// 
	// `unPublishEdit`: To be enabled.
	PublishStatus *string `json:"PublishStatus,omitnil,omitempty" name:"PublishStatus"`

	// Policy type:
	// 
	// `System`: Synched from the cluster.
	// 
	// `Manual`: Added manually.
	PolicySourceType *string `json:"PolicySourceType,omitnil,omitempty" name:"PolicySourceType"`

	// Policy space
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Policy creation date
	PolicyCreateTime *string `json:"PolicyCreateTime,omitnil,omitempty" name:"PolicyCreateTime"`

	// Policy type
	// 
	// kube-router: KubeRouter
	// 
	// cilium: Cilium
	NetworkPolicyPlugin *string `json:"NetworkPolicyPlugin,omitnil,omitempty" name:"NetworkPolicyPlugin"`

	// Policy publishing result
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublishResult *string `json:"PublishResult,omitnil,omitempty" name:"PublishResult"`

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Object
	// Note: This field may return null, indicating that no valid values can be obtained.
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// Network policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`
}

type NetworkPorts struct {
	// Protocol of the network policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Port of the network policy
	// Note: This field may return null, indicating that no valid values can be obtained.
	Port *string `json:"Port,omitnil,omitempty" name:"Port"`
}

// Predefined struct for user
type OpenTcssTrialRequestParams struct {

}

type OpenTcssTrialRequest struct {
	*tchttp.BaseRequest
	
}

func (r *OpenTcssTrialRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *OpenTcssTrialRequest) 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", "OpenTcssTrialRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type OpenTcssTrialResponseParams struct {
	// End time of the trial
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Start time of the trial
	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 OpenTcssTrialResponse struct {
	*tchttp.BaseResponse
	Response *OpenTcssTrialResponseParams `json:"Response"`
}

func (r *OpenTcssTrialResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *OpenTcssTrialResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type PortInfo struct {
	// Type
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Server port
	PublicPort *uint64 `json:"PublicPort,omitnil,omitempty" name:"PublicPort"`

	// Container port
	ContainerPort *uint64 `json:"ContainerPort,omitnil,omitempty" name:"ContainerPort"`

	// Container PID
	ContainerPID *uint64 `json:"ContainerPID,omitnil,omitempty" name:"ContainerPID"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Server IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Monitored address in the container
	ListenContainer *string `json:"ListenContainer,omitnil,omitempty" name:"ListenContainer"`

	// Monitored address outside the container
	ListenHost *string `json:"ListenHost,omitnil,omitempty" name:"ListenHost"`

	// Operating account
	RunAs *string `json:"RunAs,omitnil,omitempty" name:"RunAs"`

	// Server name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Public IP
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Node type.
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// UID of the super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`
}

type ProcessBaseInfo struct {
	// Process initiator
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessStartUser *string `json:"ProcessStartUser,omitnil,omitempty" name:"ProcessStartUser"`

	// Process user group
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessUserGroup *string `json:"ProcessUserGroup,omitnil,omitempty" name:"ProcessUserGroup"`

	// Process path
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Process command line parameter
	// Note: This field may return null, indicating that no valid values can be obtained.
	ProcessParam *string `json:"ProcessParam,omitnil,omitempty" name:"ProcessParam"`
}

type ProcessDetailBaseInfo struct {
	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process PID
	ProcessId *uint64 `json:"ProcessId,omitnil,omitempty" name:"ProcessId"`

	// Process initiator
	ProcessStartUser *string `json:"ProcessStartUser,omitnil,omitempty" name:"ProcessStartUser"`

	// Process user group
	ProcessUserGroup *string `json:"ProcessUserGroup,omitnil,omitempty" name:"ProcessUserGroup"`

	// Process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Process command line parameter
	ProcessParam *string `json:"ProcessParam,omitnil,omitempty" name:"ProcessParam"`
}

type ProcessDetailInfo struct {
	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process permission
	ProcessAuthority *string `json:"ProcessAuthority,omitnil,omitempty" name:"ProcessAuthority"`

	// Process PID
	ProcessId *uint64 `json:"ProcessId,omitnil,omitempty" name:"ProcessId"`

	// Process initiator
	ProcessStartUser *string `json:"ProcessStartUser,omitnil,omitempty" name:"ProcessStartUser"`

	// Process user group
	ProcessUserGroup *string `json:"ProcessUserGroup,omitnil,omitempty" name:"ProcessUserGroup"`

	// Process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Process tree
	ProcessTree *string `json:"ProcessTree,omitnil,omitempty" name:"ProcessTree"`

	// Process MD5
	ProcessMd5 *string `json:"ProcessMd5,omitnil,omitempty" name:"ProcessMd5"`

	// Process command line parameter
	ProcessParam *string `json:"ProcessParam,omitnil,omitempty" name:"ProcessParam"`
}

type ProcessInfo struct {
	// Process start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Operator
	RunAs *string `json:"RunAs,omitnil,omitempty" name:"RunAs"`

	// Command line parameter
	CmdLine *string `json:"CmdLine,omitnil,omitempty" name:"CmdLine"`

	// Exe path
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Server PID
	PID *uint64 `json:"PID,omitnil,omitempty" name:"PID"`

	// Container PID
	ContainerPID *uint64 `json:"ContainerPID,omitnil,omitempty" name:"ContainerPID"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Server IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Server name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Public IP
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Node type.
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// UID of the super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`
}

type ProjectInfo struct {
	// Project name
	ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`

	// Project ID
	ProjectID *int64 `json:"ProjectID,omitnil,omitempty" name:"ProjectID"`
}

type PromotionActivityContent struct {
	// Number of months
	MonthNum *uint64 `json:"MonthNum,omitnil,omitempty" name:"MonthNum"`

	// Minimum number of cores
	CoresCountLimit *uint64 `json:"CoresCountLimit,omitnil,omitempty" name:"CoresCountLimit"`

	// Discount on the Pro Edition
	ProfessionalDiscount *uint64 `json:"ProfessionalDiscount,omitnil,omitempty" name:"ProfessionalDiscount"`

	// Number of free images
	ImageAuthorizationNum *uint64 `json:"ImageAuthorizationNum,omitnil,omitempty" name:"ImageAuthorizationNum"`
}

type RaspInfo struct {
	// RASP name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// RASP description
	Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}

type RegionInfo struct {
	// Region identifier
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Region name
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`
}

type RegistryConnDetectResult struct {
	// Host quuid or backend for Connectivity Detection
	Quuid *string `json:"Quuid,omitnil,omitempty" name:"Quuid"`

	// Host uuid or backend for Connectivity Detection
	Uuid *string `json:"Uuid,omitnil,omitempty" name:"Uuid"`

	// Detection Result Status
	ConnDetectStatus *string `json:"ConnDetectStatus,omitnil,omitempty" name:"ConnDetectStatus"`

	// Detection Result Information
	ConnDetectMessage *string `json:"ConnDetectMessage,omitnil,omitempty" name:"ConnDetectMessage"`

	// Failure Resolution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Failure Cause
	FailReason *string `json:"FailReason,omitnil,omitempty" name:"FailReason"`
}

// Predefined struct for user
type RemoveAssetImageRegistryRegistryDetailRequestParams struct {
	// Unique repository ID
	RegistryId *int64 `json:"RegistryId,omitnil,omitempty" name:"RegistryId"`
}

type RemoveAssetImageRegistryRegistryDetailRequest struct {
	*tchttp.BaseRequest
	
	// Unique repository ID
	RegistryId *int64 `json:"RegistryId,omitnil,omitempty" name:"RegistryId"`
}

func (r *RemoveAssetImageRegistryRegistryDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveAssetImageRegistryRegistryDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "RegistryId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RemoveAssetImageRegistryRegistryDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RemoveAssetImageRegistryRegistryDetailResponseParams 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 RemoveAssetImageRegistryRegistryDetailResponse struct {
	*tchttp.BaseResponse
	Response *RemoveAssetImageRegistryRegistryDetailResponseParams `json:"Response"`
}

func (r *RemoveAssetImageRegistryRegistryDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RemoveAssetImageRegistryRegistryDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RenewImageAuthorizeStateRequestParams struct {
	// Whether all images are unlicensed
	AllImages *bool `json:"AllImages,omitnil,omitempty" name:"AllImages"`

	// Image IDs
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`
}

type RenewImageAuthorizeStateRequest struct {
	*tchttp.BaseRequest
	
	// Whether all images are unlicensed
	AllImages *bool `json:"AllImages,omitnil,omitempty" name:"AllImages"`

	// Image IDs
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`
}

func (r *RenewImageAuthorizeStateRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RenewImageAuthorizeStateRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "AllImages")
	delete(f, "ImageIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RenewImageAuthorizeStateRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type RenewImageAuthorizeStateResponseParams 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 RenewImageAuthorizeStateResponse struct {
	*tchttp.BaseResponse
	Response *RenewImageAuthorizeStateResponseParams `json:"Response"`
}

func (r *RenewImageAuthorizeStateResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *RenewImageAuthorizeStateResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ResetSecLogTopicConfigRequestParams struct {
	// Configuration type. Valid values: `ckafka`, `cls`.
	ConfigType *string `json:"ConfigType,omitnil,omitempty" name:"ConfigType"`

	// Log type
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`
}

type ResetSecLogTopicConfigRequest struct {
	*tchttp.BaseRequest
	
	// Configuration type. Valid values: `ckafka`, `cls`.
	ConfigType *string `json:"ConfigType,omitnil,omitempty" name:"ConfigType"`

	// Log type
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`
}

func (r *ResetSecLogTopicConfigRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ResetSecLogTopicConfigRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ConfigType")
	delete(f, "LogType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResetSecLogTopicConfigRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ResetSecLogTopicConfigResponseParams 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 ResetSecLogTopicConfigResponse struct {
	*tchttp.BaseResponse
	Response *ResetSecLogTopicConfigResponseParams `json:"Response"`
}

func (r *ResetSecLogTopicConfigResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ResetSecLogTopicConfigResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ReverseShellEventDescription struct {
	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Event remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Destination address
	DstAddress *string `json:"DstAddress,omitnil,omitempty" name:"DstAddress"`

	// Last processing time of the event
	// Note: This field may return null, indicating that no valid values can be obtained.
	OperationTime *string `json:"OperationTime,omitnil,omitempty" name:"OperationTime"`
}

type ReverseShellEventInfo struct {
	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Generation time
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Event solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Event description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Status. `EVENT_UNDEAL`: Pending.
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//     `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Parent process name
	PProcessName *string `json:"PProcessName,omitnil,omitempty" name:"PProcessName"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Last generation time
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

	// Destination address
	DstAddress *string `json:"DstAddress,omitnil,omitempty" name:"DstAddress"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// 	"NODE_DESTROYED"      // The node is terminated.
	// 	"CONTAINER_EXITED"    // The container exited.
	// 	"CONTAINER_DESTROYED" // The container was terminated.
	// 	"SHARED_HOST"         // The container shares the network with the server.
	// 	"RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// 	"UNKNOW"              // The reason is unknown.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`
}

type ReverseShellWhiteListBaseInfo struct {
	// Allowed item ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of images
	ImageCount *uint64 `json:"ImageCount,omitnil,omitempty" name:"ImageCount"`

	// Connection process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Destination address IP
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Target port
	DstPort *string `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Whether it is allowed globally. `true`: Yes.
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Array of image IDs. An empty array indicates all.
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`
}

type ReverseShellWhiteListInfo struct {
	// Target IP
	DstIp *string `json:"DstIp,omitnil,omitempty" name:"DstIp"`

	// Target port
	DstPort *string `json:"DstPort,omitnil,omitempty" name:"DstPort"`

	// Target process
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Array of image IDs. An empty array indicates all.
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`

	// Allowed item ID, which is empty if the item is newly created.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type RiskSyscallEventDescription struct {
	// Description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Event remarks
	// Note: This field may return null, indicating that no valid values can be obtained.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Syscall name
	SyscallName *string `json:"SyscallName,omitnil,omitempty" name:"SyscallName"`

	// Last processing time of the event
	// Note: This field may return null, indicating that no valid values can be obtained.
	OperationTime *string `json:"OperationTime,omitnil,omitempty" name:"OperationTime"`
}

type RiskSyscallEventInfo struct {
	// Process name
	ProcessName *string `json:"ProcessName,omitnil,omitempty" name:"ProcessName"`

	// Process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Generation time
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Event solution
	Solution *string `json:"Solution,omitnil,omitempty" name:"Solution"`

	// Event description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Syscall name
	SyscallName *string `json:"SyscallName,omitnil,omitempty" name:"SyscallName"`

	// Status. `EVENT_UNDEAL`: Pending.
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	//     `EVENT_ADD_WHITE`: Allowed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Node name
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Pod (instance) name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Remarks
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Whether the system monitoring rule name exists
	RuleExist *bool `json:"RuleExist,omitnil,omitempty" name:"RuleExist"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Last generation time
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// "NODE_DESTROYED"      // The node is terminated.
	// "CONTAINER_EXITED"    // The container exited.
	// "CONTAINER_DESTROYED" // The container was terminated.
	// "SHARED_HOST"         // The container shares the network with the server.
	// "RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// "UNKNOW"              // The reason is unknown.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Unique node ID
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Node public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// uuid
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Private IP of the node
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`
}

type RiskSyscallWhiteListBaseInfo struct {
	// Allowed item ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Number of images
	ImageCount *uint64 `json:"ImageCount,omitnil,omitempty" name:"ImageCount"`

	// Connection process path
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// List of syscall names
	SyscallNames []*string `json:"SyscallNames,omitnil,omitempty" name:"SyscallNames"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether it is allowed globally. `true`: Yes.
	IsGlobal *bool `json:"IsGlobal,omitnil,omitempty" name:"IsGlobal"`

	// Array of image IDs
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`
}

type RiskSyscallWhiteListInfo struct {
	// Array of image IDs. An empty array indicates all.
	ImageIds []*string `json:"ImageIds,omitnil,omitempty" name:"ImageIds"`

	// Syscall name. The `DescribeRiskSyscallNames` API can be called to get the list of enumerated values.
	SyscallNames []*string `json:"SyscallNames,omitnil,omitempty" name:"SyscallNames"`

	// Target process
	ProcessPath *string `json:"ProcessPath,omitnil,omitempty" name:"ProcessPath"`

	// Allowed item ID, which is empty if the item is newly created.
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`
}

type RuleBaseInfo struct {
	// Valid values: `true` (default policy); `false` (custom policy).
	IsDefault *bool `json:"IsDefault,omitnil,omitempty" name:"IsDefault"`

	// Number of associated images
	EffectImageCount *uint64 `json:"EffectImageCount,omitnil,omitempty" name:"EffectImageCount"`

	// Policy ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Policy update time, which can be empty.
	// Note: This field may return null, indicating that no valid values can be obtained.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Policy name
	RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"`

	// Name of the editing user
	EditUserName *string `json:"EditUserName,omitnil,omitempty" name:"EditUserName"`

	// Valid values: `true` (enable the policy); `false` (disable the policy).
	IsEnable *bool `json:"IsEnable,omitnil,omitempty" name:"IsEnable"`
}

type RunTimeEventBaseInfo struct {
	// Unique event ID
	EventId *string `json:"EventId,omitnil,omitempty" name:"EventId"`

	// Event discovery time
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Node name
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Status. `EVENT_UNDEAL`: Pending.
	//     `EVENT_DEALED`: Processed.
	//     `EVENT_INGNORE`: Ignored.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event name:
	// Host file access escape
	// Syscall escape
	// Mount namespace escape
	// Program privilege escalation escape
	// Privileged container startup escape
	// Sensitive path mount
	// Malicious process startup
	// File tampering
	EventName *string `json:"EventName,omitnil,omitempty" name:"EventName"`

	// Event type
	//    `ESCAPE_HOST_ACESS_FILE`: Host file access escape.
	//    `ESCAPE_MOUNT_NAMESPACE`: Mount namespace escape.
	//    `ESCAPE_PRIVILEDGE`: Program privilege escalation escape.
	//    `ESCAPE_PRIVILEDGE_CONTAINER_START`: Privileged container startup escape.
	//    `ESCAPE_MOUNT_SENSITIVE_PTAH`: Sensitive path mount.
	//    `ESCAPE_SYSCALL`: Syscall escape.
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Last generation time
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

	// Private IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Public IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClientIP *string `json:"ClientIP,omitnil,omitempty" name:"ClientIP"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// "NODE_DESTROYED"      // The node is terminated.
	// "CONTAINER_EXITED"    // The container exited.
	// "CONTAINER_DESTROYED" // The container was terminated.
	// "SHARED_HOST"         // The container shares the network with the server.
	// "RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// "UNKNOW"              // The reason is unknown.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Node type. Valid values: `NORMAL` (general node), `SUPER` (super node)
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Node subnet ID
	NodeSubNetID *string `json:"NodeSubNetID,omitnil,omitempty" name:"NodeSubNetID"`

	// Node subnet name
	NodeSubNetName *string `json:"NodeSubNetName,omitnil,omitempty" name:"NodeSubNetName"`

	// Subnet IP range
	NodeSubNetCIDR *string `json:"NodeSubNetCIDR,omitnil,omitempty" name:"NodeSubNetCIDR"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod status
	PodStatus *string `json:"PodStatus,omitnil,omitempty" name:"PodStatus"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Unique node ID
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// uuid
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// WorkloadType
	WorkloadType *string `json:"WorkloadType,omitnil,omitempty" name:"WorkloadType"`
}

type RunTimeFilters struct {
	// Filter name
	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 RunTimeRiskInfo struct {
	// Number
	Cnt *uint64 `json:"Cnt,omitnil,omitempty" name:"Cnt"`

	// Risk level:
	// `CRITICAL`: Critical.
	// `HIGH`: High.
	// `MEDIUM`: Medium.
	// `LOW`: Low.
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`
}

type RunTimeTendencyInfo struct {
	// The time of the day
	CurTime *string `json:"CurTime,omitnil,omitempty" name:"CurTime"`

	// Current quantity
	Cnt *uint64 `json:"Cnt,omitnil,omitempty" name:"Cnt"`
}

// Predefined struct for user
type ScanComplianceAssetsByPolicyItemRequestParams struct {
	// ID of the specified check item
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// List of IDs of customer assets to be scanned again
	CustomerAssetIdSet []*uint64 `json:"CustomerAssetIdSet,omitnil,omitempty" name:"CustomerAssetIdSet"`
}

type ScanComplianceAssetsByPolicyItemRequest struct {
	*tchttp.BaseRequest
	
	// ID of the specified check item
	CustomerPolicyItemId *uint64 `json:"CustomerPolicyItemId,omitnil,omitempty" name:"CustomerPolicyItemId"`

	// List of IDs of customer assets to be scanned again
	CustomerAssetIdSet []*uint64 `json:"CustomerAssetIdSet,omitnil,omitempty" name:"CustomerAssetIdSet"`
}

func (r *ScanComplianceAssetsByPolicyItemRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanComplianceAssetsByPolicyItemRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerPolicyItemId")
	delete(f, "CustomerAssetIdSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanComplianceAssetsByPolicyItemRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanComplianceAssetsByPolicyItemResponseParams struct {
	// ID of another check task
	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 ScanComplianceAssetsByPolicyItemResponse struct {
	*tchttp.BaseResponse
	Response *ScanComplianceAssetsByPolicyItemResponseParams `json:"Response"`
}

func (r *ScanComplianceAssetsByPolicyItemResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanComplianceAssetsByPolicyItemResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanComplianceAssetsRequestParams struct {
	// List of IDs of customer assets to be scanned again
	CustomerAssetIdSet []*uint64 `json:"CustomerAssetIdSet,omitnil,omitempty" name:"CustomerAssetIdSet"`
}

type ScanComplianceAssetsRequest struct {
	*tchttp.BaseRequest
	
	// List of IDs of customer assets to be scanned again
	CustomerAssetIdSet []*uint64 `json:"CustomerAssetIdSet,omitnil,omitempty" name:"CustomerAssetIdSet"`
}

func (r *ScanComplianceAssetsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanComplianceAssetsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerAssetIdSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanComplianceAssetsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanComplianceAssetsResponseParams struct {
	// ID of another check task
	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 ScanComplianceAssetsResponse struct {
	*tchttp.BaseResponse
	Response *ScanComplianceAssetsResponseParams `json:"Response"`
}

func (r *ScanComplianceAssetsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanComplianceAssetsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanCompliancePolicyItemsRequestParams struct {
	// List of customer check items to be scanned again
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

type ScanCompliancePolicyItemsRequest struct {
	*tchttp.BaseRequest
	
	// List of customer check items to be scanned again
	CustomerPolicyItemIdSet []*uint64 `json:"CustomerPolicyItemIdSet,omitnil,omitempty" name:"CustomerPolicyItemIdSet"`
}

func (r *ScanCompliancePolicyItemsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanCompliancePolicyItemsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerPolicyItemIdSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanCompliancePolicyItemsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanCompliancePolicyItemsResponseParams struct {
	// ID of another check task
	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 ScanCompliancePolicyItemsResponse struct {
	*tchttp.BaseResponse
	Response *ScanCompliancePolicyItemsResponseParams `json:"Response"`
}

func (r *ScanCompliancePolicyItemsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanCompliancePolicyItemsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanComplianceScanFailedAssetsRequestParams struct {
	// List of IDs of customer assets to be scanned again
	CustomerAssetIdSet []*uint64 `json:"CustomerAssetIdSet,omitnil,omitempty" name:"CustomerAssetIdSet"`
}

type ScanComplianceScanFailedAssetsRequest struct {
	*tchttp.BaseRequest
	
	// List of IDs of customer assets to be scanned again
	CustomerAssetIdSet []*uint64 `json:"CustomerAssetIdSet,omitnil,omitempty" name:"CustomerAssetIdSet"`
}

func (r *ScanComplianceScanFailedAssetsRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanComplianceScanFailedAssetsRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "CustomerAssetIdSet")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScanComplianceScanFailedAssetsRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type ScanComplianceScanFailedAssetsResponseParams struct {
	// ID of another check task
	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 ScanComplianceScanFailedAssetsResponse struct {
	*tchttp.BaseResponse
	Response *ScanComplianceScanFailedAssetsResponseParams `json:"Response"`
}

func (r *ScanComplianceScanFailedAssetsResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *ScanComplianceScanFailedAssetsResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type ScanIgnoreVul struct {
	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Vulnerability CVE ID
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Number of ignored repository images
	RegistryImageCount *int64 `json:"RegistryImageCount,omitnil,omitempty" name:"RegistryImageCount"`

	// Update time
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether to ignore all images. Valid values: `0` (no); `1` (yes).
	IsIgnoreAll *int64 `json:"IsIgnoreAll,omitnil,omitempty" name:"IsIgnoreAll"`

	// Number of ignored local images
	LocalImageCount *int64 `json:"LocalImageCount,omitnil,omitempty" name:"LocalImageCount"`
}

type SearchTemplate struct {
	// Search name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Search index type
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Search statement
	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. Valid values: `standard` (search in the search box); `simple` (search by filter).
	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 SecLogAlertMsgInfo struct {
	// Alert type
	MsgType *string `json:"MsgType,omitnil,omitempty" name:"MsgType"`

	// Alert value
	MsgValue *string `json:"MsgValue,omitnil,omitempty" name:"MsgValue"`

	// Status. Valid values: `0` (disabled); `1` (enabled).
	State *bool `json:"State,omitnil,omitempty" name:"State"`
}

type SecLogDeliveryClsSettingInfo struct {
	// Log type
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Delivery status. Valid values: `true` (enabled); `false` (disabled).
	State *bool `json:"State,omitnil,omitempty" name:"State"`

	// Region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Logset
	LogSet *string `json:"LogSet,omitnil,omitempty" name:"LogSet"`

	// Topic ID
	TopicID *string `json:"TopicID,omitnil,omitempty" name:"TopicID"`

	// Logset name
	// Note: This field may return null, indicating that no valid values can be obtained.
	LogSetName *string `json:"LogSetName,omitnil,omitempty" name:"LogSetName"`

	// Topic name
	// Note: This field may return null, indicating that no valid values can be obtained.
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`
}

type SecLogDeliveryKafkaSettingInfo struct {
	// Log type
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`

	// Topic ID
	TopicID *string `json:"TopicID,omitnil,omitempty" name:"TopicID"`

	// Topic name
	// Note: This field may return null, indicating that no valid values can be obtained.
	TopicName *string `json:"TopicName,omitnil,omitempty" name:"TopicName"`

	// Delivery status. Valid values: `false` (disabled); `true` (enabled).
	State *bool `json:"State,omitnil,omitempty" name:"State"`
}

type SecLogJoinInfo struct {
	// Number of connected general nodes
	Count *uint64 `json:"Count,omitnil,omitempty" name:"Count"`

	// Number of connected super nodes
	SuperNodeCount *uint64 `json:"SuperNodeCount,omitnil,omitempty" name:"SuperNodeCount"`

	// Whether it is accessed. Valid values: `true` (accessed); `false` (not accessed).
	IsJoined *bool `json:"IsJoined,omitnil,omitempty" name:"IsJoined"`

	// Log type (
	// Container bash: "container_bash"
	// Container startup: "container_launch"
	// K8s API: "k8s_api"
	// )
	LogType *string `json:"LogType,omitnil,omitempty" name:"LogType"`
}

type SecLogJoinObjectInfo struct {
	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Server name
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Server IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Server status
	HostStatus *string `json:"HostStatus,omitnil,omitempty" name:"HostStatus"`

	// Cluster ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Public IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Access status. Valid values: `true` (accessed); `false` (not accessed).
	JoinState *bool `json:"JoinState,omitnil,omitempty" name:"JoinState"`

	// Cluster version
	// Note: This field may return null, indicating that no valid values can be obtained.
	ClusterVersion *string `json:"ClusterVersion,omitnil,omitempty" name:"ClusterVersion"`

	// Master node address of the cluster
	ClusterMainAddress *string `json:"ClusterMainAddress,omitnil,omitempty" name:"ClusterMainAddress"`
}

type SecTendencyEventInfo struct {
	// List of trends
	EventSet []*RunTimeTendencyInfo `json:"EventSet,omitnil,omitempty" name:"EventSet"`

	// Event type:
	// ET_ESCAPE: Container escape
	// ET_REVERSE_SHELL: Reverse shell
	// ET_RISK_SYSCALL: High-risk system calls
	// ET_ABNORMAL_PROCESS: Abnormal process
	// ET_ACCESS_CONTROL: File tampering
	// ET_VIRUS: Trojan event
	// ET_MALICIOUS_CONNECTION: Malicious connection event
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`
}

type ServiceInfo struct {
	// Service ID
	ServiceID *string `json:"ServiceID,omitnil,omitempty" name:"ServiceID"`

	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Server IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Service name, such as `nginx` and `redis`
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Version
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Account
	RunAs *string `json:"RunAs,omitnil,omitempty" name:"RunAs"`

	// Listened port
	Listen []*string `json:"Listen,omitnil,omitempty" name:"Listen"`

	// Configuration
	Config *string `json:"Config,omitnil,omitempty" name:"Config"`

	// Number of associated processes
	ProcessCnt *uint64 `json:"ProcessCnt,omitnil,omitempty" name:"ProcessCnt"`

	// Access log
	AccessLog *string `json:"AccessLog,omitnil,omitempty" name:"AccessLog"`

	// Error log
	ErrorLog *string `json:"ErrorLog,omitnil,omitempty" name:"ErrorLog"`

	// Data directory
	DataPath *string `json:"DataPath,omitnil,omitempty" name:"DataPath"`

	// Web directory
	WebRoot *string `json:"WebRoot,omitnil,omitempty" name:"WebRoot"`

	// ID of the associated process
	Pids []*uint64 `json:"Pids,omitnil,omitempty" name:"Pids"`

	// Service type. Valid values: `app`, `web`, `db`.
	MainType *string `json:"MainType,omitnil,omitempty" name:"MainType"`

	// Execution file
	Exe *string `json:"Exe,omitnil,omitempty" name:"Exe"`

	// Service command line parameter
	Parameter *string `json:"Parameter,omitnil,omitempty" name:"Parameter"`

	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Server name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Public IP
	PublicIp *string `json:"PublicIp,omitnil,omitempty" name:"PublicIp"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Node type.
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// UID of the super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`
}

// Predefined struct for user
type SetCheckModeRequestParams struct {
	// List of cluster IDs to be set
	ClusterIds []*string `json:"ClusterIds,omitnil,omitempty" name:"ClusterIds"`

	// Cluster check mode. Valid values: `Cluster_Normal` (normal mode); `Cluster_Actived` (proactive mode); `Cluster_Unset` (not set).
	ClusterCheckMode *string `json:"ClusterCheckMode,omitnil,omitempty" name:"ClusterCheckMode"`

	// Valid values: `0` (not set); `1` (on); `2` (off).
	ClusterAutoCheck *uint64 `json:"ClusterAutoCheck,omitnil,omitempty" name:"ClusterAutoCheck"`
}

type SetCheckModeRequest struct {
	*tchttp.BaseRequest
	
	// List of cluster IDs to be set
	ClusterIds []*string `json:"ClusterIds,omitnil,omitempty" name:"ClusterIds"`

	// Cluster check mode. Valid values: `Cluster_Normal` (normal mode); `Cluster_Actived` (proactive mode); `Cluster_Unset` (not set).
	ClusterCheckMode *string `json:"ClusterCheckMode,omitnil,omitempty" name:"ClusterCheckMode"`

	// Valid values: `0` (not set); `1` (on); `2` (off).
	ClusterAutoCheck *uint64 `json:"ClusterAutoCheck,omitnil,omitempty" name:"ClusterAutoCheck"`
}

func (r *SetCheckModeRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetCheckModeRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterIds")
	delete(f, "ClusterCheckMode")
	delete(f, "ClusterAutoCheck")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SetCheckModeRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SetCheckModeResponseParams struct {
	// Valid values: `Succ` (set successfully); `Failed` (failed to set).
	SetCheckResult *string `json:"SetCheckResult,omitnil,omitempty" name:"SetCheckResult"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type SetCheckModeResponse struct {
	*tchttp.BaseResponse
	Response *SetCheckModeResponseParams `json:"Response"`
}

func (r *SetCheckModeResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SetCheckModeResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SoftQuotaDayInfo struct {
	// Deduction time
	PayTime *string `json:"PayTime,omitnil,omitempty" name:"PayTime"`

	// Number of billed cores
	CoresCnt *uint64 `json:"CoresCnt,omitnil,omitempty" name:"CoresCnt"`
}

// Predefined struct for user
type StopVirusScanTaskRequestParams struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// ID of the container to be stopped. If it is left empty, the entire task will be stopped.
	ContainerIds []*string `json:"ContainerIds,omitnil,omitempty" name:"ContainerIds"`
}

type StopVirusScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// ID of the container to be stopped. If it is left empty, the entire task will be stopped.
	ContainerIds []*string `json:"ContainerIds,omitnil,omitempty" name:"ContainerIds"`
}

func (r *StopVirusScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopVirusScanTaskRequest) 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, "ContainerIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopVirusScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopVirusScanTaskResponseParams 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 StopVirusScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *StopVirusScanTaskResponseParams `json:"Response"`
}

func (r *StopVirusScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopVirusScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopVulScanTaskRequestParams struct {
	// ID of the task to scan local images for vulnerabilities
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// Local image ID. If it is not specified, it indicates all.
	LocalImageIDs []*string `json:"LocalImageIDs,omitnil,omitempty" name:"LocalImageIDs"`

	// Repository image ID. If it is not specified, it indicates all.
	RegistryImageIDs []*uint64 `json:"RegistryImageIDs,omitnil,omitempty" name:"RegistryImageIDs"`

	// ID of the task to scan repository images for vulnerabilities
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`
}

type StopVulScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// ID of the task to scan local images for vulnerabilities
	LocalTaskID *int64 `json:"LocalTaskID,omitnil,omitempty" name:"LocalTaskID"`

	// Local image ID. If it is not specified, it indicates all.
	LocalImageIDs []*string `json:"LocalImageIDs,omitnil,omitempty" name:"LocalImageIDs"`

	// Repository image ID. If it is not specified, it indicates all.
	RegistryImageIDs []*uint64 `json:"RegistryImageIDs,omitnil,omitempty" name:"RegistryImageIDs"`

	// ID of the task to scan repository images for vulnerabilities
	RegistryTaskID *int64 `json:"RegistryTaskID,omitnil,omitempty" name:"RegistryTaskID"`
}

func (r *StopVulScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopVulScanTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "LocalTaskID")
	delete(f, "LocalImageIDs")
	delete(f, "RegistryImageIDs")
	delete(f, "RegistryTaskID")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopVulScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type StopVulScanTaskResponseParams 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 StopVulScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *StopVulScanTaskResponseParams `json:"Response"`
}

func (r *StopVulScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopVulScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type SupportDefenceVul struct {
	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability tag
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Vulnerability CVSS
	CVSSV3Score *float64 `json:"CVSSV3Score,omitnil,omitempty" name:"CVSSV3Score"`

	// Vulnerability severity
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// Vulnerability CVE ID
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability disclosure time
	SubmitTime *string `json:"SubmitTime,omitnil,omitempty" name:"SubmitTime"`
}

// Predefined struct for user
type SwitchImageAutoAuthorizedRuleRequestParams struct {
	// Whether the rule takes effect. Valid values: `0` (no); `1` (yes).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Rule ID
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`
}

type SwitchImageAutoAuthorizedRuleRequest struct {
	*tchttp.BaseRequest
	
	// Whether the rule takes effect. Valid values: `0` (no); `1` (yes).
	IsEnabled *int64 `json:"IsEnabled,omitnil,omitempty" name:"IsEnabled"`

	// Rule ID
	RuleId *int64 `json:"RuleId,omitnil,omitempty" name:"RuleId"`
}

func (r *SwitchImageAutoAuthorizedRuleRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SwitchImageAutoAuthorizedRuleRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "IsEnabled")
	delete(f, "RuleId")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SwitchImageAutoAuthorizedRuleRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SwitchImageAutoAuthorizedRuleResponseParams 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 SwitchImageAutoAuthorizedRuleResponse struct {
	*tchttp.BaseResponse
	Response *SwitchImageAutoAuthorizedRuleResponseParams `json:"Response"`
}

func (r *SwitchImageAutoAuthorizedRuleResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SwitchImageAutoAuthorizedRuleResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncAssetImageRegistryAssetRequestParams struct {
	// Whether to synchronize all image repositories
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// Partial image repositories requiring synchronization
	RegistryIds []*uint64 `json:"RegistryIds,omitnil,omitempty" name:"RegistryIds"`
}

type SyncAssetImageRegistryAssetRequest struct {
	*tchttp.BaseRequest
	
	// Whether to synchronize all image repositories
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// Partial image repositories requiring synchronization
	RegistryIds []*uint64 `json:"RegistryIds,omitnil,omitempty" name:"RegistryIds"`
}

func (r *SyncAssetImageRegistryAssetRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncAssetImageRegistryAssetRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "All")
	delete(f, "RegistryIds")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SyncAssetImageRegistryAssetRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type SyncAssetImageRegistryAssetResponseParams 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 SyncAssetImageRegistryAssetResponse struct {
	*tchttp.BaseResponse
	Response *SyncAssetImageRegistryAssetResponseParams `json:"Response"`
}

func (r *SyncAssetImageRegistryAssetResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *SyncAssetImageRegistryAssetResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type TagInfo struct {
	// Tag key
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`

	// Tag value
	TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"`
}

type UnauthorizedCoresTendency struct {
	// Date
	DateTime *string `json:"DateTime,omitnil,omitempty" name:"DateTime"`

	// Number of unlicensed cores
	CoresCount *int64 `json:"CoresCount,omitnil,omitempty" name:"CoresCount"`
}

// Predefined struct for user
type UpdateAndPublishNetworkFirewallPolicyDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

type UpdateAndPublishNetworkFirewallPolicyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

func (r *UpdateAndPublishNetworkFirewallPolicyDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAndPublishNetworkFirewallPolicyDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Id")
	delete(f, "FromPolicyRule")
	delete(f, "ToPolicyRule")
	delete(f, "PodSelector")
	delete(f, "Namespace")
	delete(f, "Description")
	delete(f, "CustomPolicy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAndPublishNetworkFirewallPolicyDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateAndPublishNetworkFirewallPolicyDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateAndPublishNetworkFirewallPolicyDetailResponse struct {
	*tchttp.BaseResponse
	Response *UpdateAndPublishNetworkFirewallPolicyDetailResponseParams `json:"Response"`
}

func (r *UpdateAndPublishNetworkFirewallPolicyDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAndPublishNetworkFirewallPolicyDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateAndPublishNetworkFirewallPolicyYamlDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type UpdateAndPublishNetworkFirewallPolicyYamlDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *UpdateAndPublishNetworkFirewallPolicyYamlDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAndPublishNetworkFirewallPolicyYamlDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Id")
	delete(f, "Yaml")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAndPublishNetworkFirewallPolicyYamlDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateAndPublishNetworkFirewallPolicyYamlDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateAndPublishNetworkFirewallPolicyYamlDetailResponse struct {
	*tchttp.BaseResponse
	Response *UpdateAndPublishNetworkFirewallPolicyYamlDetailResponseParams `json:"Response"`
}

func (r *UpdateAndPublishNetworkFirewallPolicyYamlDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAndPublishNetworkFirewallPolicyYamlDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateAssetImageRegistryRegistryDetailRequestParams struct {
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Password
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// Repository URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Repository type, which can be `harbor`.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Network type, which can be `public` (public network).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Repository version
	RegistryVersion *string `json:"RegistryVersion,omitnil,omitempty" name:"RegistryVersion"`

	// Region. Default value: `default`.
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Speed limit
	SpeedLimit *int64 `json:"SpeedLimit,omitnil,omitempty" name:"SpeedLimit"`

	// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).
	Insecure *uint64 `json:"Insecure,omitnil,omitempty" name:"Insecure"`
}

type UpdateAssetImageRegistryRegistryDetailRequest struct {
	*tchttp.BaseRequest
	
	// Repository name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Username
	Username *string `json:"Username,omitnil,omitempty" name:"Username"`

	// Password
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// Repository URL
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`

	// Repository type, which can be `harbor`.
	RegistryType *string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Network type, which can be `public` (public network).
	NetType *string `json:"NetType,omitnil,omitempty" name:"NetType"`

	// Repository version
	RegistryVersion *string `json:"RegistryVersion,omitnil,omitempty" name:"RegistryVersion"`

	// Region. Default value: `default`.
	RegistryRegion *string `json:"RegistryRegion,omitnil,omitempty" name:"RegistryRegion"`

	// Speed limit
	SpeedLimit *int64 `json:"SpeedLimit,omitnil,omitempty" name:"SpeedLimit"`

	// Valid values: `0` (secure mode with certificate verification, which is the default value); `1` (unsecure mode that skips certificate verification).
	Insecure *uint64 `json:"Insecure,omitnil,omitempty" name:"Insecure"`
}

func (r *UpdateAssetImageRegistryRegistryDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAssetImageRegistryRegistryDetailRequest) 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, "Username")
	delete(f, "Password")
	delete(f, "Url")
	delete(f, "RegistryType")
	delete(f, "NetType")
	delete(f, "RegistryVersion")
	delete(f, "RegistryRegion")
	delete(f, "SpeedLimit")
	delete(f, "Insecure")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAssetImageRegistryRegistryDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateAssetImageRegistryRegistryDetailResponseParams struct {
	// Connection error message
	// Note: This field may return null, indicating that no valid values can be obtained.
	HealthCheckErr *string `json:"HealthCheckErr,omitnil,omitempty" name:"HealthCheckErr"`

	// Name error message
	// Note: This field may return null, indicating that no valid values can be obtained.
	NameRepeatErr *string `json:"NameRepeatErr,omitnil,omitempty" name:"NameRepeatErr"`

	// Unique repository ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryId *int64 `json:"RegistryId,omitnil,omitempty" name:"RegistryId"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateAssetImageRegistryRegistryDetailResponse struct {
	*tchttp.BaseResponse
	Response *UpdateAssetImageRegistryRegistryDetailResponseParams `json:"Response"`
}

func (r *UpdateAssetImageRegistryRegistryDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateAssetImageRegistryRegistryDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateImageRegistryTimingScanTaskRequestParams struct {
	// Scheduled scan cycle
	ScanPeriod *uint64 `json:"ScanPeriod,omitnil,omitempty" name:"ScanPeriod"`

	// Scheduled scan switch
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scheduled scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Array of the scanned trojan types
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// Scanned image
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Whether to scan all
	//
	// Deprecated: All is deprecated.
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// ID of the image to be scanned
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to scan for the latest version
	Latest *bool `json:"Latest,omitnil,omitempty" name:"Latest"`

	// Whether running containers exist
	ContainerRunning *bool `json:"ContainerRunning,omitnil,omitempty" name:"ContainerRunning"`

	// Scan End Time
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// Scan Scope: 0 All Images, 1 Custom Images, 2 Recommended Scan Images
	ScanScope *uint64 `json:"ScanScope,omitnil,omitempty" name:"ScanScope"`

	// Repository Type tcr,ccr,harbor
	RegistryType []*string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Namespace
	Namespace []*string `json:"Namespace,omitnil,omitempty" name:"Namespace"`
}

type UpdateImageRegistryTimingScanTaskRequest struct {
	*tchttp.BaseRequest
	
	// Scheduled scan cycle
	ScanPeriod *uint64 `json:"ScanPeriod,omitnil,omitempty" name:"ScanPeriod"`

	// Scheduled scan switch
	Enable *bool `json:"Enable,omitnil,omitempty" name:"Enable"`

	// Scheduled scan time
	ScanTime *string `json:"ScanTime,omitnil,omitempty" name:"ScanTime"`

	// Array of the scanned trojan types
	ScanType []*string `json:"ScanType,omitnil,omitempty" name:"ScanType"`

	// Scanned image
	Images []*ImageInfo `json:"Images,omitnil,omitempty" name:"Images"`

	// Whether to scan all
	All *bool `json:"All,omitnil,omitempty" name:"All"`

	// ID of the image to be scanned
	Id []*uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Whether to scan for the latest version
	Latest *bool `json:"Latest,omitnil,omitempty" name:"Latest"`

	// Whether running containers exist
	ContainerRunning *bool `json:"ContainerRunning,omitnil,omitempty" name:"ContainerRunning"`

	// Scan End Time
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// Scan Scope: 0 All Images, 1 Custom Images, 2 Recommended Scan Images
	ScanScope *uint64 `json:"ScanScope,omitnil,omitempty" name:"ScanScope"`

	// Repository Type tcr,ccr,harbor
	RegistryType []*string `json:"RegistryType,omitnil,omitempty" name:"RegistryType"`

	// Namespace
	Namespace []*string `json:"Namespace,omitnil,omitempty" name:"Namespace"`
}

func (r *UpdateImageRegistryTimingScanTaskRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateImageRegistryTimingScanTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ScanPeriod")
	delete(f, "Enable")
	delete(f, "ScanTime")
	delete(f, "ScanType")
	delete(f, "Images")
	delete(f, "All")
	delete(f, "Id")
	delete(f, "Latest")
	delete(f, "ContainerRunning")
	delete(f, "ScanEndTime")
	delete(f, "ScanScope")
	delete(f, "RegistryType")
	delete(f, "Namespace")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateImageRegistryTimingScanTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateImageRegistryTimingScanTaskResponseParams 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 UpdateImageRegistryTimingScanTaskResponse struct {
	*tchttp.BaseResponse
	Response *UpdateImageRegistryTimingScanTaskResponseParams `json:"Response"`
}

func (r *UpdateImageRegistryTimingScanTaskResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateImageRegistryTimingScanTaskResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateNetworkFirewallPolicyDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

type UpdateNetworkFirewallPolicyDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Inbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	FromPolicyRule *int64 `json:"FromPolicyRule,omitnil,omitempty" name:"FromPolicyRule"`

	// Outbound rule
	// 
	// `1`: Allow all.
	// 
	// `2`: Reject all.
	// 
	// `3`: Custom.
	ToPolicyRule *int64 `json:"ToPolicyRule,omitnil,omitempty" name:"ToPolicyRule"`

	// Pod selector
	PodSelector *string `json:"PodSelector,omitnil,omitempty" name:"PodSelector"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Custom rule
	CustomPolicy []*NetworkCustomPolicy `json:"CustomPolicy,omitnil,omitempty" name:"CustomPolicy"`
}

func (r *UpdateNetworkFirewallPolicyDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateNetworkFirewallPolicyDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Id")
	delete(f, "FromPolicyRule")
	delete(f, "ToPolicyRule")
	delete(f, "PodSelector")
	delete(f, "Namespace")
	delete(f, "Description")
	delete(f, "CustomPolicy")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateNetworkFirewallPolicyDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateNetworkFirewallPolicyDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateNetworkFirewallPolicyDetailResponse struct {
	*tchttp.BaseResponse
	Response *UpdateNetworkFirewallPolicyDetailResponseParams `json:"Response"`
}

func (r *UpdateNetworkFirewallPolicyDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateNetworkFirewallPolicyDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateNetworkFirewallPolicyYamlDetailRequestParams struct {
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type UpdateNetworkFirewallPolicyYamlDetailRequest struct {
	*tchttp.BaseRequest
	
	// Cluster ID
	ClusterId *string `json:"ClusterId,omitnil,omitempty" name:"ClusterId"`

	// Policy ID
	Id *uint64 `json:"Id,omitnil,omitempty" name:"Id"`

	// Base64-encoded NetworkPolicy YAML string
	Yaml *string `json:"Yaml,omitnil,omitempty" name:"Yaml"`

	// Policy description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

func (r *UpdateNetworkFirewallPolicyYamlDetailRequest) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateNetworkFirewallPolicyYamlDetailRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "ClusterId")
	delete(f, "Id")
	delete(f, "Yaml")
	delete(f, "Description")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateNetworkFirewallPolicyYamlDetailRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type UpdateNetworkFirewallPolicyYamlDetailResponseParams struct {
	// ID of the created task. `0` indicates that the creation failed.
	TaskId *uint64 `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Result of creating the task. Valid values: `Succ`, `Failed`.
	Result *string `json:"Result,omitnil,omitempty" name:"Result"`

	// The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
	RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}

type UpdateNetworkFirewallPolicyYamlDetailResponse struct {
	*tchttp.BaseResponse
	Response *UpdateNetworkFirewallPolicyYamlDetailResponseParams `json:"Response"`
}

func (r *UpdateNetworkFirewallPolicyYamlDetailResponse) ToJsonString() string {
    b, _ := json.Marshal(r)
    return string(b)
}

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *UpdateNetworkFirewallPolicyYamlDetailResponse) FromJsonString(s string) error {
	return json.Unmarshal([]byte(s), &r)
}

type VirusAutoIsolateSampleInfo struct {
	// MD5 checksum of the file
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// Virus name
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Last edit time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Automatic isolation switch. Valid values: `true` (on); `false` (off).
	AutoIsolateSwitch *bool `json:"AutoIsolateSwitch,omitnil,omitempty" name:"AutoIsolateSwitch"`
}

type VirusInfo struct {
	// Filename
	FileName *string `json:"FileName,omitnil,omitempty" name:"FileName"`

	// File path
	FilePath *string `json:"FilePath,omitnil,omitempty" name:"FilePath"`

	// Virus name
	VirusName *string `json:"VirusName,omitnil,omitempty" name:"VirusName"`

	// Creation time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// `DEAL_NONE`: Pending.
	// `DEAL_IGNORE`: Ignored.
	// `DEAL_ADD_WHITELIST`: Allowed.
	// `DEAL_DEL`: Deleted.
	// `DEAL_ISOLATE`: Isolated.
	// `DEAL_ISOLATING`: Isolating.
	// `DEAL_ISOLATE_FAILED`: Isolation failed.
	// `DEAL_RECOVERING`: Recovering.
	// `DEAL_RECOVER_FAILED`: Recovery failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Event description
	HarmDescribe *string `json:"HarmDescribe,omitnil,omitempty" name:"HarmDescribe"`

	// Solution
	SuggestScheme *string `json:"SuggestScheme,omitnil,omitempty" name:"SuggestScheme"`

	// Sub-status of the failure:
	// `FILE_NOT_FOUND`: The file does not exist.
	// `FILE_ABNORMAL`: The file is abnormal.
	// `FILE_ABNORMAL_DEAL_RECOVER`: The file is abnormal when recovered.
	// `BACKUP_FILE_NOT_FOUND`: The backup file does not exist.
	// `CONTAINER_NOT_FOUND_DEAL_ISOLATE`: The container does not exist during isolation.
	// `CONTAINER_NOT_FOUND_DEAL_RECOVER`: The container does not exist during recovery.
	// `TIMEOUT`: Timed out.
	// `TOO_MANY`: Too many tasks.
	// `OFFLINE`: Offline.
	// `INTERNAL`: Internal service error.
	// `VALIDATION`: Invalid parameter.
	SubStatus *string `json:"SubStatus,omitnil,omitempty" name:"SubStatus"`

	// Network status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// 	"NODE_DESTROYED"      // The node is terminated.
	// 	"CONTAINER_EXITED"    // The container exited.
	// 	"CONTAINER_DESTROYED" // The container was terminated.
	// 	"SHARED_HOST"         // The container shares the network with the server.
	// 	"RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// 	"UNKNOW"              // The reason is unknown.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// MD5 checksum
	// Note: This field may return null, indicating that no valid values can be obtained.
	MD5 *string `json:"MD5,omitnil,omitempty" name:"MD5"`

	// Risk level. Valid values: `RISK_CRITICAL`, `RISK_HIGH`, `RISK_MEDIUM`, `RISK_LOW`, `RISK_NOTICE`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	RiskLevel *string `json:"RiskLevel,omitnil,omitempty" name:"RiskLevel"`

	// Check platform
	// `1`: Tencent Cloud Security Engine.
	// `2`: tav.
	// `3`: binaryAi.
	// `4`: Unusual 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"`

	// Node ID.
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Node name
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod (instance) name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// ID of the cluster where the node resides
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Public IP of the node
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Node private IP
	InnerIP *string `json:"InnerIP,omitnil,omitempty" name:"InnerIP"`

	// UID of the node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// ID for the general node
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`
}

type VirusTaskInfo struct {
	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Container ID
	ContainerId *string `json:"ContainerId,omitnil,omitempty" name:"ContainerId"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image ID
	ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`

	// Node name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Private IP of the node
	HostIp *string `json:"HostIp,omitnil,omitempty" name:"HostIp"`

	// Scanning status:
	// `WAIT`: Pending scanning.
	// `FAILED`: Failed.
	// `SCANNING`: Scanning.
	// `FINISHED`: Ended.
	// `CANCELING`: Canceling.
	// `CANCELED`: Canceled.
	// `CANCEL_FAILED`: Failed to cancel.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Check start time
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// Check end time
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Number of risks
	RiskCnt *uint64 `json:"RiskCnt,omitnil,omitempty" name:"RiskCnt"`

	// Event ID
	Id *string `json:"Id,omitnil,omitempty" name:"Id"`

	// Cause:
	// `SEND_SUCCESSED`: Task submitted.
	// `SCAN_WAIT`: Waiting to scan...
	// `OFFLINE`: Offline.
	// `SEND_FAILED`: Failed to deploy.
	// `TIMEOUT`: Timed out.
	// `LOW_AGENT_VERSION`: The Agent version is too old.
	// `AGENT_NOT_FOUND`: The image's agent doesn't exist.
	// `TOO_MANY`: Too many tasks.
	// `VALIDATION`: Invalid parameter.
	// `INTERNAL`: Internal service error.
	// `MISC`: Other errors.
	// `UNAUTH`: The image is not assigned with a license.
	// `SEND_CANCEL_SUCCESSED`: Task submitted.
	ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Public IP of the node
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Node ID
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`
}

type VirusTendencyInfo struct {
	// Date
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// Total number of pending events
	PendingEventCount *uint64 `json:"PendingEventCount,omitnil,omitempty" name:"PendingEventCount"`

	// Total number of containers at risk
	RiskContainerCount *uint64 `json:"RiskContainerCount,omitnil,omitempty" name:"RiskContainerCount"`

	// Total number of events
	EventCount *uint64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Total number of isolated events
	IsolateEventCount *uint64 `json:"IsolateEventCount,omitnil,omitempty" name:"IsolateEventCount"`
}

type VulAffectedComponentInfo struct {
	// Component name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Component version
	// Note: This field may return null, indicating that no valid values can be obtained.
	Version []*string `json:"Version,omitnil,omitempty" name:"Version"`

	// Fixed component version
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixedVersion []*string `json:"FixedVersion,omitnil,omitempty" name:"FixedVersion"`
}

type VulAffectedContainerInfo struct {
	// Private IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Server name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Server ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// UID of a super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// ID of a super node
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Super node name
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`
}

type VulAffectedImageComponentInfo struct {
	// Component name
	// Note: This field may return null, indicating that no valid values can be obtained.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Component version
	// Note: This field may return null, indicating that no valid values can be obtained.
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`

	// Fixed component version
	// Note: This field may return null, indicating that no valid values can be obtained.
	FixedVersion *string `json:"FixedVersion,omitnil,omitempty" name:"FixedVersion"`

	// Component path
	// Note: This field may return null, indicating that no valid values can be obtained.
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`
}

type VulAffectedImageInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Number of associated servers
	HostCount *int64 `json:"HostCount,omitnil,omitempty" name:"HostCount"`

	// Number of associated containers
	ContainerCount *int64 `json:"ContainerCount,omitnil,omitempty" name:"ContainerCount"`

	// List of components
	ComponentList []*VulAffectedImageComponentInfo `json:"ComponentList,omitnil,omitempty" name:"ComponentList"`
}

type VulAffectedRegistryImageInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image tag
	ImageTag *string `json:"ImageTag,omitnil,omitempty" name:"ImageTag"`

	// Image namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Image address
	ImageRepoAddress *string `json:"ImageRepoAddress,omitnil,omitempty" name:"ImageRepoAddress"`

	// List of components
	ComponentList []*VulAffectedImageComponentInfo `json:"ComponentList,omitnil,omitempty" name:"ComponentList"`

	// Whether it is the latest image tag
	IsLatestImage *bool `json:"IsLatestImage,omitnil,omitempty" name:"IsLatestImage"`

	// Internal image asset ID
	ImageAssetId *int64 `json:"ImageAssetId,omitnil,omitempty" name:"ImageAssetId"`
}

type VulDefenceEvent struct {
	// Vulnerability CVE ID
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Intrusion status
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Attacker IP
	SourceIP *string `json:"SourceIP,omitnil,omitempty" name:"SourceIP"`

	// Region of the attacker IP
	City *string `json:"City,omitnil,omitempty" name:"City"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Processing status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Event ID
	EventID *int64 `json:"EventID,omitnil,omitempty" name:"EventID"`

	// First discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Isolation status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Last discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	MergeTime *string `json:"MergeTime,omitnil,omitempty" name:"MergeTime"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// 	"NODE_DESTROYED"      // The node is terminated.
	// 	"CONTAINER_EXITED"    // The container exited.
	// 	"CONTAINER_DESTROYED" // The container was terminated.
	// 	"SHARED_HOST"         // The container shares the network with the server.
	// 	"RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// 	"UNKNOW"              // The reason is unknown.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Node QUuid/Super node ID
	// Note: This field may return·`null`, indicating that no valid values can be obtained.
	QUUID *string `json:"QUUID,omitnil,omitempty" name:"QUUID"`

	// Server private IP
	// Note: This field may return null, indicating that no valid values can be obtained.
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// General node/Super node name
	// Note: This field may return·`null`, indicating that no valid values can be obtained.
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// UID of a super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// ID of a super node
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`
}

type VulDefenceEventDetail struct {
	// Vulnerability CVE ID
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Intrusion status
	EventType *string `json:"EventType,omitnil,omitempty" name:"EventType"`

	// Attacker IP
	SourceIP *string `json:"SourceIP,omitnil,omitempty" name:"SourceIP"`

	// Region of the attacker IP
	City *string `json:"City,omitnil,omitempty" name:"City"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`

	// Container ID
	ContainerID *string `json:"ContainerID,omitnil,omitempty" name:"ContainerID"`

	// Container name
	ContainerName *string `json:"ContainerName,omitnil,omitempty" name:"ContainerName"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Processing status
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Attacker port
	SourcePort []*string `json:"SourcePort,omitnil,omitempty" name:"SourcePort"`

	// Event ID
	EventID *int64 `json:"EventID,omitnil,omitempty" name:"EventID"`

	// General node/Super node name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Server private IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Server public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`

	// Harm description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Fix suggestion
	OfficialSolution *string `json:"OfficialSolution,omitnil,omitempty" name:"OfficialSolution"`

	// Attack packet
	NetworkPayload *string `json:"NetworkPayload,omitnil,omitempty" name:"NetworkPayload"`

	// Process PID
	// Note: This field may return null, indicating that no valid values can be obtained.
	PID *int64 `json:"PID,omitnil,omitempty" name:"PID"`

	// Main class name of the process
	// Note: This field may return null, indicating that no valid values can be obtained.
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// Stack information
	// Note: This field may return null, indicating that no valid values can be obtained.
	StackTrace *string `json:"StackTrace,omitnil,omitempty" name:"StackTrace"`

	// Listened account
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServerAccount *string `json:"ServerAccount,omitnil,omitempty" name:"ServerAccount"`

	// Listened port
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServerPort *string `json:"ServerPort,omitnil,omitempty" name:"ServerPort"`

	// Process path
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServerExe *string `json:"ServerExe,omitnil,omitempty" name:"ServerExe"`

	// Process command line parameter
	// Note: This field may return null, indicating that no valid values can be obtained.
	ServerArg *string `json:"ServerArg,omitnil,omitempty" name:"ServerArg"`

	// Node QUuid/Super node ID
	// Note: This field may return·`null`, indicating that no valid values can be obtained.
	QUUID *string `json:"QUUID,omitnil,omitempty" name:"QUUID"`

	// Isolation status
	// `NORMAL`: 	Not isolated.
	// `ISOLATED`: 		Isolated.
	// `ISOLATING`: 		Isolating.
	// `ISOLATE_FAILED`: 	Isolation failed.
	// `RESTORING`: Recovering.
	// `RESTORE_FAILED`: Recovery failed.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetStatus *string `json:"ContainerNetStatus,omitnil,omitempty" name:"ContainerNetStatus"`

	// Sub-status of the container
	// "AGENT_OFFLINE"       // The agent is offline.
	// 	"NODE_DESTROYED"      // The node is terminated.
	// 	"CONTAINER_EXITED"    // The container exited.
	// 	"CONTAINER_DESTROYED" // The container was terminated.
	// 	"SHARED_HOST"         // The container shares the network with the server.
	// 	"RESOURCE_LIMIT"      // The number of resources to be isolated exceeds the limit.
	// 	"UNKNOW"              // The reason is unknown.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerNetSubStatus *string `json:"ContainerNetSubStatus,omitnil,omitempty" name:"ContainerNetSubStatus"`

	// Container isolation operation source
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerIsolateOperationSrc *string `json:"ContainerIsolateOperationSrc,omitnil,omitempty" name:"ContainerIsolateOperationSrc"`

	// Container status
	// `RUNNING`: Running.
	// `PAUSED`: Paused.
	// `STOPPED`: Stopped.
	// `CREATED`: Created.
	// `DESTROYED`: Terminated.
	// `RESTARTING`: Restarting.
	// `REMOVING`: Removing.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerStatus *string `json:"ContainerStatus,omitnil,omitempty" name:"ContainerStatus"`

	// API URL
	// Note: This field may return null, indicating that no valid values can be obtained.
	JNDIUrl *string `json:"JNDIUrl,omitnil,omitempty" name:"JNDIUrl"`

	// RASP details
	// Note: This field may return `null`, indicating that no valid value was found.
	RaspDetail []*RaspInfo `json:"RaspDetail,omitnil,omitempty" name:"RaspDetail"`

	// Super node subnet name
	NodeSubNetName *string `json:"NodeSubNetName,omitnil,omitempty" name:"NodeSubNetName"`

	// Super node subnet IP range
	NodeSubNetCIDR *string `json:"NodeSubNetCIDR,omitnil,omitempty" name:"NodeSubNetCIDR"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// ID of a super node
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// UID of a super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// Super node subnet ID
	NodeSubNetID *string `json:"NodeSubNetID,omitnil,omitempty" name:"NodeSubNetID"`

	// Cluster ID
	ClusterID *string `json:"ClusterID,omitnil,omitempty" name:"ClusterID"`

	// Cluster name
	ClusterName *string `json:"ClusterName,omitnil,omitempty" name:"ClusterName"`

	// Namespace
	Namespace *string `json:"Namespace,omitnil,omitempty" name:"Namespace"`

	// Workload
	WorkloadType *string `json:"WorkloadType,omitnil,omitempty" name:"WorkloadType"`
}

type VulDefenceEventTendency struct {
	// Date
	Date *string `json:"Date,omitnil,omitempty" name:"Date"`

	// Number of events
	EventCount *int64 `json:"EventCount,omitnil,omitempty" name:"EventCount"`
}

type VulDefenceHost struct {
	// General node/Super node name
	HostName *string `json:"HostName,omitnil,omitempty" name:"HostName"`

	// Server IP, which is the private IP
	HostIP *string `json:"HostIP,omitnil,omitempty" name:"HostIP"`

	// Node QUuid/Super node ID
	HostID *string `json:"HostID,omitnil,omitempty" name:"HostID"`

	// Plugin status. Valid values: `SUCCESS` (normal); `FAIL` (abnormal); `NO_DEFENDED` (not defended).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Public IP
	PublicIP *string `json:"PublicIP,omitnil,omitempty" name:"PublicIP"`

	// First enablement time
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time
	ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`

	// Node type. Values: `NORMAL` (general node), `SUPER` (super node).
	NodeType *string `json:"NodeType,omitnil,omitempty" name:"NodeType"`

	// Super node subnet name
	NodeSubNetName *string `json:"NodeSubNetName,omitnil,omitempty" name:"NodeSubNetName"`

	// Super node subnet IP range
	NodeSubNetCIDR *string `json:"NodeSubNetCIDR,omitnil,omitempty" name:"NodeSubNetCIDR"`

	// Super node subnet ID
	NodeSubNetID *string `json:"NodeSubNetID,omitnil,omitempty" name:"NodeSubNetID"`

	// UID of a super node
	NodeUniqueID *string `json:"NodeUniqueID,omitnil,omitempty" name:"NodeUniqueID"`

	// ID of a super node
	NodeID *string `json:"NodeID,omitnil,omitempty" name:"NodeID"`

	// Pod IP
	PodIP *string `json:"PodIP,omitnil,omitempty" name:"PodIP"`

	// Pod name
	PodName *string `json:"PodName,omitnil,omitempty" name:"PodName"`
}

type VulDefencePlugin struct {
	// PID of the Java process
	PID *int64 `json:"PID,omitnil,omitempty" name:"PID"`

	// Main class name of the process
	MainClass *string `json:"MainClass,omitnil,omitempty" name:"MainClass"`

	// Plugin status. Valid values: `INJECTING` (injecting); `SUCCESS` (injected successfully); `FAIL` (injection failed); `TIMEOUT` (plugin timed out); `QUIT` (plugin exited).
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Error log
	ErrorLog *string `json:"ErrorLog,omitnil,omitempty" name:"ErrorLog"`
}

type VulDetailInfo struct {
	// CVE No.
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Vulnerability type
	// Note: This field may return null, indicating that no valid values can be obtained.
	CategoryType *string `json:"CategoryType,omitnil,omitempty" name:"CategoryType"`

	// Vulnerability severity
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// Vulnerability disclosure time
	// Note: This field may return null, indicating that no valid values can be obtained.
	SubmitTime *string `json:"SubmitTime,omitnil,omitempty" name:"SubmitTime"`

	// Vulnerability description
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// CVSS V3 description
	CVSSV3Desc *string `json:"CVSSV3Desc,omitnil,omitempty" name:"CVSSV3Desc"`

	// Vulnerability fix suggestion
	OfficialSolution *string `json:"OfficialSolution,omitnil,omitempty" name:"OfficialSolution"`

	// Mitigation measure
	DefenseSolution *string `json:"DefenseSolution,omitnil,omitempty" name:"DefenseSolution"`

	// Reference link
	Reference []*string `json:"Reference,omitnil,omitempty" name:"Reference"`

	// CVSS V3 score
	CVSSV3Score *float64 `json:"CVSSV3Score,omitnil,omitempty" name:"CVSSV3Score"`

	// List of components affected by vulnerabilities
	ComponentList []*VulAffectedComponentInfo `json:"ComponentList,omitnil,omitempty" name:"ComponentList"`

	// Number of affected local images
	LocalImageCount *int64 `json:"LocalImageCount,omitnil,omitempty" name:"LocalImageCount"`

	// Number of affected containers
	ContainerCount *int64 `json:"ContainerCount,omitnil,omitempty" name:"ContainerCount"`

	// Number of affected repository images
	RegistryImageCount *int64 `json:"RegistryImageCount,omitnil,omitempty" name:"RegistryImageCount"`

	// Vulnerability sub-category
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// Number of affected local images on the latest version
	LocalNewestImageCount *int64 `json:"LocalNewestImageCount,omitnil,omitempty" name:"LocalNewestImageCount"`

	// Number of affected repository images on the latest version
	RegistryNewestImageCount *int64 `json:"RegistryNewestImageCount,omitnil,omitempty" name:"RegistryNewestImageCount"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Defense status. Valid values: `NO_DEFENDED`, `DEFENDED`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceStatus *string `json:"DefenceStatus,omitnil,omitempty" name:"DefenceStatus"`

	// Scope of servers with exploit prevention enabled. Valid values: `MANUAL` (specified servers); `ALL` (all servers).
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceScope *string `json:"DefenceScope,omitnil,omitempty" name:"DefenceScope"`

	// Number of servers with exploit prevention enabled
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceHostCount *int64 `json:"DefenceHostCount,omitnil,omitempty" name:"DefenceHostCount"`

	// Number of attacks defended against
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefendedCount *int64 `json:"DefendedCount,omitnil,omitempty" name:"DefendedCount"`

	// Whether it is scanned. Valid values: `NOT_SCAN` (not scanned); `SCANNED` (scanned).
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanStatus *string `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`
}

type VulIgnoreLocalImage struct {
	// Record ID
	ID *int64 `json:"ID,omitnil,omitempty" name:"ID"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image size
	ImageSize *int64 `json:"ImageSize,omitnil,omitempty" name:"ImageSize"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`
}

type VulIgnoreRegistryImage struct {
	// Record ID
	ID *int64 `json:"ID,omitnil,omitempty" name:"ID"`

	// Repository name
	RegistryName *string `json:"RegistryName,omitnil,omitempty" name:"RegistryName"`

	// Image tag
	ImageVersion *string `json:"ImageVersion,omitnil,omitempty" name:"ImageVersion"`

	// Repository address
	RegistryPath *string `json:"RegistryPath,omitnil,omitempty" name:"RegistryPath"`

	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`
}

type VulInfo struct {
	// Vulnerability name
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Vulnerability tag
	// Note: This field may return null, indicating that no valid values can be obtained.
	Tags []*string `json:"Tags,omitnil,omitempty" name:"Tags"`

	// CVSS V3 score
	// Note: This field may return null, indicating that no valid values can be obtained.
	CVSSV3Score *float64 `json:"CVSSV3Score,omitnil,omitempty" name:"CVSSV3Score"`

	// Risk level
	// Note: This field may return null, indicating that no valid values can be obtained.
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// CVE No.
	CVEID *string `json:"CVEID,omitnil,omitempty" name:"CVEID"`

	// Vulnerability sub-category
	// Note: This field may return null, indicating that no valid values can be obtained.
	Category *string `json:"Category,omitnil,omitempty" name:"Category"`

	// First discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	FoundTime *string `json:"FoundTime,omitnil,omitempty" name:"FoundTime"`

	// Last discovery time
	// Note: This field may return null, indicating that no valid values can be obtained.
	LatestFoundTime *string `json:"LatestFoundTime,omitnil,omitempty" name:"LatestFoundTime"`

	// Vulnerability ID
	ID *int64 `json:"ID,omitnil,omitempty" name:"ID"`

	// Number of affected local images
	LocalImageCount *int64 `json:"LocalImageCount,omitnil,omitempty" name:"LocalImageCount"`

	// Number of affected containers
	// Note: This field may return null, indicating that no valid values can be obtained.
	ContainerCount *int64 `json:"ContainerCount,omitnil,omitempty" name:"ContainerCount"`

	// Number of affected repository images
	// Note: This field may return null, indicating that no valid values can be obtained.
	RegistryImageCount *int64 `json:"RegistryImageCount,omitnil,omitempty" name:"RegistryImageCount"`

	// POC ID
	// Note: This field may return null, indicating that no valid values can be obtained.
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`

	// Defense status. Valid values: `NO_DEFENDED`, `DEFENDED`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceStatus *string `json:"DefenceStatus,omitnil,omitempty" name:"DefenceStatus"`

	// Scope of servers with exploit prevention enabled. Valid values: `MANUAL` (specified servers); `ALL` (all servers).
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceScope *string `json:"DefenceScope,omitnil,omitempty" name:"DefenceScope"`

	// Number of servers with exploit prevention enabled
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefenceHostCount *int64 `json:"DefenceHostCount,omitnil,omitempty" name:"DefenceHostCount"`

	// Number of attacks defended against
	// Note: This field may return null, indicating that no valid values can be obtained.
	DefendedCount *int64 `json:"DefendedCount,omitnil,omitempty" name:"DefendedCount"`
}

type VulScanImageInfo struct {
	// Image ID
	ImageID *string `json:"ImageID,omitnil,omitempty" name:"ImageID"`

	// Image name
	ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`

	// Image size
	Size *float64 `json:"Size,omitnil,omitempty" name:"Size"`

	// Task status. Valid values: `SCANNING` (scanning); `FAILED` (failed); `FINISHED` (completed); `CANCELED` (canceled).
	ScanStatus *string `json:"ScanStatus,omitnil,omitempty" name:"ScanStatus"`

	// Scan duration
	// Note: This field may return null, indicating that no valid values can be obtained.
	ScanDuration *float64 `json:"ScanDuration,omitnil,omitempty" name:"ScanDuration"`

	// Number of high-risk vulnerabilities
	HighLevelVulCount *int64 `json:"HighLevelVulCount,omitnil,omitempty" name:"HighLevelVulCount"`

	// Number of medium-risk vulnerabilities
	MediumLevelVulCount *int64 `json:"MediumLevelVulCount,omitnil,omitempty" name:"MediumLevelVulCount"`

	// Number of low-risk vulnerabilities
	LowLevelVulCount *int64 `json:"LowLevelVulCount,omitnil,omitempty" name:"LowLevelVulCount"`

	// Number of critical vulnerabilities
	CriticalLevelVulCount *int64 `json:"CriticalLevelVulCount,omitnil,omitempty" name:"CriticalLevelVulCount"`

	// ID of the task to scan local images for vulnerabilities
	TaskID *int64 `json:"TaskID,omitnil,omitempty" name:"TaskID"`

	// Start time of the vulnerability scan
	ScanStartTime *string `json:"ScanStartTime,omitnil,omitempty" name:"ScanStartTime"`

	// End time of the vulnerability scan
	ScanEndTime *string `json:"ScanEndTime,omitnil,omitempty" name:"ScanEndTime"`

	// Cause of the failure. Valid values: `TIMEOUT` (timeout); `TOO_MANY` (too many tasks); `OFFLINE` (offline).
	ErrorStatus *string `json:"ErrorStatus,omitnil,omitempty" name:"ErrorStatus"`
}

type VulTendencyInfo struct {
	// List of vulnerability trends
	VulSet []*RunTimeTendencyInfo `json:"VulSet,omitnil,omitempty" name:"VulSet"`

	// Image type affected by vulnerabilities:
	// `LOCAL`: Local image.
	// `REGISTRY`: Repository image.
	ImageType *string `json:"ImageType,omitnil,omitempty" name:"ImageType"`
}

type VulTopRankingInfo struct {
	// Vulnerability name
	VulName *string `json:"VulName,omitnil,omitempty" name:"VulName"`

	// Severity. Valid values: `CRITICAL` (critical); `HIGH` (high);`MIDDLE` (medium);`LOW` (low).
	Level *string `json:"Level,omitnil,omitempty" name:"Level"`

	// Number of affected images
	AffectedImageCount *int64 `json:"AffectedImageCount,omitnil,omitempty" name:"AffectedImageCount"`

	// Number of affected containers
	AffectedContainerCount *int64 `json:"AffectedContainerCount,omitnil,omitempty" name:"AffectedContainerCount"`

	// Vulnerability ID
	ID *int64 `json:"ID,omitnil,omitempty" name:"ID"`

	// POC ID
	PocID *string `json:"PocID,omitnil,omitempty" name:"PocID"`
}

type WarningRule struct {
	// Alert event type:
	// Image repository security - Trojan: `IMG_REG_VIRUS`.
	// Image repository security - Vulnerability: `IMG_REG_VUL`.
	// Image repository security - Sensitive data: `IMG_REG_RISK`.
	// Image security - Trojan: `IMG_VIRUS`.
	// Image security - Vulnerability: `IMG_VUL`.
	// Image security - Sensitive data: `IMG_RISK`.
	// Image security - Image blocking: `IMG_INTERCEPT`.
	// Runtime security - Container escape: `RUNTIME_ESCAPE`.
	// Runtime security - Abnormal process: `RUNTIME_FILE`.
	// Runtime security - Abnormal file access: `RUNTIME_PROCESS`.
	// Runtime security - High-risk syscall: `RUNTIME_SYSCALL`.
	// Runtime security - Reverse shell: `RUNTIME_REVERSE_SHELL`.
	// Runtime security - Trojan: `RUNTIME_VIRUS`.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Switch status:
	// `ON`: On.
	// `OFF`: Off.
	Switch *string `json:"Switch,omitnil,omitempty" name:"Switch"`

	// Alert start time in the format of "HH:mm"
	BeginTime *string `json:"BeginTime,omitnil,omitempty" name:"BeginTime"`

	// Alert end time in the format of "HH:mm"
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Alert level policy control. Each binary bit represents a meaning, and the value is passed as a string.
	// The control switch can be high, medium, or low, corresponding to the third, second, and first binary bit, respectively. Valid values: `0` (off); `1` (on).
	// For example, if the high and medium levels indicate to enable the alert and the low level indicates to disable it, the binary value is `110`.
	// If level control does not take effect for the alert type, pass in `1`.
	ControlBits *string `json:"ControlBits,omitnil,omitempty" name:"ControlBits"`
}