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

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

// Predefined struct for user
type ApplyPathLifecyclePolicyRequestParams struct {
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`

	// List of absolute paths for directories associated with the lifecycle management policy.
	Paths []*PathInfo `json:"Paths,omitnil,omitempty" name:"Paths"`
}

type ApplyPathLifecyclePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`

	// List of absolute paths for directories associated with the lifecycle management policy.
	Paths []*PathInfo `json:"Paths,omitnil,omitempty" name:"Paths"`
}

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

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

// Predefined struct for user
type ApplyPathLifecyclePolicyResponseParams struct {
	// Returns existing rule information if there is a rule conflict.
	// Note: This field may return null, indicating that no valid values can be obtained.
	CheckResults []*CheckResult `json:"CheckResults,omitnil,omitempty" name:"CheckResults"`

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

type ApplyPathLifecyclePolicyResponse struct {
	*tchttp.BaseResponse
	Response *ApplyPathLifecyclePolicyResponseParams `json:"Response"`
}

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

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

type AutoScaleUpRule struct {
	// Enable auto scale-out policy, disable.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Cluster usage percentage. start expansion when reaching this value. value range: [10-90].
	ScaleThreshold *uint64 `json:"ScaleThreshold,omitnil,omitempty" name:"ScaleThreshold"`

	// Used capacity to total clusters ratio after expansion. value range: [10-90].
	TargetThreshold *uint64 `json:"TargetThreshold,omitnil,omitempty" name:"TargetThreshold"`
}

type AutoSnapshotPolicyInfo struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Snapshot policy name.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Snapshot policy creation time
	CreationTime *string `json:"CreationTime,omitnil,omitempty" name:"CreationTime"`

	// Number of bound file systems
	FileSystemNums *uint64 `json:"FileSystemNums,omitnil,omitempty" name:"FileSystemNums"`

	// The specific day of the week on which to create a snapshot. This parameter is mutually exclusive with `DayOfMonth` and `IntervalDays`.
	DayOfWeek *string `json:"DayOfWeek,omitnil,omitempty" name:"DayOfWeek"`

	// The hour of a day at which to regularly back up the snapshot
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Whether the periodic snapshot function is activated; 1 indicates activated, 0 indicates inactive.
	IsActivated *uint64 `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`

	// Next time to trigger snapshot
	NextActiveTime *string `json:"NextActiveTime,omitnil,omitempty" name:"NextActiveTime"`

	// Snapshot policy status. available represents normal status. only status here.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Account ID.
	AppId *uint64 `json:"AppId,omitnil,omitempty" name:"AppId"`

	// Retention period
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`

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

	// File system information
	FileSystems []*FileSystemByPolicy `json:"FileSystems,omitnil,omitempty" name:"FileSystems"`

	// The specific day of the month on which to create a snapshot. This parameter is mutually exclusive with `DayOfWeek` and `IntervalDays`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	DayOfMonth *string `json:"DayOfMonth,omitnil,omitempty" name:"DayOfMonth"`

	// The snapshot interval (1 to 365 days). This parameter is mutually exclusive with `DayOfWeek` and `DayOfMonth`.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IntervalDays *uint64 `json:"IntervalDays,omitnil,omitempty" name:"IntervalDays"`

	// Snapshot retention time for cross-region replication, in days.
	CrossRegionsAliveDays *uint64 `json:"CrossRegionsAliveDays,omitnil,omitempty" name:"CrossRegionsAliveDays"`

	// Snapshot policy tag.
	Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type AvailableProtoStatus struct {
	// Sale status. Valid values: sale_out (sold out), saling (purchasable), no_saling (non-purchasable)
	SaleStatus *string `json:"SaleStatus,omitnil,omitempty" name:"SaleStatus"`

	// Protocol type. optional values: NFS, CIFS, and TURBO.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`
}

type AvailableRegion struct {
	// Region name, such as "ap-beijing"
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Region name, such as "bj"
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// Region availability. If a region has at least one AZ where resources are purchasable, this value will be `AVAILABLE`; otherwise, it will be `UNAVAILABLE`
	RegionStatus *string `json:"RegionStatus,omitnil,omitempty" name:"RegionStatus"`

	// Array of AZs
	Zones []*AvailableZone `json:"Zones,omitnil,omitempty" name:"Zones"`

	// Region name, such as "Guangzhou"
	RegionCnName *string `json:"RegionCnName,omitnil,omitempty" name:"RegionCnName"`
}

type AvailableType struct {
	// <p>Protocol and sale details</p>
	Protocols []*AvailableProtoStatus `json:"Protocols,omitnil,omitempty" name:"Protocols"`

	// <p>Storage type. In the return value, SD indicates General Standard Storage, HP indicates General Performance Storage, TB indicates Standard Turbo, and TP indicates High-Performance Turbo.</p>
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// <p>Support for prepaid. In the return value, true means supported and false means unsupported.</p>
	Prepayment *bool `json:"Prepayment,omitnil,omitempty" name:"Prepayment"`

	// <p>File system version</p><p>Enumeration value:</p><ul><li>v1.5: Universal Series</li><li>v3.1: Universal Series (enhanced)</li><li>v4.0: Turbo series</li></ul>
	Version *string `json:"Version,omitnil,omitempty" name:"Version"`
}

type AvailableZone struct {
	// AZ name
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// AZ ID
	ZoneId *int64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Chinese name of an AZ
	ZoneCnName *string `json:"ZoneCnName,omitnil,omitempty" name:"ZoneCnName"`

	// Array of classes
	Types []*AvailableType `json:"Types,omitnil,omitempty" name:"Types"`

	// Chinese and English names of an AZ
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}

// Predefined struct for user
type BindAutoSnapshotPolicyRequestParams struct {
	// List of file system ids to be unbound, separated by ",". file system ids can be obtained by querying the file system list through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Unbound snapshot policy ID, which can be obtained by querying through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	FileSystemIds *string `json:"FileSystemIds,omitnil,omitempty" name:"FileSystemIds"`
}

type BindAutoSnapshotPolicyRequest struct {
	*tchttp.BaseRequest
	
	// List of file system ids to be unbound, separated by ",". file system ids can be obtained by querying the file system list through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Unbound snapshot policy ID, which can be obtained by querying through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	FileSystemIds *string `json:"FileSystemIds,omitnil,omitempty" name:"FileSystemIds"`
}

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

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

// Predefined struct for user
type BindAutoSnapshotPolicyResponseParams struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

type BindAutoSnapshotPolicyResponse struct {
	*tchttp.BaseResponse
	Response *BindAutoSnapshotPolicyResponseParams `json:"Response"`
}

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

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

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

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

type CheckResult struct {
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`

	// File system ID.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Directory absolute path.
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// List of management rules associated with the lifecycle management policy.
	LifecycleRules []*LifecycleRule `json:"LifecycleRules,omitnil,omitempty" name:"LifecycleRules"`

	// Target path.
	TargetPath *string `json:"TargetPath,omitnil,omitempty" name:"TargetPath"`
}

// Predefined struct for user
type CreateAutoSnapshotPolicyRequestParams struct {
	// Snapshot repeat time point. value range: 0-23 hr.
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Policy name, limited to 64 characters, only supports input of chinese, letters, numbers, _, or -.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Snapshot repeat date, monday to sunday. 1 represents monday, 7 represents sunday. choose one from three: DayOfMonth, IntervalDays.
	DayOfWeek *string `json:"DayOfWeek,omitnil,omitempty" name:"DayOfWeek"`

	// Specifies the snapshot retention duration in days. the default value is 0 (permanent).
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`

	// Snapshot monthly recurrence, select a day from the 1st to the 31st of each month, and a snapshot will be automatically created on that day. for example, 1 represents the 1st. choose one of the three: DayOfWeek, IntervalDays.
	DayOfMonth *string `json:"DayOfMonth,omitnil,omitempty" name:"DayOfMonth"`

	// Interval days. choose one of the three with DayOfWeek and DayOfMonth.
	IntervalDays *uint64 `json:"IntervalDays,omitnil,omitempty" name:"IntervalDays"`

	// Snapshot policy tag.
	ResourceTags []*TagInfo `json:"ResourceTags,omitnil,omitempty" name:"ResourceTags"`
}

type CreateAutoSnapshotPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot repeat time point. value range: 0-23 hr.
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Policy name, limited to 64 characters, only supports input of chinese, letters, numbers, _, or -.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Snapshot repeat date, monday to sunday. 1 represents monday, 7 represents sunday. choose one from three: DayOfMonth, IntervalDays.
	DayOfWeek *string `json:"DayOfWeek,omitnil,omitempty" name:"DayOfWeek"`

	// Specifies the snapshot retention duration in days. the default value is 0 (permanent).
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`

	// Snapshot monthly recurrence, select a day from the 1st to the 31st of each month, and a snapshot will be automatically created on that day. for example, 1 represents the 1st. choose one of the three: DayOfWeek, IntervalDays.
	DayOfMonth *string `json:"DayOfMonth,omitnil,omitempty" name:"DayOfMonth"`

	// Interval days. choose one of the three with DayOfWeek and DayOfMonth.
	IntervalDays *uint64 `json:"IntervalDays,omitnil,omitempty" name:"IntervalDays"`

	// Snapshot policy tag.
	ResourceTags []*TagInfo `json:"ResourceTags,omitnil,omitempty" name:"ResourceTags"`
}

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

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

// Predefined struct for user
type CreateAutoSnapshotPolicyResponseParams struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

type CreateAutoSnapshotPolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreateAutoSnapshotPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateCfsFileSystemRequestParams struct {
	// AZ name, such as "ap-beijing-1". For the list of regions and AZs, please see [Overview](https://intl.cloud.tencent.com/document/product/582/13225?from_cn_redirect=1)
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Network type. Valid values: `VPC` and `CCN`. Select `VPC` for a Standard or High-Performance file system, and `CCN` for a Standard Turbo or High-Performance Turbo one.
	NetInterface *string `json:"NetInterface,omitnil,omitempty" name:"NetInterface"`

	// Permission group ID. pgroupbasic is the default permission group. obtain through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/product/582/38157?from_cn_redirect=1) to query the permission group list.
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// File system protocol type. valid values: NFS, CIFS, and TURBO. if left blank, NFS by default. the TURBO series must select TURBO. NFS and CIFS are not supported.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Storage type of the file system. Valid values: `SD` (Standard), `HP` (High-Performance), `TB` (Standard Turbo), and `TP` (High-Performance Turbo). Default value: `SD`.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Private network (VPC) ID. if the network type is VPC, this field must be specified. obtain it by querying the private network interface.
	// [DescribeVpcs](https://www.tencentcloud.com/document/product/215/15778?from_cn_redirect=1)
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID. this field must be specified if the network type is VPC. obtain through the api for querying subnets.
	// [DescribeSubnets](https://www.tencentcloud.com/document/product/215/15784?from_cn_redirect=1)
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// IP address (this parameter supports only the VPC network type, and the Turbo series is not supported). If this parameter is left empty, a random IP in the subnet will be assigned.
	MountIP *string `json:"MountIP,omitnil,omitempty" name:"MountIP"`

	// Custom file system name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`


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

	// File system tag
	ResourceTags []*TagInfo `json:"ResourceTags,omitnil,omitempty" name:"ResourceTags"`

	// A unique string supplied by the client to ensure that the request is idempotent. Its maximum length is 64 ASCII characters. If this parameter is not specified, the idempotency of the request cannot be guaranteed. This string is valid for 2 hours.
	ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"`

	// Cloud connect network ID. this field must be specified if the network type is CCN. obtain it by querying the CCN list through the api.
	// [DescribeCcns](https://www.tencentcloud.com/document/product/215/19199?from_cn_redirect=1)
	CcnId *string `json:"CcnId,omitnil,omitempty" name:"CcnId"`

	// CCN IP range used by the CFS (required if the network type is CCN), which cannot conflict with other IP ranges bound in CCN
	CidrBlock *string `json:"CidrBlock,omitnil,omitempty" name:"CidrBlock"`

	// File system capacity, required for the turbo series, in GiB. turbo standard type in GB, starting from 20 TiB (20480 GiB); scaling increment 10 TiB (10240 GiB). turbo performance type starts from 10 TiB (10240 GiB); capacity expansion step 10 TiB (10240 GiB).
	Capacity *uint64 `json:"Capacity,omitnil,omitempty" name:"Capacity"`

	// File system snapshot ID. this parameter can be obtained by querying the snapshot list.
	// [DescribeCfsSnapshots](https://www.tencentcloud.com/document/product/582/80206?from_cn_redirect=1)
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Scheduled snapshot policy ID, which can be obtained by querying the snapshot policy information.
	// [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/product/582/38157?from_cn_redirect=1)
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Whether default expansion is enabled. only turbo file storage supports this feature.
	EnableAutoScaleUp *bool `json:"EnableAutoScaleUp,omitnil,omitempty" name:"EnableAutoScaleUp"`

	// v1.5: create a standard edition general file system.
	// v3.1: create an enhanced general file system.
	// Description: the enhanced universal system requires enabling the allowlist to use. if needed, submit a ticket to contact us.
	CfsVersion *string `json:"CfsVersion,omitnil,omitempty" name:"CfsVersion"`

	// turbo file system metadata attribute.
	// basic: creates metadata of the standard type.
	// Enhanced: creates enhanced metadata.
	MetaType *string `json:"MetaType,omitnil,omitempty" name:"MetaType"`
}

type CreateCfsFileSystemRequest struct {
	*tchttp.BaseRequest
	
	// AZ name, such as "ap-beijing-1". For the list of regions and AZs, please see [Overview](https://intl.cloud.tencent.com/document/product/582/13225?from_cn_redirect=1)
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// Network type. Valid values: `VPC` and `CCN`. Select `VPC` for a Standard or High-Performance file system, and `CCN` for a Standard Turbo or High-Performance Turbo one.
	NetInterface *string `json:"NetInterface,omitnil,omitempty" name:"NetInterface"`

	// Permission group ID. pgroupbasic is the default permission group. obtain through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/product/582/38157?from_cn_redirect=1) to query the permission group list.
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// File system protocol type. valid values: NFS, CIFS, and TURBO. if left blank, NFS by default. the TURBO series must select TURBO. NFS and CIFS are not supported.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Storage type of the file system. Valid values: `SD` (Standard), `HP` (High-Performance), `TB` (Standard Turbo), and `TP` (High-Performance Turbo). Default value: `SD`.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Private network (VPC) ID. if the network type is VPC, this field must be specified. obtain it by querying the private network interface.
	// [DescribeVpcs](https://www.tencentcloud.com/document/product/215/15778?from_cn_redirect=1)
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID. this field must be specified if the network type is VPC. obtain through the api for querying subnets.
	// [DescribeSubnets](https://www.tencentcloud.com/document/product/215/15784?from_cn_redirect=1)
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// IP address (this parameter supports only the VPC network type, and the Turbo series is not supported). If this parameter is left empty, a random IP in the subnet will be assigned.
	MountIP *string `json:"MountIP,omitnil,omitempty" name:"MountIP"`

	// Custom file system name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

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

	// File system tag
	ResourceTags []*TagInfo `json:"ResourceTags,omitnil,omitempty" name:"ResourceTags"`

	// A unique string supplied by the client to ensure that the request is idempotent. Its maximum length is 64 ASCII characters. If this parameter is not specified, the idempotency of the request cannot be guaranteed. This string is valid for 2 hours.
	ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"`

	// Cloud connect network ID. this field must be specified if the network type is CCN. obtain it by querying the CCN list through the api.
	// [DescribeCcns](https://www.tencentcloud.com/document/product/215/19199?from_cn_redirect=1)
	CcnId *string `json:"CcnId,omitnil,omitempty" name:"CcnId"`

	// CCN IP range used by the CFS (required if the network type is CCN), which cannot conflict with other IP ranges bound in CCN
	CidrBlock *string `json:"CidrBlock,omitnil,omitempty" name:"CidrBlock"`

	// File system capacity, required for the turbo series, in GiB. turbo standard type in GB, starting from 20 TiB (20480 GiB); scaling increment 10 TiB (10240 GiB). turbo performance type starts from 10 TiB (10240 GiB); capacity expansion step 10 TiB (10240 GiB).
	Capacity *uint64 `json:"Capacity,omitnil,omitempty" name:"Capacity"`

	// File system snapshot ID. this parameter can be obtained by querying the snapshot list.
	// [DescribeCfsSnapshots](https://www.tencentcloud.com/document/product/582/80206?from_cn_redirect=1)
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Scheduled snapshot policy ID, which can be obtained by querying the snapshot policy information.
	// [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/product/582/38157?from_cn_redirect=1)
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Whether default expansion is enabled. only turbo file storage supports this feature.
	EnableAutoScaleUp *bool `json:"EnableAutoScaleUp,omitnil,omitempty" name:"EnableAutoScaleUp"`

	// v1.5: create a standard edition general file system.
	// v3.1: create an enhanced general file system.
	// Description: the enhanced universal system requires enabling the allowlist to use. if needed, submit a ticket to contact us.
	CfsVersion *string `json:"CfsVersion,omitnil,omitempty" name:"CfsVersion"`

	// turbo file system metadata attribute.
	// basic: creates metadata of the standard type.
	// Enhanced: creates enhanced metadata.
	MetaType *string `json:"MetaType,omitnil,omitempty" name:"MetaType"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateCfsFileSystemRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "Zone")
	delete(f, "NetInterface")
	delete(f, "PGroupId")
	delete(f, "Protocol")
	delete(f, "StorageType")
	delete(f, "VpcId")
	delete(f, "SubnetId")
	delete(f, "MountIP")
	delete(f, "FsName")
	delete(f, "Encrypted")
	delete(f, "ResourceTags")
	delete(f, "ClientToken")
	delete(f, "CcnId")
	delete(f, "CidrBlock")
	delete(f, "Capacity")
	delete(f, "SnapshotId")
	delete(f, "AutoSnapshotPolicyId")
	delete(f, "EnableAutoScaleUp")
	delete(f, "CfsVersion")
	delete(f, "MetaType")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateCfsFileSystemRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateCfsFileSystemResponseParams struct {
	// File system creation time
	CreationTime *string `json:"CreationTime,omitnil,omitempty" name:"CreationTime"`

	// Custom file system name
	CreationToken *string `json:"CreationToken,omitnil,omitempty" name:"CreationToken"`

	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// File system status. Valid values: `creating`, `create_failed`, `available`, `unserviced`, `upgrading`, `deleting`
	LifeCycleState *string `json:"LifeCycleState,omitnil,omitempty" name:"LifeCycleState"`

	// Storage used by the file system, in bytes
	SizeByte *uint64 `json:"SizeByte,omitnil,omitempty" name:"SizeByte"`

	// AZ ID
	ZoneId *uint64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Custom file system name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

	// Whether a file system is encrypted
	Encrypted *bool `json:"Encrypted,omitnil,omitempty" name:"Encrypted"`

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

type CreateCfsFileSystemResponse struct {
	*tchttp.BaseResponse
	Response *CreateCfsFileSystemResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateCfsPGroupRequestParams struct {
	// Permission group name, which can contain 1-64 Chinese characters, letters, numbers, underscores, or dashes
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Permission group description, which can contain 1-255 characters
	DescInfo *string `json:"DescInfo,omitnil,omitempty" name:"DescInfo"`
}

type CreateCfsPGroupRequest struct {
	*tchttp.BaseRequest
	
	// Permission group name, which can contain 1-64 Chinese characters, letters, numbers, underscores, or dashes
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Permission group description, which can contain 1-255 characters
	DescInfo *string `json:"DescInfo,omitnil,omitempty" name:"DescInfo"`
}

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

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

// Predefined struct for user
type CreateCfsPGroupResponseParams struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

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

	// Permission group description
	DescInfo *string `json:"DescInfo,omitnil,omitempty" name:"DescInfo"`

	// The number of file systems bound to this permission group
	BindCfsNum *int64 `json:"BindCfsNum,omitnil,omitempty" name:"BindCfsNum"`

	// Permission group creation time
	CDate *string `json:"CDate,omitnil,omitempty" name:"CDate"`

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

type CreateCfsPGroupResponse struct {
	*tchttp.BaseResponse
	Response *CreateCfsPGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateCfsRuleRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// You can enter a single IP or IP range, such as 10.1.10.11 or 10.10.1.0/24. The default visiting address is `*`, indicating that all IPs are allowed. Please note that you need to enter the CVM instance's private IP here.
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Rule priority. Value range: 1-100. 1 represents the highest priority, while 100 the lowest
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`

	// Read/write permission. Valid values: RO (read-only), RW (read & write). Default value: RO
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

	// User permission. valid values: all_squash, no_all_squash, root_squash, no_root_squash. default value: root_squash.
	// All_squash: all accessing users (including the root user) will be mapped to anonymous users or groups.
	// no_all_squash: all accessing users (including the root user) retain original UID/GID information.
	// root_squash: maps visiting root user to anonymous user or user group. non-root user keeps original UID/GID information.
	// no_root_squash: has the same effect as no_all_squash. all accessing users (including the root user) retain their original UID/GID information.
	UserPermission *string `json:"UserPermission,omitnil,omitempty" name:"UserPermission"`
}

type CreateCfsRuleRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// You can enter a single IP or IP range, such as 10.1.10.11 or 10.10.1.0/24. The default visiting address is `*`, indicating that all IPs are allowed. Please note that you need to enter the CVM instance's private IP here.
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Rule priority. Value range: 1-100. 1 represents the highest priority, while 100 the lowest
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`

	// Read/write permission. Valid values: RO (read-only), RW (read & write). Default value: RO
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

	// User permission. valid values: all_squash, no_all_squash, root_squash, no_root_squash. default value: root_squash.
	// All_squash: all accessing users (including the root user) will be mapped to anonymous users or groups.
	// no_all_squash: all accessing users (including the root user) retain original UID/GID information.
	// root_squash: maps visiting root user to anonymous user or user group. non-root user keeps original UID/GID information.
	// no_root_squash: has the same effect as no_all_squash. all accessing users (including the root user) retain their original UID/GID information.
	UserPermission *string `json:"UserPermission,omitnil,omitempty" name:"UserPermission"`
}

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

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

// Predefined struct for user
type CreateCfsRuleResponseParams struct {
	// Rule ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Client IP
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Read & write permissions
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

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

	// Priority
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`

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

type CreateCfsRuleResponse struct {
	*tchttp.BaseResponse
	Response *CreateCfsRuleResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateCfsSnapshotRequestParams struct {
	// File system ID, which can be obtained by querying the file system list; [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Snapshot name, supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// Snapshot tag
	ResourceTags []*TagInfo `json:"ResourceTags,omitnil,omitempty" name:"ResourceTags"`
}

type CreateCfsSnapshotRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by querying the file system list; [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Snapshot name, supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// Snapshot tag
	ResourceTags []*TagInfo `json:"ResourceTags,omitnil,omitempty" name:"ResourceTags"`
}

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

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

// Predefined struct for user
type CreateCfsSnapshotResponseParams struct {
	// File system snapshot ID
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

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

type CreateCfsSnapshotResponse struct {
	*tchttp.BaseResponse
	Response *CreateCfsSnapshotResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateDataFlowRequestParams struct {
	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Source data type; includes S3_COS, S3_L5.
	SourceStorageType *string `json:"SourceStorageType,omitnil,omitempty" name:"SourceStorageType"`

	// Source storage address.
	SourceStorageAddress *string `json:"SourceStorageAddress,omitnil,omitempty" name:"SourceStorageAddress"`

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

	// Target path in the file system.
	TargetPath *string `json:"TargetPath,omitnil,omitempty" name:"TargetPath"`

	// Key ID.
	SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"`

	// key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Data flow name, supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	DataFlowName *string `json:"DataFlowName,omitnil,omitempty" name:"DataFlowName"`

	// 0: disable auto-update  1: enable auto-update.
	AutoRefresh *uint64 `json:"AutoRefresh,omitnil,omitempty" name:"AutoRefresh"`

	// Topic Parameter used by KafkaConsumer during consumption
	UserKafkaTopic *string `json:"UserKafkaTopic,omitnil,omitempty" name:"UserKafkaTopic"`

	// 	Service address example value: kafkaconsumer-ap-beijing.cls.tencentyun.com:9095.
	ServerAddr *string `json:"ServerAddr,omitnil,omitempty" name:"ServerAddr"`

	// Kafka consuming user name. example value: name.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Kafka consuming user password. default ${SecretId}#${SecretKey}.
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`
}

type CreateDataFlowRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Source data type; includes S3_COS, S3_L5.
	SourceStorageType *string `json:"SourceStorageType,omitnil,omitempty" name:"SourceStorageType"`

	// Source storage address.
	SourceStorageAddress *string `json:"SourceStorageAddress,omitnil,omitempty" name:"SourceStorageAddress"`

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

	// Target path in the file system.
	TargetPath *string `json:"TargetPath,omitnil,omitempty" name:"TargetPath"`

	// Key ID.
	SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"`

	// key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Data flow name, supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	DataFlowName *string `json:"DataFlowName,omitnil,omitempty" name:"DataFlowName"`

	// 0: disable auto-update  1: enable auto-update.
	AutoRefresh *uint64 `json:"AutoRefresh,omitnil,omitempty" name:"AutoRefresh"`

	// Topic Parameter used by KafkaConsumer during consumption
	UserKafkaTopic *string `json:"UserKafkaTopic,omitnil,omitempty" name:"UserKafkaTopic"`

	// 	Service address example value: kafkaconsumer-ap-beijing.cls.tencentyun.com:9095.
	ServerAddr *string `json:"ServerAddr,omitnil,omitempty" name:"ServerAddr"`

	// Kafka consuming user name. example value: name.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Kafka consuming user password. default ${SecretId}#${SecretKey}.
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateDataFlowRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "FileSystemId")
	delete(f, "SourceStorageType")
	delete(f, "SourceStorageAddress")
	delete(f, "SourcePath")
	delete(f, "TargetPath")
	delete(f, "SecretId")
	delete(f, "SecretKey")
	delete(f, "DataFlowName")
	delete(f, "AutoRefresh")
	delete(f, "UserKafkaTopic")
	delete(f, "ServerAddr")
	delete(f, "UserName")
	delete(f, "Password")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDataFlowRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

// Predefined struct for user
type CreateDataFlowResponseParams struct {
	// Data flow manage ID.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

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

type CreateDataFlowResponse struct {
	*tchttp.BaseResponse
	Response *CreateDataFlowResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateLifecycleDataTaskRequestParams struct {
	// File system unique ID.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Lifecycle task type; archive: settlement; restore: preheating; release: data release; metaload: metadata loading.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Task name.
	TaskName *string `json:"TaskName,omitnil,omitempty" name:"TaskName"`

	// The path or file to be settled supports passing only one path and cannot be empty.
	TaskPath *string `json:"TaskPath,omitnil,omitempty" name:"TaskPath"`

	// Data flow ID. this api can be accessed through DescribeDataFlow.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// When a file in CFS Turbo and an external storage have the same name, whether to overwrite. true: overwrite. false: not overwrite (at the same time, data storage will not be released). default false when empty.
	IsOverwrite *bool `json:"IsOverwrite,omitnil,omitempty" name:"IsOverwrite"`
}

type CreateLifecycleDataTaskRequest struct {
	*tchttp.BaseRequest
	
	// File system unique ID.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Lifecycle task type; archive: settlement; restore: preheating; release: data release; metaload: metadata loading.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Task name.
	TaskName *string `json:"TaskName,omitnil,omitempty" name:"TaskName"`

	// The path or file to be settled supports passing only one path and cannot be empty.
	TaskPath *string `json:"TaskPath,omitnil,omitempty" name:"TaskPath"`

	// Data flow ID. this api can be accessed through DescribeDataFlow.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// When a file in CFS Turbo and an external storage have the same name, whether to overwrite. true: overwrite. false: not overwrite (at the same time, data storage will not be released). default false when empty.
	IsOverwrite *bool `json:"IsOverwrite,omitnil,omitempty" name:"IsOverwrite"`
}

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

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

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

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

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

// Predefined struct for user
type CreateLifecyclePolicyDownloadTaskRequestParams struct {
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Download file type, including FileSuccessList, FileTotalList, FileFailedList.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type CreateLifecyclePolicyDownloadTaskRequest struct {
	*tchttp.BaseRequest
	
	// Task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Download file type, including FileSuccessList, FileTotalList, FileFailedList.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

// Predefined struct for user
type CreateLifecyclePolicyDownloadTaskResponseParams struct {
	// Download path.
	DownloadAddress *string `json:"DownloadAddress,omitnil,omitempty" name:"DownloadAddress"`

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

type CreateLifecyclePolicyDownloadTaskResponse struct {
	*tchttp.BaseResponse
	Response *CreateLifecyclePolicyDownloadTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateLifecyclePolicyRequestParams struct {
	// Lifecycle management policy name, a combination of chinese/english/digits/underscores/hyphens, no more than 64 characters.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// List of management rules associated with the lifecycle management policy.
	LifecycleRules []*LifecycleRule `json:"LifecycleRules,omitnil,omitempty" name:"LifecycleRules"`
}

type CreateLifecyclePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Lifecycle management policy name, a combination of chinese/english/digits/underscores/hyphens, no more than 64 characters.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// List of management rules associated with the lifecycle management policy.
	LifecycleRules []*LifecycleRule `json:"LifecycleRules,omitnil,omitempty" name:"LifecycleRules"`
}

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

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

// Predefined struct for user
type CreateLifecyclePolicyResponseParams struct {
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`

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

type CreateLifecyclePolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreateLifecyclePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateMigrationTaskRequestParams struct {
	// Migration task name
	TaskName *string `json:"TaskName,omitnil,omitempty" name:"TaskName"`

	// Migration method flags, default is 0. 0: bucket migration; 1: inventory migration.
	MigrationType *uint64 `json:"MigrationType,omitnil,omitempty" name:"MigrationType"`

	// Migration mode. Default value: `0` (full migration).
	MigrationMode *uint64 `json:"MigrationMode,omitnil,omitempty" name:"MigrationMode"`

	// SecretId of the data source account.
	SrcSecretId *string `json:"SrcSecretId,omitnil,omitempty" name:"SrcSecretId"`

	// SecretKey of the data source account.
	SrcSecretKey *string `json:"SrcSecretKey,omitnil,omitempty" name:"SrcSecretKey"`

	// File system instance ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// File system path
	FsPath *string `json:"FsPath,omitnil,omitempty" name:"FsPath"`

	// Overwrite policy for files with the same name. Valid values: `0` (retain the file with the latest modified time), `1` (overwrite); and `2` (not overwrite). Default value: `0`.
	CoverType *uint64 `json:"CoverType,omitnil,omitempty" name:"CoverType"`

	// Data source service providers. COS: tencent cloud COS, OSS: alibaba cloud OSS, OBS: huawei cloud OBS.
	SrcService *string `json:"SrcService,omitnil,omitempty" name:"SrcService"`

	// Data source bucket name. specifies the bucket name for migration. either BucketName or BucketAddress is required for bucket migration. this parameter is not required for inventory migration.
	BucketName *string `json:"BucketName,omitnil,omitempty" name:"BucketName"`

	// Data source bucket region
	BucketRegion *string `json:"BucketRegion,omitnil,omitempty" name:"BucketRegion"`

	// Source bucket address. specifies the bucket address of the data source. for bucket migration, either BucketName or BucketAddress is required. this parameter is not required for inventory migration.
	BucketAddress *string `json:"BucketAddress,omitnil,omitempty" name:"BucketAddress"`

	// List address. This parameter is required if `MigrationType` is set to `1` (list).
	ListAddress *string `json:"ListAddress,omitnil,omitempty" name:"ListAddress"`

	// Target file system name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

	// Source bucket path, defaults to /.
	BucketPath *string `json:"BucketPath,omitnil,omitempty" name:"BucketPath"`

	// Migration direction. valid values: 0 (cos migration to file system), 1 (file system migration to cos). default is 0.
	Direction *uint64 `json:"Direction,omitnil,omitempty" name:"Direction"`
}

type CreateMigrationTaskRequest struct {
	*tchttp.BaseRequest
	
	// Migration task name
	TaskName *string `json:"TaskName,omitnil,omitempty" name:"TaskName"`

	// Migration method flags, default is 0. 0: bucket migration; 1: inventory migration.
	MigrationType *uint64 `json:"MigrationType,omitnil,omitempty" name:"MigrationType"`

	// Migration mode. Default value: `0` (full migration).
	MigrationMode *uint64 `json:"MigrationMode,omitnil,omitempty" name:"MigrationMode"`

	// SecretId of the data source account.
	SrcSecretId *string `json:"SrcSecretId,omitnil,omitempty" name:"SrcSecretId"`

	// SecretKey of the data source account.
	SrcSecretKey *string `json:"SrcSecretKey,omitnil,omitempty" name:"SrcSecretKey"`

	// File system instance ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// File system path
	FsPath *string `json:"FsPath,omitnil,omitempty" name:"FsPath"`

	// Overwrite policy for files with the same name. Valid values: `0` (retain the file with the latest modified time), `1` (overwrite); and `2` (not overwrite). Default value: `0`.
	CoverType *uint64 `json:"CoverType,omitnil,omitempty" name:"CoverType"`

	// Data source service providers. COS: tencent cloud COS, OSS: alibaba cloud OSS, OBS: huawei cloud OBS.
	SrcService *string `json:"SrcService,omitnil,omitempty" name:"SrcService"`

	// Data source bucket name. specifies the bucket name for migration. either BucketName or BucketAddress is required for bucket migration. this parameter is not required for inventory migration.
	BucketName *string `json:"BucketName,omitnil,omitempty" name:"BucketName"`

	// Data source bucket region
	BucketRegion *string `json:"BucketRegion,omitnil,omitempty" name:"BucketRegion"`

	// Source bucket address. specifies the bucket address of the data source. for bucket migration, either BucketName or BucketAddress is required. this parameter is not required for inventory migration.
	BucketAddress *string `json:"BucketAddress,omitnil,omitempty" name:"BucketAddress"`

	// List address. This parameter is required if `MigrationType` is set to `1` (list).
	ListAddress *string `json:"ListAddress,omitnil,omitempty" name:"ListAddress"`

	// Target file system name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

	// Source bucket path, defaults to /.
	BucketPath *string `json:"BucketPath,omitnil,omitempty" name:"BucketPath"`

	// Migration direction. valid values: 0 (cos migration to file system), 1 (file system migration to cos). default is 0.
	Direction *uint64 `json:"Direction,omitnil,omitempty" name:"Direction"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *CreateMigrationTaskRequest) FromJsonString(s string) error {
	f := make(map[string]interface{})
	if err := json.Unmarshal([]byte(s), &f); err != nil {
		return err
	}
	delete(f, "TaskName")
	delete(f, "MigrationType")
	delete(f, "MigrationMode")
	delete(f, "SrcSecretId")
	delete(f, "SrcSecretKey")
	delete(f, "FileSystemId")
	delete(f, "FsPath")
	delete(f, "CoverType")
	delete(f, "SrcService")
	delete(f, "BucketName")
	delete(f, "BucketRegion")
	delete(f, "BucketAddress")
	delete(f, "ListAddress")
	delete(f, "FsName")
	delete(f, "BucketPath")
	delete(f, "Direction")
	if len(f) > 0 {
		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateMigrationTaskRequest has unknown keys!", "")
	}
	return json.Unmarshal([]byte(s), &r)
}

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

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

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

type DataFlowInfo struct {
	// Data flow manage ID.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// Data flow name.
	DataFlowName *string `json:"DataFlowName,omitnil,omitempty" name:"DataFlowName"`

	// Source data type.
	SourceStorageType *string `json:"SourceStorageType,omitnil,omitempty" name:"SourceStorageType"`

	// Source storage address.
	SourceStorageAddress *string `json:"SourceStorageAddress,omitnil,omitempty" name:"SourceStorageAddress"`

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

	// Directory path.
	TargetPath *string `json:"TargetPath,omitnil,omitempty" name:"TargetPath"`

	// available: effective.
	// pending: configuring.
	// unavailable.
	// Deleting: deleting.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

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

	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// 0: disable auto-update.
	// 
	// 1: enable auto-update.
	AutoRefresh *uint64 `json:"AutoRefresh,omitnil,omitempty" name:"AutoRefresh"`

	// Topic Parameter used by KafkaConsumer during consumption
	UserKafkaTopic *string `json:"UserKafkaTopic,omitnil,omitempty" name:"UserKafkaTopic"`

	// Service address.
	ServerAddr *string `json:"ServerAddr,omitnil,omitempty" name:"ServerAddr"`

	// Kafka consuming user name.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Auto refresh status, available: in effect.
	// pending: configuring.
	// unavailable.
	AutoRefreshStatus *string `json:"AutoRefreshStatus,omitnil,omitempty" name:"AutoRefreshStatus"`

	// Automatically refresh start time.
	AutoRefreshTime *string `json:"AutoRefreshTime,omitnil,omitempty" name:"AutoRefreshTime"`
}

// Predefined struct for user
type DeleteAutoSnapshotPolicyRequestParams struct {
	// Snapshot policy ID, which can be obtained by querying the snapshot policy interface through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
}

type DeleteAutoSnapshotPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot policy ID, which can be obtained by querying the snapshot policy interface through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
}

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

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

// Predefined struct for user
type DeleteAutoSnapshotPolicyResponseParams struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

type DeleteAutoSnapshotPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteAutoSnapshotPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteCfsFileSystemRequestParams struct {
	// File system ID, which can be obtained by [querying the file system interface](https://www.tencentcloud.com/document/api/582/38170?from_cn_redirect=1). note: the DeleteMountTarget api must be called to remove the mount point of this file system before file system deletion, otherwise deletion will fail.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

type DeleteCfsFileSystemRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by [querying the file system interface](https://www.tencentcloud.com/document/api/582/38170?from_cn_redirect=1). note: the DeleteMountTarget api must be called to remove the mount point of this file system before file system deletion, otherwise deletion will fail.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

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

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

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

type DeleteCfsFileSystemResponse struct {
	*tchttp.BaseResponse
	Response *DeleteCfsFileSystemResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteCfsPGroupRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`
}

type DeleteCfsPGroupRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`
}

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

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

// Predefined struct for user
type DeleteCfsPGroupResponseParams struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// User ID
	AppId *int64 `json:"AppId,omitnil,omitempty" name:"AppId"`

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

type DeleteCfsPGroupResponse struct {
	*tchttp.BaseResponse
	Response *DeleteCfsPGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteCfsRuleRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Rule ID, which can be obtained through the [DescribeCfsRules](https://www.tencentcloud.com/document/api/582/38156?from_cn_redirect=1) api.
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`
}

type DeleteCfsRuleRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Rule ID, which can be obtained through the [DescribeCfsRules](https://www.tencentcloud.com/document/api/582/38156?from_cn_redirect=1) api.
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`
}

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

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

// Predefined struct for user
type DeleteCfsRuleResponseParams struct {
	// Rule ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

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

type DeleteCfsRuleResponse struct {
	*tchttp.BaseResponse
	Response *DeleteCfsRuleResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteCfsSnapshotRequestParams struct {
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Snapshot ID of the file system snapshot that needs to be deleted. specify either the snapshot ID or the ID list, at least one is required.
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
}

type DeleteCfsSnapshotRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Snapshot ID of the file system snapshot that needs to be deleted. specify either the snapshot ID or the ID list, at least one is required.
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
}

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

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

// Predefined struct for user
type DeleteCfsSnapshotResponseParams struct {
	// File system ID
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

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

type DeleteCfsSnapshotResponse struct {
	*tchttp.BaseResponse
	Response *DeleteCfsSnapshotResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteDataFlowRequestParams struct {
	// Data flow manage ID.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

type DeleteDataFlowRequest struct {
	*tchttp.BaseRequest
	
	// Data flow manage ID.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

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

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

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

type DeleteDataFlowResponse struct {
	*tchttp.BaseResponse
	Response *DeleteDataFlowResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteLifecyclePolicyRequestParams struct {
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`
}

type DeleteLifecyclePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`
}

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

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

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

type DeleteLifecyclePolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteLifecyclePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteMigrationTaskRequestParams struct {
	// Migration task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type DeleteMigrationTaskRequest struct {
	*tchttp.BaseRequest
	
	// Migration task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

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

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

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

type DeleteMigrationTaskResponse struct {
	*tchttp.BaseResponse
	Response *DeleteMigrationTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAutoSnapshotPoliciesRequestParams struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

	// Page length
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Ascending or descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

type DescribeAutoSnapshotPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

	// Page length
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// Ascending or descending order
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`

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

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

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

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

	// Snapshot policy information
	AutoSnapshotPolicies []*AutoSnapshotPolicyInfo `json:"AutoSnapshotPolicies,omitnil,omitempty" name:"AutoSnapshotPolicies"`

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

type DescribeAutoSnapshotPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAutoSnapshotPoliciesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeAvailableZoneInfoRequestParams struct {

}

type DescribeAvailableZoneInfoRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeAvailableZoneInfoResponseParams struct {
	// <p>Resource sale status in each availability zone as well as supported storage types, storage protocol, etc.</p>
	RegionZones []*AvailableRegion `json:"RegionZones,omitnil,omitempty" name:"RegionZones"`

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

type DescribeAvailableZoneInfoResponse struct {
	*tchttp.BaseResponse
	Response *DescribeAvailableZoneInfoResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeBucketListRequestParams struct {
	// Data source service provider. Valid values: `COS` (Tencent Cloud COS), `OSS` (Alibaba Cloud OSS), and `OBS` (Huawei Cloud OBS).
	SrcService *string `json:"SrcService,omitnil,omitempty" name:"SrcService"`

	// SecretId of the data source account.
	SrcSecretId *string `json:"SrcSecretId,omitnil,omitempty" name:"SrcSecretId"`

	// SecretKey of the data source account
	SrcSecretKey *string `json:"SrcSecretKey,omitnil,omitempty" name:"SrcSecretKey"`
}

type DescribeBucketListRequest struct {
	*tchttp.BaseRequest
	
	// Data source service provider. Valid values: `COS` (Tencent Cloud COS), `OSS` (Alibaba Cloud OSS), and `OBS` (Huawei Cloud OBS).
	SrcService *string `json:"SrcService,omitnil,omitempty" name:"SrcService"`

	// SecretId of the data source account.
	SrcSecretId *string `json:"SrcSecretId,omitnil,omitempty" name:"SrcSecretId"`

	// SecretKey of the data source account
	SrcSecretKey *string `json:"SrcSecretKey,omitnil,omitempty" name:"SrcSecretKey"`
}

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

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

// Predefined struct for user
type DescribeBucketListResponseParams struct {
	// Number of buckets
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Bucket list
	BucketList []*BucketInfo `json:"BucketList,omitnil,omitempty" name:"BucketList"`

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

type DescribeBucketListResponse struct {
	*tchttp.BaseResponse
	Response *DescribeBucketListResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsFileSystemClientsRequestParams struct {
	// File system ID. obtain it by querying the file system interface [DescribeCfsFileSystems
	// ](https://www.tencentcloud.com/zh/document/product/582/34514)
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Offset paging number, defaults to 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit page size. default value 10. maximum value 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

type DescribeCfsFileSystemClientsRequest struct {
	*tchttp.BaseRequest
	
	// File system ID. obtain it by querying the file system interface [DescribeCfsFileSystems
	// ](https://www.tencentcloud.com/zh/document/product/582/34514)
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Offset paging number, defaults to 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit page size. default value 10. maximum value 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}

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

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

// Predefined struct for user
type DescribeCfsFileSystemClientsResponseParams struct {
	// Client list
	ClientList []*FileSystemClient `json:"ClientList,omitnil,omitempty" name:"ClientList"`

	// Total number of file systems.
	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 DescribeCfsFileSystemClientsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsFileSystemClientsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsFileSystemsRequestParams struct {
	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// VPC ID
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Offset paging number. default 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit page size. default value 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// User-defined name
	CreationToken *string `json:"CreationToken,omitnil,omitempty" name:"CreationToken"`
}

type DescribeCfsFileSystemsRequest struct {
	*tchttp.BaseRequest
	
	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// VPC ID
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Subnet ID
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Offset paging number. default 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit page size. default value 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// User-defined name
	CreationToken *string `json:"CreationToken,omitnil,omitempty" name:"CreationToken"`
}

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

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

// Predefined struct for user
type DescribeCfsFileSystemsResponseParams struct {
	// File system information
	FileSystems []*FileSystemInfo `json:"FileSystems,omitnil,omitempty" name:"FileSystems"`

	// Total number of file systems
	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 DescribeCfsFileSystemsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsFileSystemsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsPGroupsRequestParams struct {

}

type DescribeCfsPGroupsRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeCfsPGroupsResponseParams struct {
	// Permission group information list
	PGroupList []*PGroupInfo `json:"PGroupList,omitnil,omitempty" name:"PGroupList"`

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

type DescribeCfsPGroupsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsPGroupsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsRulesRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`
}

type DescribeCfsRulesRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`
}

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

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

// Predefined struct for user
type DescribeCfsRulesResponseParams struct {
	// List of permission group rules
	RuleList []*PGroupRuleInfo `json:"RuleList,omitnil,omitempty" name:"RuleList"`

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

type DescribeCfsRulesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsRulesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsServiceStatusRequestParams struct {

}

type DescribeCfsServiceStatusRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeCfsServiceStatusResponseParams struct {
	// Current status of the CFS service for this user. Valid values: none (not activated), creating (activating), created (activated)
	CfsServiceStatus *string `json:"CfsServiceStatus,omitnil,omitempty" name:"CfsServiceStatus"`

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

type DescribeCfsServiceStatusResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsServiceStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsSnapshotOverviewRequestParams struct {

}

type DescribeCfsSnapshotOverviewRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeCfsSnapshotOverviewResponseParams struct {
	// Statistics
	StatisticsList []*SnapshotStatistics `json:"StatisticsList,omitnil,omitempty" name:"StatisticsList"`

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

type DescribeCfsSnapshotOverviewResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsSnapshotOverviewResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeCfsSnapshotsRequestParams struct {
	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Snapshot ID.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Paging start position, defaults to 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Page length. default value 20.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// SnapshotId - Array of String - required: no - (filter condition) filter by snapshot ID.
	// <br>SnapshotName - Array of String - required: no - (filter condition) filter by snapshot name.
	// <br>FileSystemId - Array of String - required: no - (filter condition) filter by file system ID.
	// <br>FsName - Array of String - required: no - (filtering conditions) filters file system names.
	// <br>Status - Array of String - required: no - (filter criteria) filter by snapshot Status. Status classification: creating: under creation | available: running | deleting: deleting | rollbacking_new: being created for new file system | create-failed: creation failed.
	// <br>tag-key - Array of String - required: no - (filter condition) filter by tag key.
	// <br>tag:tag-key - Array of String - required: no - (filter condition) filter by tag key-value pair. replace tag-key with a specific tag key.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort by creation time to obtain value.
	OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`

	// Sorting order; ascending or descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

type DescribeCfsSnapshotsRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Snapshot ID.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Paging start position, defaults to 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Page length. default value 20.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter criteria
	// SnapshotId - Array of String - required: no - (filter condition) filter by snapshot ID.
	// <br>SnapshotName - Array of String - required: no - (filter condition) filter by snapshot name.
	// <br>FileSystemId - Array of String - required: no - (filter condition) filter by file system ID.
	// <br>FsName - Array of String - required: no - (filtering conditions) filters file system names.
	// <br>Status - Array of String - required: no - (filter criteria) filter by snapshot Status. Status classification: creating: under creation | available: running | deleting: deleting | rollbacking_new: being created for new file system | create-failed: creation failed.
	// <br>tag-key - Array of String - required: no - (filter condition) filter by tag key.
	// <br>tag:tag-key - Array of String - required: no - (filter condition) filter by tag key-value pair. replace tag-key with a specific tag key.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// Sort by creation time to obtain value.
	OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`

	// Sorting order; ascending or descending order.
	Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}

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

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

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

	// Snapshot information description
	Snapshots []*SnapshotInfo `json:"Snapshots,omitnil,omitempty" name:"Snapshots"`

	// Total size of snapshots
	TotalSize *uint64 `json:"TotalSize,omitnil,omitempty" name:"TotalSize"`

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

type DescribeCfsSnapshotsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeCfsSnapshotsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeDataFlowRequestParams struct {
	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Data flow ID, returned by creating a data flow.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// Number of query return values. it is 20 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// File system version; version number: v1.5, v3.0, v3.1, v4.0.
	CfsVersion *string `json:"CfsVersion,omitnil,omitempty" name:"CfsVersion"`
}

type DescribeDataFlowRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Data flow ID, returned by creating a data flow.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// Number of query return values. it is 20 by default, and the maximum value is 100.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

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

	// File system version; version number: v1.5, v3.0, v3.1, v4.0.
	CfsVersion *string `json:"CfsVersion,omitnil,omitempty" name:"CfsVersion"`
}

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

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

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

	// None.
	DataFlows []*DataFlowInfo `json:"DataFlows,omitnil,omitempty" name:"DataFlows"`

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

type DescribeDataFlowResponse struct {
	*tchttp.BaseResponse
	Response *DescribeDataFlowResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeLifecycleDataTaskRequestParams struct {
	// Start time. must be earlier than EndTime. only supports querying task data within the most recent 3 months.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time. must be later than StartTime. only supports querying task data within the most recent 3 months.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

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

	// Limit page size	
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter conditions, TaskName, FileSystemId, Type.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// File system version; v3.1: pcfs/hifs v4.0: Turbo.
	CfsVersion *string `json:"CfsVersion,omitnil,omitempty" name:"CfsVersion"`
}

type DescribeLifecycleDataTaskRequest struct {
	*tchttp.BaseRequest
	
	// Start time. must be earlier than EndTime. only supports querying task data within the most recent 3 months.
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time. must be later than StartTime. only supports querying task data within the most recent 3 months.
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

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

	// Limit page size	
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Filter conditions, TaskName, FileSystemId, Type.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`

	// File system version; v3.1: pcfs/hifs v4.0: Turbo.
	CfsVersion *string `json:"CfsVersion,omitnil,omitempty" name:"CfsVersion"`
}

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

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

// Predefined struct for user
type DescribeLifecycleDataTaskResponseParams struct {
	// Task Array
	LifecycleDataTask []*LifecycleDataTaskInfo `json:"LifecycleDataTask,omitnil,omitempty" name:"LifecycleDataTask"`

	// Total Number of Query Results
	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 DescribeLifecycleDataTaskResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLifecycleDataTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeLifecyclePoliciesRequestParams struct {
	// Lifecycle management policy name.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// Number of lifecycle management policies per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Page number of the list.
	PageNumber *uint64 `json:"PageNumber,omitnil,omitempty" name:"PageNumber"`

	// File system ID.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`
}

type DescribeLifecyclePoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Lifecycle management policy name.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// Number of lifecycle management policies per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Page number of the list.
	PageNumber *uint64 `json:"PageNumber,omitnil,omitempty" name:"PageNumber"`

	// File system ID.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`
}

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

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

// Predefined struct for user
type DescribeLifecyclePoliciesResponseParams struct {
	// Page number of the list.
	PageNumber *uint64 `json:"PageNumber,omitnil,omitempty" name:"PageNumber"`

	// Number of lifecycle management policies per page.
	PageSize *uint64 `json:"PageSize,omitnil,omitempty" name:"PageSize"`

	// Total number of lifecycle management policies.
	TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Lifecycle management policy list.
	LifecyclePolicies []*LifecyclePolicy `json:"LifecyclePolicies,omitnil,omitempty" name:"LifecyclePolicies"`

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

type DescribeLifecyclePoliciesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeLifecyclePoliciesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeMigrationTasksRequestParams struct {
	// The pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of entries per page. Default value: 20. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <br><li> taskId Filters by [migration task id]. type: String required: no<br></li><br><li> taskName does fuzzy search filtering by [migration task name]. type: String required: no the maximum number of Filters per request is 10, and the maximum number of Filter.Values is 100.</li>.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

type DescribeMigrationTasksRequest struct {
	*tchttp.BaseRequest
	
	// The pagination offset. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Maximum number of entries per page. Default value: 20. Maximum value: 100.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <br><li> taskId Filters by [migration task id]. type: String required: no<br></li><br><li> taskName does fuzzy search filtering by [migration task name]. type: String required: no the maximum number of Filters per request is 10, and the maximum number of Filter.Values is 100.</li>.
	Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
}

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

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

// Predefined struct for user
type DescribeMigrationTasksResponseParams struct {
	// Total number of migration tasks.
	TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`

	// Migration task details
	MigrationTasks []*MigrationTaskInfo `json:"MigrationTasks,omitnil,omitempty" name:"MigrationTasks"`

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

type DescribeMigrationTasksResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMigrationTasksResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeMountTargetsRequestParams struct {
	// File system ID. you can obtain the ID by querying the file system list through the [describecfsfilesystems](https://www.tencentcloud.com/document/api/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

type DescribeMountTargetsRequest struct {
	*tchttp.BaseRequest
	
	// File system ID. you can obtain the ID by querying the file system list through the [describecfsfilesystems](https://www.tencentcloud.com/document/api/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

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

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

// Predefined struct for user
type DescribeMountTargetsResponseParams struct {
	// Mount target details
	MountTargets []*MountInfo `json:"MountTargets,omitnil,omitempty" name:"MountTargets"`

	// The number of mount targets
	NumberOfMountTargets *int64 `json:"NumberOfMountTargets,omitnil,omitempty" name:"NumberOfMountTargets"`

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

type DescribeMountTargetsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeMountTargetsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeSnapshotOperationLogsRequestParams struct {
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Start time, format "YYYY-MM-DD hh:MM:ss".
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time, format "YYYY-MM-DD hh:MM:ss".
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

type DescribeSnapshotOperationLogsRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Start time, format "YYYY-MM-DD hh:MM:ss".
	StartTime *string `json:"StartTime,omitnil,omitempty" name:"StartTime"`

	// End time, format "YYYY-MM-DD hh:MM:ss".
	EndTime *string `json:"EndTime,omitnil,omitempty" name:"EndTime"`
}

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

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

// Predefined struct for user
type DescribeSnapshotOperationLogsResponseParams struct {
	// Snapshot ID
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// Operation log
	SnapshotOperates []*SnapshotOperateLog `json:"SnapshotOperates,omitnil,omitempty" name:"SnapshotOperates"`

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

type DescribeSnapshotOperationLogsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeSnapshotOperationLogsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DoDirectoryOperationRequestParams struct {
	// File system ID. currently, only Turbo series file systems support calling this api. general series file systems (including enhanced) do not support calling.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// create a directory, equivalent to mkdir.
	// check: confirm the existence of the directory, equivalent to stat.
	// move: rename a file or directory, equivalent to mv.
	OpetationType *string `json:"OpetationType,omitnil,omitempty" name:"OpetationType"`

	// Absolute path of the directory. recursive creation is enabled by default (if the directory contains non-existent subdirectories, create the corresponding subdirectory first).
	DirectoryPath *string `json:"DirectoryPath,omitnil,omitempty" name:"DirectoryPath"`

	// Permission to create directory. if not specified, it defaults to 0755. if OperationType is check, this value is meaningless.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// The destination directory name for the mv operation. the path must start with /cfs/.
	DestPath *string `json:"DestPath,omitnil,omitempty" name:"DestPath"`
}

type DoDirectoryOperationRequest struct {
	*tchttp.BaseRequest
	
	// File system ID. currently, only Turbo series file systems support calling this api. general series file systems (including enhanced) do not support calling.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// create a directory, equivalent to mkdir.
	// check: confirm the existence of the directory, equivalent to stat.
	// move: rename a file or directory, equivalent to mv.
	OpetationType *string `json:"OpetationType,omitnil,omitempty" name:"OpetationType"`

	// Absolute path of the directory. recursive creation is enabled by default (if the directory contains non-existent subdirectories, create the corresponding subdirectory first).
	DirectoryPath *string `json:"DirectoryPath,omitnil,omitempty" name:"DirectoryPath"`

	// Permission to create directory. if not specified, it defaults to 0755. if OperationType is check, this value is meaningless.
	Mode *string `json:"Mode,omitnil,omitempty" name:"Mode"`

	// The destination directory name for the mv operation. the path must start with /cfs/.
	DestPath *string `json:"DestPath,omitnil,omitempty" name:"DestPath"`
}

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

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

// Predefined struct for user
type DoDirectoryOperationResponseParams struct {
	// 1: success 0: failure. for the create directory operation, 1 indicates successful creation, 0 indicates creation failed. for the confirm directory existence operation, 1 indicates the directory exists, 0 indicates the directory does not exist. in addition, if the directory already exists during the create directory operation, it will also return creation succeeded.
	Result *int64 `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 DoDirectoryOperationResponse struct {
	*tchttp.BaseResponse
	Response *DoDirectoryOperationResponseParams `json:"Response"`
}

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

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

type ExstraPerformanceInfo struct {
	// Fixed: final value is fixed.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Additional purchase CFS performance value in MB/s.
	Performance *int64 `json:"Performance,omitnil,omitempty" name:"Performance"`
}

type FileSystemByPolicy struct {
	// File system name
	CreationToken *string `json:"CreationToken,omitnil,omitempty" name:"CreationToken"`

	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// File system size, in Byte.
	SizeByte *uint64 `json:"SizeByte,omitnil,omitempty" name:"SizeByte"`

	// Storage type. HP: high-performance; SD: standard; TP: high-performance Turbo; TB: standard Turbo; THP: throughput.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Total snapshot size in GiB.
	TotalSnapshotSize *uint64 `json:"TotalSnapshotSize,omitnil,omitempty" name:"TotalSnapshotSize"`

	// File system creation time
	CreationTime *string `json:"CreationTime,omitnil,omitempty" name:"CreationTime"`

	// Region ID of the file system
	ZoneId *uint64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type FileSystemClient struct {
	// IP address of the file system
	CfsVip *string `json:"CfsVip,omitnil,omitempty" name:"CfsVip"`

	// Client IP
	ClientIp *string `json:"ClientIp,omitnil,omitempty" name:"ClientIp"`

	// File system VPCID
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// Availability zone name, such as ap-beijing-1. see the region and availability zone list in the description [Introduction
	// ](https://www.tencentcloud.com/zh/document/product/582/50830)
	Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`

	// AZ name
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`

	// Path in which the file system is mounted to the client
	MountDirectory *string `json:"MountDirectory,omitnil,omitempty" name:"MountDirectory"`
}

type FileSystemInfo struct {
	// Creation time
	CreationTime *string `json:"CreationTime,omitnil,omitempty" name:"CreationTime"`

	// Custom name
	CreationToken *string `json:"CreationToken,omitnil,omitempty" name:"CreationToken"`

	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// File system status. Valid values:
	// - creating
	// - mounting
	// - create_failed
	// - available
	// - unserviced
	// - upgrading
	LifeCycleState *string `json:"LifeCycleState,omitnil,omitempty" name:"LifeCycleState"`

	// Used capacity of the file system, in Byte.
	SizeByte *uint64 `json:"SizeByte,omitnil,omitempty" name:"SizeByte"`

	// File system space limit, in GiB.
	SizeLimit *uint64 `json:"SizeLimit,omitnil,omitempty" name:"SizeLimit"`

	// Region ID
	ZoneId *uint64 `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// File system protocol type. Valid values: NFS, CIFS, and TURBO.
	Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"`

	// Storage type. HP: high-performance; SD: standard; TP: high-performance Turbo; TB: standard Turbo; THP: throughput.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Prepaid storage pack bound with the file system
	StorageResourcePkg *string `json:"StorageResourcePkg,omitnil,omitempty" name:"StorageResourcePkg"`

	// Prepaid bandwidth pack bound to a file system (not supported currently)
	BandwidthResourcePkg *string `json:"BandwidthResourcePkg,omitnil,omitempty" name:"BandwidthResourcePkg"`

	// Information of permission groups bound to a file system
	PGroup *PGroup `json:"PGroup,omitnil,omitempty" name:"PGroup"`

	// Custom name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

	// Is the file system encrypted. true: encrypted. false: non-encrypted.
	Encrypted *bool `json:"Encrypted,omitnil,omitempty" name:"Encrypted"`

	// Key used for encryption, which can be the key ID or ARN
	KmsKeyId *string `json:"KmsKeyId,omitnil,omitempty" name:"KmsKeyId"`

	// Application ID
	AppId *int64 `json:"AppId,omitnil,omitempty" name:"AppId"`

	// Upper limit of the file system throughput, in MiB/s. The upper limit is determined based on the current storage used of the file system, bound storage resource packages, and throughput resource packages.
	BandwidthLimit *float64 `json:"BandwidthLimit,omitnil,omitempty" name:"BandwidthLimit"`

	// Snapshot policy associated with the file system.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// File system processes snapshot status, snapping: in snapshot, normal: in normal status.
	SnapStatus *string `json:"SnapStatus,omitnil,omitempty" name:"SnapStatus"`

	// Upper limit of file system capacity.
	// Unit: GiB.
	Capacity *uint64 `json:"Capacity,omitnil,omitempty" name:"Capacity"`

	// File system tag list
	Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Status of file system lifecycle management.
	// NotAvailable: unavailable.
	// Available.
	TieringState *string `json:"TieringState,omitnil,omitempty" name:"TieringState"`

	// Layered storage detail.
	TieringDetail *TieringDetailInfo `json:"TieringDetail,omitnil,omitempty" name:"TieringDetail"`

	// File system auto scale-out policy.
	AutoScaleUpRule *AutoScaleUpRule `json:"AutoScaleUpRule,omitnil,omitempty" name:"AutoScaleUpRule"`

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

	// Additional performance info.
	// Note: This field may return null, indicating that no valid values can be obtained.
	ExstraPerformanceInfo []*ExstraPerformanceInfo `json:"ExstraPerformanceInfo,omitnil,omitempty" name:"ExstraPerformanceInfo"`

	// basic: standard version metadata type.
	// enhanced: additional metadata type.
	MetaType *string `json:"MetaType,omitnil,omitempty" name:"MetaType"`
}

type Filter struct {
	// Value
	Values []*string `json:"Values,omitnil,omitempty" name:"Values"`

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

type LifecycleDataTaskInfo struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Task status.
	// init: pending.
	// running: executing, finished: completed.
	// failed: failure.
	// Stopping: stopping, stopped: stopped.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// Task creation time
	CreationTime *string `json:"CreationTime,omitnil,omitempty" name:"CreationTime"`

	// Task end time.
	FinishTime *string `json:"FinishTime,omitnil,omitempty" name:"FinishTime"`

	// Total files.
	FileTotalCount *uint64 `json:"FileTotalCount,omitnil,omitempty" name:"FileTotalCount"`

	// Number of successfully processed files.
	FileSuccessedCount *uint64 `json:"FileSuccessedCount,omitnil,omitempty" name:"FileSuccessedCount"`

	// Number of failed files.
	FileFailedCount *uint64 `json:"FileFailedCount,omitnil,omitempty" name:"FileFailedCount"`

	// File capacity, in Byte.
	// 
	FileTotalSize *uint64 `json:"FileTotalSize,omitnil,omitempty" name:"FileTotalSize"`

	// Processed file capacity, in Byte.
	// 
	FileSuccessedSize *uint64 `json:"FileSuccessedSize,omitnil,omitempty" name:"FileSuccessedSize"`

	// Capacity of processed failed files, in Byte.
	FileFailedSize *uint64 `json:"FileFailedSize,omitnil,omitempty" name:"FileFailedSize"`

	// Total file list.
	FileTotalList *string `json:"FileTotalList,omitnil,omitempty" name:"FileTotalList"`

	// List of successful files.
	FileSuccessedList *string `json:"FileSuccessedList,omitnil,omitempty" name:"FileSuccessedList"`

	// List of failed files.
	FileFailedList *string `json:"FileFailedList,omitnil,omitempty" name:"FileFailedList"`

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

	// Task name.
	TaskName *string `json:"TaskName,omitnil,omitempty" name:"TaskName"`

	// Task path.
	TaskPath *string `json:"TaskPath,omitnil,omitempty" name:"TaskPath"`

	// Task type, archive: indicates settlement task, restore: indicates pull task.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Data flow Id.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// When a file in CFSTurbo and an external storage have the same name, whether to overwrite.
	// 
	// Override.
	// 
	// false: not overwrite (at the same time, it does not release hot data storage).
	// Default false when empty.
	IsOverwrite *bool `json:"IsOverwrite,omitnil,omitempty" name:"IsOverwrite"`
}

type LifecyclePolicy struct {
	// <P>The time when the lifecycle management policy was created</p>.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <p>Lifecycle management policy ID.</p>.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`

	// <P>Lifecycle management policy name</p>.
	// Note: This field may return null, indicating that no valid values can be obtained.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// <P>List of management rules associated with the lifecycle management policy.</p>.
	// Note: This field may return null, indicating that no valid values can be obtained.
	LifecycleRules []*LifecycleRule `json:"LifecycleRules,omitnil,omitempty" name:"LifecycleRules"`

	// <P>List of absolute paths for directories associated with the lifecycle management policy</p>.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Paths []*PathInfo `json:"Paths,omitnil,omitempty" name:"Paths"`
}

type LifecycleRule struct {
	// Storage type after data dump. among them: InfrequentAccess: infrequent medium storage; ColdStorage: cold storage.
	StorageType *string `json:"StorageType,omitnil,omitempty" name:"StorageType"`

	// Data dump FILE type. among them, BIG_FILE: extra large FILE; STD_FILE: regular FILE; SMALL_FILE: SMALL FILE; ALL: ALL files.
	FileType *string `json:"FileType,omitnil,omitempty" name:"FileType"`

	// Data dumping action. among them, Archive: settlement; Noarchive: no settlement.
	Action *string `json:"Action,omitnil,omitempty" name:"Action"`

	// Data dump trigger time. consists of "DEFAULT_ATIME_" and a number, in days. keep it empty when Action is Noarchive.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Interval *string `json:"Interval,omitnil,omitempty" name:"Interval"`

	// Maximum specification for data dump files. the value needs to use the "number+measurement unit" format, and the supported units are K (KiB), M (MiB), and G (GiB).
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileMaxSize *string `json:"FileMaxSize,omitnil,omitempty" name:"FileMaxSize"`

	// Minimum specification of the dump file. its numeric value needs to use the "number+measurement unit" format, and the supported units are K (KiB), M (MiB), and G (GiB).
	// Note: This field may return null, indicating that no valid values can be obtained.
	FileMinSize *string `json:"FileMinSize,omitnil,omitempty" name:"FileMinSize"`

	// Policy type.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Threshold range: 10-90.
	ExpireThreshold *uint64 `json:"ExpireThreshold,omitnil,omitempty" name:"ExpireThreshold"`

	// Threshold range: 10-90.
	TargetThreshold *uint64 `json:"TargetThreshold,omitnil,omitempty" name:"TargetThreshold"`

	// When a file in CFSTurbo and an external storage have the same name, whether to overwrite.
	// 
	// Override.
	// 
	// false: not overwrite (at the same time will not release hot data storage).
	// 
	// Default false when empty.
	IsOverwrite *bool `json:"IsOverwrite,omitnil,omitempty" name:"IsOverwrite"`
}

type MigrationTaskInfo struct {
	// Migration task name
	TaskName *string `json:"TaskName,omitnil,omitempty" name:"TaskName"`

	// Migration task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Migration type. Valid values: `0` (bucket) and `1` (list). Default value: `0`.
	MigrationType *uint64 `json:"MigrationType,omitnil,omitempty" name:"MigrationType"`

	// Migration mode. Default value: `0` (full migration).
	MigrationMode *uint64 `json:"MigrationMode,omitnil,omitempty" name:"MigrationMode"`

	// Data source bucket name.
	BucketName *string `json:"BucketName,omitnil,omitempty" name:"BucketName"`

	// Source bucket region.
	BucketRegion *string `json:"BucketRegion,omitnil,omitempty" name:"BucketRegion"`

	// Data source bucket address.
	BucketAddress *string `json:"BucketAddress,omitnil,omitempty" name:"BucketAddress"`

	// Checklist address.
	ListAddress *string `json:"ListAddress,omitnil,omitempty" name:"ListAddress"`

	// File system instance name.
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

	// File system instance ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// File system path
	FsPath *string `json:"FsPath,omitnil,omitempty" name:"FsPath"`

	// Overwrite policy for files with the same name. Valid values: `0` (retain the file with the latest modified time), `1` (overwrite); and `2` (not overwrite). Default value: `0`.
	CoverType *uint64 `json:"CoverType,omitnil,omitempty" name:"CoverType"`

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

	// Completion/Termination time.
	EndTime *int64 `json:"EndTime,omitnil,omitempty" name:"EndTime"`

	// Migration status. 0: completed; 1: creating; 2: running; 3: terminating; 4: terminated; 5: creation failed; 6: running failure; 7: ending; 8: deleting; 9: waiting.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Number of files.
	FileTotalCount *uint64 `json:"FileTotalCount,omitnil,omitempty" name:"FileTotalCount"`

	// Number of migrated files.
	FileMigratedCount *uint64 `json:"FileMigratedCount,omitnil,omitempty" name:"FileMigratedCount"`

	// Number of failed files in migration.
	FileFailedCount *uint64 `json:"FileFailedCount,omitnil,omitempty" name:"FileFailedCount"`

	// File capacity, in Byte.
	FileTotalSize *int64 `json:"FileTotalSize,omitnil,omitempty" name:"FileTotalSize"`

	// Migrated file capacity in Byte.
	FileMigratedSize *int64 `json:"FileMigratedSize,omitnil,omitempty" name:"FileMigratedSize"`

	// Capacity of failed migration files, in Byte.
	FileFailedSize *int64 `json:"FileFailedSize,omitnil,omitempty" name:"FileFailedSize"`

	// Total inventory.
	FileTotalList *string `json:"FileTotalList,omitnil,omitempty" name:"FileTotalList"`

	// File list completed.
	FileCompletedList *string `json:"FileCompletedList,omitnil,omitempty" name:"FileCompletedList"`

	// Failed file list.
	FileFailedList *string `json:"FileFailedList,omitnil,omitempty" name:"FileFailedList"`

	// Source bucket path.
	BucketPath *string `json:"BucketPath,omitnil,omitempty" name:"BucketPath"`

	// Migration direction. valid values: 0 (cos migration to file system), 1 (file system migration to cos). default is 0.
	Direction *uint64 `json:"Direction,omitnil,omitempty" name:"Direction"`
}

// Predefined struct for user
type ModifyDataFlowRequestParams struct {
	// Data flow manage ID, obtained through the api for querying data flow.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Data flow name, supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	DataFlowName *string `json:"DataFlowName,omitnil,omitempty" name:"DataFlowName"`

	// Key ID.
	SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"`

	// key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Topic Parameter used by KafkaConsumer during consumption
	UserKafkaTopic *string `json:"UserKafkaTopic,omitnil,omitempty" name:"UserKafkaTopic"`

	// Service address.
	ServerAddr *string `json:"ServerAddr,omitnil,omitempty" name:"ServerAddr"`

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

	// Kafka consuming user password.
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// Metadata incremental update switch; 1 enables, 0 disables.
	AutoRefresh *uint64 `json:"AutoRefresh,omitnil,omitempty" name:"AutoRefresh"`
}

type ModifyDataFlowRequest struct {
	*tchttp.BaseRequest
	
	// Data flow manage ID, obtained through the api for querying data flow.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

	// File system ID, which can be obtained by querying the file system through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Data flow name, supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	DataFlowName *string `json:"DataFlowName,omitnil,omitempty" name:"DataFlowName"`

	// Key ID.
	SecretId *string `json:"SecretId,omitnil,omitempty" name:"SecretId"`

	// key.
	SecretKey *string `json:"SecretKey,omitnil,omitempty" name:"SecretKey"`

	// Topic Parameter used by KafkaConsumer during consumption
	UserKafkaTopic *string `json:"UserKafkaTopic,omitnil,omitempty" name:"UserKafkaTopic"`

	// Service address.
	ServerAddr *string `json:"ServerAddr,omitnil,omitempty" name:"ServerAddr"`

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

	// Kafka consuming user password.
	Password *string `json:"Password,omitnil,omitempty" name:"Password"`

	// Metadata incremental update switch; 1 enables, 0 disables.
	AutoRefresh *uint64 `json:"AutoRefresh,omitnil,omitempty" name:"AutoRefresh"`
}

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

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

// Predefined struct for user
type ModifyDataFlowResponseParams struct {
	// Data flow manage ID.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`

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

type ModifyDataFlowResponse struct {
	*tchttp.BaseResponse
	Response *ModifyDataFlowResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ModifyFileSystemAutoScaleUpRuleRequestParams struct {
	// File system ID, which can be obtained by querying the file system list; [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Threshold for triggering scaling. Value range: 10-90
	ScaleUpThreshold *uint64 `json:"ScaleUpThreshold,omitnil,omitempty" name:"ScaleUpThreshold"`

	// Target threshold after expansion. value range: 10-90. the value must be less than ScaleUpThreshold.
	TargetThreshold *uint64 `json:"TargetThreshold,omitnil,omitempty" name:"TargetThreshold"`

	// Rule status 0: turn off, 1: turn on; keep the original status if not specified.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

type ModifyFileSystemAutoScaleUpRuleRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by querying the file system list; [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Threshold for triggering scaling. Value range: 10-90
	ScaleUpThreshold *uint64 `json:"ScaleUpThreshold,omitnil,omitempty" name:"ScaleUpThreshold"`

	// Target threshold after expansion. value range: 10-90. the value must be less than ScaleUpThreshold.
	TargetThreshold *uint64 `json:"TargetThreshold,omitnil,omitempty" name:"TargetThreshold"`

	// Rule status 0: turn off, 1: turn on; keep the original status if not specified.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`
}

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

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

// Predefined struct for user
type ModifyFileSystemAutoScaleUpRuleResponseParams struct {
	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Rule status 0: turn off, 1: turn on.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Expansion threshold. value range: 10-90.
	ScaleUpThreshold *uint64 `json:"ScaleUpThreshold,omitnil,omitempty" name:"ScaleUpThreshold"`

	// Reach the threshold after expansion. value range: [10-90].
	TargetThreshold *uint64 `json:"TargetThreshold,omitnil,omitempty" name:"TargetThreshold"`

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

type ModifyFileSystemAutoScaleUpRuleResponse struct {
	*tchttp.BaseResponse
	Response *ModifyFileSystemAutoScaleUpRuleResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ModifyLifecyclePolicyRequestParams struct {
	// Lifecycle management policy name, a combination of chinese/english/digits/underscores/hyphens, no more than 64 characters.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// List of management rules associated with the lifecycle management policy.
	LifecycleRules []*LifecycleRule `json:"LifecycleRules,omitnil,omitempty" name:"LifecycleRules"`

	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`
}

type ModifyLifecyclePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Lifecycle management policy name, a combination of chinese/english/digits/underscores/hyphens, no more than 64 characters.
	LifecyclePolicyName *string `json:"LifecyclePolicyName,omitnil,omitempty" name:"LifecyclePolicyName"`

	// List of management rules associated with the lifecycle management policy.
	LifecycleRules []*LifecycleRule `json:"LifecycleRules,omitnil,omitempty" name:"LifecycleRules"`

	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`
}

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

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

// Predefined struct for user
type ModifyLifecyclePolicyResponseParams struct {
	// Lifecycle management policy ID.
	LifecyclePolicyID *string `json:"LifecyclePolicyID,omitnil,omitempty" name:"LifecyclePolicyID"`

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

type ModifyLifecyclePolicyResponse struct {
	*tchttp.BaseResponse
	Response *ModifyLifecyclePolicyResponseParams `json:"Response"`
}

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

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

type MountInfo struct {
	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Mount target ID
	MountTargetId *string `json:"MountTargetId,omitnil,omitempty" name:"MountTargetId"`

	// Mount target IP
	IpAddress *string `json:"IpAddress,omitnil,omitempty" name:"IpAddress"`

	// Mount root-directory
	FSID *string `json:"FSID,omitnil,omitempty" name:"FSID"`

	// Mount point status, including creating: under creation; available: running.
	// Deleting: deleting.
	// Creation failed.
	LifeCycleState *string `json:"LifeCycleState,omitnil,omitempty" name:"LifeCycleState"`

	// Network type, including VPC, CCN.
	NetworkInterface *string `json:"NetworkInterface,omitnil,omitempty" name:"NetworkInterface"`

	// VPC ID
	VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"`

	// VPC name
	VpcName *string `json:"VpcName,omitnil,omitempty" name:"VpcName"`

	// Subnet ID
	SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"`

	// Subnet name
	SubnetName *string `json:"SubnetName,omitnil,omitempty" name:"SubnetName"`

	// CCN instance ID used by CFS Turbo
	CcnID *string `json:"CcnID,omitnil,omitempty" name:"CcnID"`

	// CCN IP range used by CFS Turbo
	CidrBlock *string `json:"CidrBlock,omitnil,omitempty" name:"CidrBlock"`
}

type PGroup struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

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

type PGroupInfo struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

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

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

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

	// The number of bound file system
	BindCfsNum *int64 `json:"BindCfsNum,omitnil,omitempty" name:"BindCfsNum"`
}

type PGroupRuleInfo struct {
	// Rule ID
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// Client IP allowed for access
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Read/write permission. ro: read-only; rw: read & write
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

	// All_squash: all accessing users (including the root user) will be mapped to anonymous users or groups.
	// no_all_squash: all accessing users (including the root user) retain original UID/GID information.
	// root_squash: maps visiting root user to anonymous user or user group. non-root user keeps original UID/GID information.
	// no_root_squash: has the same effect as no_all_squash. all accessing users (including the root user) retain their original UID/GID information.
	UserPermission *string `json:"UserPermission,omitnil,omitempty" name:"UserPermission"`

	// Rule priority. Value range: 1-100. 1 represents the highest priority, while 100 the lowest
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`
}

type PathInfo struct {
	// File system ID.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Directory absolute path.
	Path *string `json:"Path,omitnil,omitempty" name:"Path"`

	// Data flow Id.
	DataFlowId *string `json:"DataFlowId,omitnil,omitempty" name:"DataFlowId"`
}

// Predefined struct for user
type ScaleUpFileSystemRequestParams struct {
	// File system ID, which can be obtained by querying the file system list; [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Target capacity after scale-out (unit GiB).
	TargetCapacity *uint64 `json:"TargetCapacity,omitnil,omitempty" name:"TargetCapacity"`
}

type ScaleUpFileSystemRequest struct {
	*tchttp.BaseRequest
	
	// File system ID, which can be obtained by querying the file system list; [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Target capacity after scale-out (unit GiB).
	TargetCapacity *uint64 `json:"TargetCapacity,omitnil,omitempty" name:"TargetCapacity"`
}

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

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

// Predefined struct for user
type ScaleUpFileSystemResponseParams struct {
	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Target capacity after scale-out (unit GiB).
	TargetCapacity *uint64 `json:"TargetCapacity,omitnil,omitempty" name:"TargetCapacity"`

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

type ScaleUpFileSystemResponse struct {
	*tchttp.BaseResponse
	Response *ScaleUpFileSystemResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type SignUpCfsServiceRequestParams struct {

}

type SignUpCfsServiceRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type SignUpCfsServiceResponseParams struct {
	// Current status of the CFS service for this user. Valid values: `creating` (activating); `created` (activated)
	CfsServiceStatus *string `json:"CfsServiceStatus,omitnil,omitempty" name:"CfsServiceStatus"`

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

type SignUpCfsServiceResponse struct {
	*tchttp.BaseResponse
	Response *SignUpCfsServiceResponseParams `json:"Response"`
}

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

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

type SnapshotInfo struct {
	// <P>Snapshot creation time</p>.
	CreationTime *string `json:"CreationTime,omitnil,omitempty" name:"CreationTime"`

	// <P>Snapshot name</p>.
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// <p>Snapshot ID.</p>.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// <P>Snapshot status: creating - creating; available - running; deleting - deleting; rollbacking-new - creating new file system; create-failed - creation failed.</p>.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// <P>Region name</p>.
	RegionName *string `json:"RegionName,omitnil,omitempty" name:"RegionName"`

	// <p>File system ID</p>.
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// <p>Snapshot size</p><p>unit: MiB</p>.
	Size *uint64 `json:"Size,omitnil,omitempty" name:"Size"`

	// <P>Retention duration days</p>.
	AliveDay *uint64 `json:"AliveDay,omitnil,omitempty" name:"AliveDay"`

	// <P>Snapshot progress percentage. 1 means 1%. value range: 1-100.</p>.
	Percent *uint64 `json:"Percent,omitnil,omitempty" name:"Percent"`

	// <p>Account ID.</p>.
	AppId *uint64 `json:"AppId,omitnil,omitempty" name:"AppId"`

	// <P>Snapshot deletion time</p>.
	DeleteTime *string `json:"DeleteTime,omitnil,omitempty" name:"DeleteTime"`

	// <P>File system name</p>.
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

	// <P>Snapshot tag.</p>.
	Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"`

	// <p>Snapshot type. general indicates a snapshot of the general series. turbo indicates a snapshot of the turbo series.</p>.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotType *string `json:"SnapshotType,omitnil,omitempty" name:"SnapshotType"`

	// <P>Snapshot time reflects the data of the corresponding file system at a certain moment.</p>.
	// Note: This field may return null, indicating that no valid values can be obtained.
	SnapshotTime *string `json:"SnapshotTime,omitnil,omitempty" name:"SnapshotTime"`
}

type SnapshotOperateLog struct {
	// Operation type
	// CreateCfsSnapshot: create a snapshot.
	// DeleteCfsSnapshot: delete snapshot.
	// CreateCfsFileSystem: create a file system.
	// UpdateCfsSnapshotAttribute: update snapshot.
	Action *string `json:"Action,omitnil,omitempty" name:"Action"`

	// Operation time
	ActionTime *string `json:"ActionTime,omitnil,omitempty" name:"ActionTime"`

	// Operation name.
	// CreateCfsSnapshot
	// DeleteCfsSnapshot
	// CreateCfsFileSystem
	// UpdateCfsSnapshotAttribute
	ActionName *string `json:"ActionName,omitnil,omitempty" name:"ActionName"`

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

	// 1- task in progress; 2- task success; 3- task failure.
	Result *uint64 `json:"Result,omitnil,omitempty" name:"Result"`
}

type SnapshotStatistics struct {
	// Region
	Region *string `json:"Region,omitnil,omitempty" name:"Region"`

	// Total number of snapshots
	SnapshotNumber *uint64 `json:"SnapshotNumber,omitnil,omitempty" name:"SnapshotNumber"`

	// Total snapshot capacity in MiB.
	SnapshotSize *uint64 `json:"SnapshotSize,omitnil,omitempty" name:"SnapshotSize"`
}

// Predefined struct for user
type StopLifecycleDataTaskRequestParams struct {
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type StopLifecycleDataTaskRequest struct {
	*tchttp.BaseRequest
	
	// Task ID.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

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

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

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

type StopLifecycleDataTaskResponse struct {
	*tchttp.BaseResponse
	Response *StopLifecycleDataTaskResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type StopMigrationTaskRequestParams struct {
	// Migration task Id.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

type StopMigrationTaskRequest struct {
	*tchttp.BaseRequest
	
	// Migration task Id.
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`
}

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

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

// Predefined struct for user
type StopMigrationTaskResponseParams struct {
	// Migration task ID
	TaskId *string `json:"TaskId,omitnil,omitempty" name:"TaskId"`

	// Migration status. 0: completed; 1: creating; 2: running; 3: terminating; 4: terminated; 5: creation failed; 6: running failure; 7: ending; 8: deleting; 9: waiting.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

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

type StopMigrationTaskResponse struct {
	*tchttp.BaseResponse
	Response *StopMigrationTaskResponseParams `json:"Response"`
}

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

// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
func (r *StopMigrationTaskResponse) 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 TieringDetailInfo struct {
	// <p>Infrequent access storage capacity</p><p>measurement unit: Byte, B, Byte</p>.
	TieringSizeInBytes *int64 `json:"TieringSizeInBytes,omitnil,omitempty" name:"TieringSizeInBytes"`

	// <p>Cold storage capacity</p><p>measurement unit: Byte, B, Byte</p>.
	SecondaryTieringSizeInBytes *int64 `json:"SecondaryTieringSizeInBytes,omitnil,omitempty" name:"SecondaryTieringSizeInBytes"`
}

// Predefined struct for user
type UnbindAutoSnapshotPolicyRequestParams struct {
	// List of file system ids to be unbound, separated by ",". file system ids can be obtained by querying the file system list through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemIds *string `json:"FileSystemIds,omitnil,omitempty" name:"FileSystemIds"`

	// Unbound snapshot policy ID, which can be obtained by querying through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
}

type UnbindAutoSnapshotPolicyRequest struct {
	*tchttp.BaseRequest
	
	// List of file system ids to be unbound, separated by ",". file system ids can be obtained by querying the file system list through the [DescribeCfsFileSystems](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1) api.
	FileSystemIds *string `json:"FileSystemIds,omitnil,omitempty" name:"FileSystemIds"`

	// Unbound snapshot policy ID, which can be obtained by querying through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
}

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

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

// Predefined struct for user
type UnbindAutoSnapshotPolicyResponseParams struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

type UnbindAutoSnapshotPolicyResponse struct {
	*tchttp.BaseResponse
	Response *UnbindAutoSnapshotPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateAutoSnapshotPolicyRequestParams struct {
	// Unbound snapshot policy ID, which can be obtained by querying through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Snapshot policy name, no more than 64 characters.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Snapshot periodic backup, monday to sunday. 1 represents monday, 7 represents sunday. choose one from three: DayOfMonth, IntervalDays.
	DayOfWeek *string `json:"DayOfWeek,omitnil,omitempty" name:"DayOfWeek"`

	// The hour of a day at which to regularly back up the snapshot
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Snapshot retention days.
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`

	// Whether the periodic snapshot function is activated; 1 indicates activate, 0 indicates inactive.
	IsActivated *uint64 `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`

	// Scheduled snapshot creates a snapshot on the day of the month. this parameter is used in combination with DayOfWeek and IntervalDays. choose one of the three.
	DayOfMonth *string `json:"DayOfMonth,omitnil,omitempty" name:"DayOfMonth"`

	// Periodically execute snapshots at interval days. this parameter is used in combination with DayOfWeek and DayOfMonth. choose one of the three.
	IntervalDays *uint64 `json:"IntervalDays,omitnil,omitempty" name:"IntervalDays"`
}

type UpdateAutoSnapshotPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Unbound snapshot policy ID, which can be obtained by querying through the [DescribeAutoSnapshotPolicies](https://www.tencentcloud.com/document/api/582/80208?from_cn_redirect=1) api.
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

	// Snapshot policy name, no more than 64 characters.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Snapshot periodic backup, monday to sunday. 1 represents monday, 7 represents sunday. choose one from three: DayOfMonth, IntervalDays.
	DayOfWeek *string `json:"DayOfWeek,omitnil,omitempty" name:"DayOfWeek"`

	// The hour of a day at which to regularly back up the snapshot
	Hour *string `json:"Hour,omitnil,omitempty" name:"Hour"`

	// Snapshot retention days.
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`

	// Whether the periodic snapshot function is activated; 1 indicates activate, 0 indicates inactive.
	IsActivated *uint64 `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`

	// Scheduled snapshot creates a snapshot on the day of the month. this parameter is used in combination with DayOfWeek and IntervalDays. choose one of the three.
	DayOfMonth *string `json:"DayOfMonth,omitnil,omitempty" name:"DayOfMonth"`

	// Periodically execute snapshots at interval days. this parameter is used in combination with DayOfWeek and DayOfMonth. choose one of the three.
	IntervalDays *uint64 `json:"IntervalDays,omitnil,omitempty" name:"IntervalDays"`
}

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

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

// Predefined struct for user
type UpdateAutoSnapshotPolicyResponseParams struct {
	// Snapshot policy ID
	AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`

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

type UpdateAutoSnapshotPolicyResponse struct {
	*tchttp.BaseResponse
	Response *UpdateAutoSnapshotPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateCfsFileSystemNameRequestParams struct {
	// File system ID. obtain it by querying the file system interface [DescribeCfsFileSystems
	// ](https://www.tencentcloud.com/zh/document/product/582/34514)
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// User-Defined file system name, alphanumeric chinese characters or _,- within 64 bytes. at least one of them or CreationToken must be provided.
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`
}

type UpdateCfsFileSystemNameRequest struct {
	*tchttp.BaseRequest
	
	// File system ID. obtain it by querying the file system interface [DescribeCfsFileSystems
	// ](https://www.tencentcloud.com/zh/document/product/582/34514)
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// User-Defined file system name, alphanumeric chinese characters or _,- within 64 bytes. at least one of them or CreationToken must be provided.
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`
}

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

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

// Predefined struct for user
type UpdateCfsFileSystemNameResponseParams struct {
	// Custom file system name
	CreationToken *string `json:"CreationToken,omitnil,omitempty" name:"CreationToken"`

	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

	// Custom file system name
	FsName *string `json:"FsName,omitnil,omitempty" name:"FsName"`

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

type UpdateCfsFileSystemNameResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCfsFileSystemNameResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateCfsFileSystemPGroupRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// File system ID. obtain it by querying the file system interface [DescribeCfsFileSystems
	// ](https://www.tencentcloud.com/zh/document/product/582/34514)
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

type UpdateCfsFileSystemPGroupRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// File system ID. obtain it by querying the file system interface [DescribeCfsFileSystems
	// ](https://www.tencentcloud.com/zh/document/product/582/34514)
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

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

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

// Predefined struct for user
type UpdateCfsFileSystemPGroupResponseParams struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// File system ID
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`

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

type UpdateCfsFileSystemPGroupResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCfsFileSystemPGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateCfsFileSystemSizeLimitRequestParams struct {
	// File system capacity limit in GB. Value range: 0-1,073,741,824. If 0 is entered, no limit will be imposed on the file system capacity.
	FsLimit *uint64 `json:"FsLimit,omitnil,omitempty" name:"FsLimit"`

	// File system ID. this feature requires allowlist for usage. please [submit a ticket](https://console.cloud.tencent.com/workorder/category?from=ticket-tab) to apply. currently only common standard file system supports setting the storage capacity limit. this parameter can be obtained by [querying the file system](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

type UpdateCfsFileSystemSizeLimitRequest struct {
	*tchttp.BaseRequest
	
	// File system capacity limit in GB. Value range: 0-1,073,741,824. If 0 is entered, no limit will be imposed on the file system capacity.
	FsLimit *uint64 `json:"FsLimit,omitnil,omitempty" name:"FsLimit"`

	// File system ID. this feature requires allowlist for usage. please [submit a ticket](https://console.cloud.tencent.com/workorder/category?from=ticket-tab) to apply. currently only common standard file system supports setting the storage capacity limit. this parameter can be obtained by [querying the file system](https://www.tencentcloud.com/document/product/582/38170?from_cn_redirect=1).
	FileSystemId *string `json:"FileSystemId,omitnil,omitempty" name:"FileSystemId"`
}

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

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

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

type UpdateCfsFileSystemSizeLimitResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCfsFileSystemSizeLimitResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateCfsPGroupRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Permission group name, which can contain 1-64 Chinese characters, letters, numbers, underscores, or dashes
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Permission group description, 1-255 characters. Name and Descinfo cannot be empty at the same time.
	DescInfo *string `json:"DescInfo,omitnil,omitempty" name:"DescInfo"`
}

type UpdateCfsPGroupRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Permission group name, which can contain 1-64 Chinese characters, letters, numbers, underscores, or dashes
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Permission group description, 1-255 characters. Name and Descinfo cannot be empty at the same time.
	DescInfo *string `json:"DescInfo,omitnil,omitempty" name:"DescInfo"`
}

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

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

// Predefined struct for user
type UpdateCfsPGroupResponseParams struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

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

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

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

type UpdateCfsPGroupResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCfsPGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateCfsRuleRequestParams struct {
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Rule ID, which can be obtained through the [DescribeCfsRules](https://www.tencentcloud.com/document/api/582/38156?from_cn_redirect=1) api.
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// You can enter a single IP or IP range, such as 10.1.10.11 or 10.10.1.0/24. The default visiting address is `*`, indicating that all IPs are allowed. Please note that you need to enter the CVM instance's private IP here.
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Read/write permission. Valid values: RO (read-only), RW (read & write). Default value: RO
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

	// User permission. valid values: all_squash, no_all_squash, root_squash, no_root_squash. default value: root_squash.
	// All_squash: all accessing users (including the root user) will be mapped to anonymous users or groups.
	// no_all_squash: all accessing users (including the root user) retain original UID/GID information.
	// root_squash: maps visiting root user to anonymous user or user group. non-root user keeps original UID/GID information.
	// no_root_squash: has the same effect as no_all_squash. all accessing users (including the root user) retain their original UID/GID information.
	UserPermission *string `json:"UserPermission,omitnil,omitempty" name:"UserPermission"`

	// Rule priority. value range: 1-100. among them, 1 is the highest and 100 is the minimum. default value: 100.
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`
}

type UpdateCfsRuleRequest struct {
	*tchttp.BaseRequest
	
	// Permission group ID, which can be obtained through the api [DescribeCfsPGroups](https://www.tencentcloud.com/document/api/582/38157?from_cn_redirect=1).
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

	// Rule ID, which can be obtained through the [DescribeCfsRules](https://www.tencentcloud.com/document/api/582/38156?from_cn_redirect=1) api.
	RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"`

	// You can enter a single IP or IP range, such as 10.1.10.11 or 10.10.1.0/24. The default visiting address is `*`, indicating that all IPs are allowed. Please note that you need to enter the CVM instance's private IP here.
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Read/write permission. Valid values: RO (read-only), RW (read & write). Default value: RO
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

	// User permission. valid values: all_squash, no_all_squash, root_squash, no_root_squash. default value: root_squash.
	// All_squash: all accessing users (including the root user) will be mapped to anonymous users or groups.
	// no_all_squash: all accessing users (including the root user) retain original UID/GID information.
	// root_squash: maps visiting root user to anonymous user or user group. non-root user keeps original UID/GID information.
	// no_root_squash: has the same effect as no_all_squash. all accessing users (including the root user) retain their original UID/GID information.
	UserPermission *string `json:"UserPermission,omitnil,omitempty" name:"UserPermission"`

	// Rule priority. value range: 1-100. among them, 1 is the highest and 100 is the minimum. default value: 100.
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`
}

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

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

// Predefined struct for user
type UpdateCfsRuleResponseParams struct {
	// Permission group ID
	PGroupId *string `json:"PGroupId,omitnil,omitempty" name:"PGroupId"`

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

	// Client IP or IP range allowed for access
	AuthClientIp *string `json:"AuthClientIp,omitnil,omitempty" name:"AuthClientIp"`

	// Read & write permission
	RWPermission *string `json:"RWPermission,omitnil,omitempty" name:"RWPermission"`

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

	// Priority
	Priority *int64 `json:"Priority,omitnil,omitempty" name:"Priority"`

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

type UpdateCfsRuleResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCfsRuleResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateCfsSnapshotAttributeRequestParams struct {
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// File system snapshot name, must fill in either this or AliveDays. snapshot name supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// File system snapshot retention days. either this or SnapshotName must be specified. if the original setting has permanent retention attribute, it is not allowed to be modified to short-term validity.
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`
}

type UpdateCfsSnapshotAttributeRequest struct {
	*tchttp.BaseRequest
	
	// Snapshot ID, which can be obtained by querying through the [DescribeCfsSnapshots](https://www.tencentcloud.com/document/api/582/80206?from_cn_redirect=1) api.
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

	// File system snapshot name, must fill in either this or AliveDays. snapshot name supports no more than 64 characters in length, supports chinese, numbers, _, and -.
	SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`

	// File system snapshot retention days. either this or SnapshotName must be specified. if the original setting has permanent retention attribute, it is not allowed to be modified to short-term validity.
	AliveDays *uint64 `json:"AliveDays,omitnil,omitempty" name:"AliveDays"`
}

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

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

// Predefined struct for user
type UpdateCfsSnapshotAttributeResponseParams struct {
	// File system snapshot ID
	SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`

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

type UpdateCfsSnapshotAttributeResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCfsSnapshotAttributeResponseParams `json:"Response"`
}

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

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