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

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 AcceptJoinShareUnitInvitationRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

type AcceptJoinShareUnitInvitationRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

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

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

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

type AcceptJoinShareUnitInvitationResponse struct {
	*tchttp.BaseResponse
	Response *AcceptJoinShareUnitInvitationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddExternalSAMLIdPCertificateRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

type AddExternalSAMLIdPCertificateRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

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

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

// Predefined struct for user
type AddExternalSAMLIdPCertificateResponseParams struct {
	// SAML signing certificate ID.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`

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

type AddExternalSAMLIdPCertificateResponse struct {
	*tchttp.BaseResponse
	Response *AddExternalSAMLIdPCertificateResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddOrganizationMemberEmailRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

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

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

type AddOrganizationMemberEmailRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

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

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

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

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

// Predefined struct for user
type AddOrganizationMemberEmailResponseParams struct {
	// Bound ID.
	BindId *uint64 `json:"BindId,omitnil,omitempty" name:"BindId"`

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

type AddOrganizationMemberEmailResponse struct {
	*tchttp.BaseResponse
	Response *AddOrganizationMemberEmailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddOrganizationNodeRequestParams struct {
	// Parent node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1)
	ParentNodeId *uint64 `json:"ParentNodeId,omitnil,omitempty" name:"ParentNodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

	// Department tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type AddOrganizationNodeRequest struct {
	*tchttp.BaseRequest
	
	// Parent node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1)
	ParentNodeId *uint64 `json:"ParentNodeId,omitnil,omitempty" name:"ParentNodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

	// Department tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

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

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

// Predefined struct for user
type AddOrganizationNodeResponseParams struct {
	// Node ID.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

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

type AddOrganizationNodeResponse struct {
	*tchttp.BaseResponse
	Response *AddOrganizationNodeResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddPermissionPolicyToRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.  
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, supporting up to 20 policies, with each policy having a maximum of 32 characters. If you need to add a system policy, it is recommended to use the RolePolicies parameter. For custom policies, the array length is up to 1.
	RolePolicyNames []*string `json:"RolePolicyNames,omitnil,omitempty" name:"RolePolicyNames"`

	// Details of an added system policy.
	RolePolicies []*PolicyDetail `json:"RolePolicies,omitnil,omitempty" name:"RolePolicies"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	CustomPolicyDocument *string `json:"CustomPolicyDocument,omitnil,omitempty" name:"CustomPolicyDocument"`

	// List of custom policy content. (The number of custom policies in this list is the same as that specified by RolePolicyNames.)
	CustomPolicyDocuments []*string `json:"CustomPolicyDocuments,omitnil,omitempty" name:"CustomPolicyDocuments"`
}

type AddPermissionPolicyToRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.  
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, supporting up to 20 policies, with each policy having a maximum of 32 characters. If you need to add a system policy, it is recommended to use the RolePolicies parameter. For custom policies, the array length is up to 1.
	RolePolicyNames []*string `json:"RolePolicyNames,omitnil,omitempty" name:"RolePolicyNames"`

	// Details of an added system policy.
	RolePolicies []*PolicyDetail `json:"RolePolicies,omitnil,omitempty" name:"RolePolicies"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	CustomPolicyDocument *string `json:"CustomPolicyDocument,omitnil,omitempty" name:"CustomPolicyDocument"`

	// List of custom policy content. (The number of custom policies in this list is the same as that specified by RolePolicyNames.)
	CustomPolicyDocuments []*string `json:"CustomPolicyDocuments,omitnil,omitempty" name:"CustomPolicyDocuments"`
}

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

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

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

type AddPermissionPolicyToRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *AddPermissionPolicyToRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddShareUnitMembersRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared member list. Maximum: 10.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

type AddShareUnitMembersRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared member list. Maximum: 10.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

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

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

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

type AddShareUnitMembersResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitMembersResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddShareUnitNodeRequestParams struct {
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <p>Shared department ID.</p>.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

type AddShareUnitNodeRequest struct {
	*tchttp.BaseRequest
	
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <p>Shared department ID.</p>.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

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

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

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

type AddShareUnitNodeResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitNodeResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddShareUnitRequestParams struct {
	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

type AddShareUnitRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

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

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

// Predefined struct for user
type AddShareUnitResourcesRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ProductResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

type AddShareUnitResourcesRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ProductResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

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

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

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

type AddShareUnitResourcesResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitResourcesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddShareUnitResponseParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

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

type AddShareUnitResponse struct {
	*tchttp.BaseResponse
	Response *AddShareUnitResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AddUserToGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

type AddUserToGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

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

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

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

type AddUserToGroupResponse struct {
	*tchttp.BaseResponse
	Response *AddUserToGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type AttachPolicyRequestParams struct {
	// <p>Bind policy target ID. member Uin or department ID</p>.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// <p>Target type. valid values: NODE-department, MEMBER-MEMBER</p>.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// <p>Policy Id. you can call the <a href="https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1">ListPolicies</a> api to obtain it.</p>.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// <p>POLICY type. default value: SERVICE_CONTROL_POLICY. valid values: SERVICE_CONTROL_POLICY (SERVICE CONTROL POLICY) and TAG_POLICY (TAG POLICY).</p>.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type AttachPolicyRequest struct {
	*tchttp.BaseRequest
	
	// <p>Bind policy target ID. member Uin or department ID</p>.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// <p>Target type. valid values: NODE-department, MEMBER-MEMBER</p>.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// <p>Policy Id. you can call the <a href="https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1">ListPolicies</a> api to obtain it.</p>.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// <p>POLICY type. default value: SERVICE_CONTROL_POLICY. valid values: SERVICE_CONTROL_POLICY (SERVICE CONTROL POLICY) and TAG_POLICY (TAG POLICY).</p>.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

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

type AttachPolicyResponse struct {
	*tchttp.BaseResponse
	Response *AttachPolicyResponseParams `json:"Response"`
}

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

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

type AuthRelationFile struct {
	// File name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// File path.
	Url *string `json:"Url,omitnil,omitempty" name:"Url"`
}

// Predefined struct for user
type BindOrganizationMemberAuthAccountRequestParams struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained by calling [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization admin, which can contain up to five UINs.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

type BindOrganizationMemberAuthAccountRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained by calling [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization admin, which can contain up to five UINs.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

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

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

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

type BindOrganizationMemberAuthAccountResponse struct {
	*tchttp.BaseResponse
	Response *BindOrganizationMemberAuthAccountResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type BindOrganizationPolicySubAccountRequestParams struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization administrator. A maximum of 5 UINs is supported.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

type BindOrganizationPolicySubAccountRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization administrator. A maximum of 5 UINs is supported.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

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

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

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

type BindOrganizationPolicySubAccountResponse struct {
	*tchttp.BaseResponse
	Response *BindOrganizationPolicySubAccountResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CancelOrganizationMemberAuthAccountRequestParams struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Organization sub-account UIN.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`
}

type CancelOrganizationMemberAuthAccountRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Organization sub-account UIN.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`
}

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

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

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

type CancelOrganizationMemberAuthAccountResponse struct {
	*tchttp.BaseResponse
	Response *CancelOrganizationMemberAuthAccountResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CancelOrganizationPolicySubAccountRequestParams struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization administrator. A maximum of 5 UINs is supported.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

type CancelOrganizationPolicySubAccountRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// List of sub-account UINs of the organization administrator. A maximum of 5 UINs is supported.
	OrgSubAccountUins []*int64 `json:"OrgSubAccountUins,omitnil,omitempty" name:"OrgSubAccountUins"`
}

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

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

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

type CancelOrganizationPolicySubAccountResponse struct {
	*tchttp.BaseResponse
	Response *CancelOrganizationPolicySubAccountResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ClearExternalSAMLIdentityProviderRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type ClearExternalSAMLIdentityProviderRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

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

type ClearExternalSAMLIdentityProviderResponse struct {
	*tchttp.BaseResponse
	Response *ClearExternalSAMLIdentityProviderResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group name, which contains up to 128 characters, including English letters, digits, and special characters (-).
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// User group type. Manual: manually created, Synchronized: imported from external sources.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`
}

type CreateGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group name, which contains up to 128 characters, including English letters, digits, and special characters (-).
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// User group type. Manual: manually created, Synchronized: imported from external sources.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`
}

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

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

// Predefined struct for user
type CreateGroupResponseParams struct {
	// User group information.
	GroupInfo *GroupInfo `json:"GroupInfo,omitnil,omitempty" name:"GroupInfo"`

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

type CreateGroupResponse struct {
	*tchttp.BaseResponse
	Response *CreateGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrgServiceAssignRequestParams struct {
	// Uin list of the delegated admins, including up to 20 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Group service ID. either this or group service product identifier is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Group service product identifier. either this or group service ID is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: 1.
	ManagementScope *uint64 `json:"ManagementScope,omitnil,omitempty" name:"ManagementScope"`

	// Uin list of the managed members. This parameter is valid when ManagementScope is 2.
	ManagementScopeUins []*int64 `json:"ManagementScopeUins,omitnil,omitempty" name:"ManagementScopeUins"`

	// ID list of the managed departments. This parameter is valid when ManagementScope is 2.
	ManagementScopeNodeIds []*int64 `json:"ManagementScopeNodeIds,omitnil,omitempty" name:"ManagementScopeNodeIds"`
}

type CreateOrgServiceAssignRequest struct {
	*tchttp.BaseRequest
	
	// Uin list of the delegated admins, including up to 20 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Group service ID. either this or group service product identifier is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Group service product identifier. either this or group service ID is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Management scope of the delegated admin. Valid values: 1 (all members), 2 (partial members). Default value: 1.
	ManagementScope *uint64 `json:"ManagementScope,omitnil,omitempty" name:"ManagementScope"`

	// Uin list of the managed members. This parameter is valid when ManagementScope is 2.
	ManagementScopeUins []*int64 `json:"ManagementScopeUins,omitnil,omitempty" name:"ManagementScopeUins"`

	// ID list of the managed departments. This parameter is valid when ManagementScope is 2.
	ManagementScopeNodeIds []*int64 `json:"ManagementScopeNodeIds,omitnil,omitempty" name:"ManagementScopeNodeIds"`
}

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

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

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

type CreateOrgServiceAssignResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrgServiceAssignResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrganizationIdentityRequestParams struct {
	// Identity name.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`

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

type CreateOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Identity name.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`

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

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

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

// Predefined struct for user
type CreateOrganizationIdentityResponseParams struct {
	// Identity ID.
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

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

type CreateOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationIdentityResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrganizationMemberAuthIdentityRequestParams struct {
	// Member UIN list, including up to 10 items.
	MemberUins []*uint64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Identity ID list, including up to 5 items, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityIds []*uint64 `json:"IdentityIds,omitnil,omitempty" name:"IdentityIds"`
}

type CreateOrganizationMemberAuthIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN list, including up to 10 items.
	MemberUins []*uint64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Identity ID list, including up to 5 items, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityIds []*uint64 `json:"IdentityIds,omitnil,omitempty" name:"IdentityIds"`
}

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

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

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

type CreateOrganizationMemberAuthIdentityResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMemberAuthIdentityResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrganizationMemberPolicyRequestParams struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy name, which can contain up to 128 letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [DescribeOrganizationMemberAuthIdentities](https://intl.cloud.tencent.com/document/product/850/82936?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

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

type CreateOrganizationMemberPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy name, which can contain up to 128 letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [DescribeOrganizationMemberAuthIdentities](https://intl.cloud.tencent.com/document/product/850/82936?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

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

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

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

// Predefined struct for user
type CreateOrganizationMemberPolicyResponseParams struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

type CreateOrganizationMemberPolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMemberPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrganizationMemberRequestParams struct {
	// Member name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Member Finanace Authorization. Valid values: 1: View Bills. 2: View Balance.  4: Consolidate Bills. 5: Invoice. 6: Inherit Offer. 7: Pay On Behalf. 8: Cost Explorer. 9: Budget Management.  1, 2 and 7 are required.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Account name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	AccountName *string `json:"AccountName,omitnil,omitempty" name:"AccountName"`

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

	// Member creation record ID, which is required during retry upon creation exception.
	RecordId *int64 `json:"RecordId,omitnil,omitempty" name:"RecordId"`

	// Payer UIN, which is required during paying for a member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// List of member access identity IDs, which can be obtained through the `ListOrganizationIdentity` API. `1` indicates supported, which is the default value.
	IdentityRoleID []*uint64 `json:"IdentityRoleID,omitnil,omitempty" name:"IdentityRoleID"`

	// Verified entity relationship ID, which is required during creating members for different entities.
	AuthRelationId *int64 `json:"AuthRelationId,omitnil,omitempty" name:"AuthRelationId"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type CreateOrganizationMemberRequest struct {
	*tchttp.BaseRequest
	
	// Member name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Member Finanace Authorization. Valid values: 1: View Bills. 2: View Balance.  4: Consolidate Bills. 5: Invoice. 6: Inherit Offer. 7: Pay On Behalf. 8: Cost Explorer. 9: Budget Management.  1, 2 and 7 are required.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Account name, which can contain up to 25 letters, digits, and symbols `+@&._[]-:,`.
	AccountName *string `json:"AccountName,omitnil,omitempty" name:"AccountName"`

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

	// Member creation record ID, which is required during retry upon creation exception.
	RecordId *int64 `json:"RecordId,omitnil,omitempty" name:"RecordId"`

	// Payer UIN, which is required during paying for a member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// List of member access identity IDs, which can be obtained through the `ListOrganizationIdentity` API. `1` indicates supported, which is the default value.
	IdentityRoleID []*uint64 `json:"IdentityRoleID,omitnil,omitempty" name:"IdentityRoleID"`

	// Verified entity relationship ID, which is required during creating members for different entities.
	AuthRelationId *int64 `json:"AuthRelationId,omitnil,omitempty" name:"AuthRelationId"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

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

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

// Predefined struct for user
type CreateOrganizationMemberResponseParams struct {
	// Member UIN.
	Uin *int64 `json:"Uin,omitnil,omitempty" name:"Uin"`

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

type CreateOrganizationMemberResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMemberResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrganizationMembersPolicyRequestParams struct {
	// Member UIN list, including up to 10 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Policy name, which contains 1 to 128 characters, including English letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Policy description, which contains up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type CreateOrganizationMembersPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN list, including up to 10 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Policy name, which contains 1 to 128 characters, including English letters, digits, and symbols `+=,.@_-`.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Member access identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Policy description, which contains up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

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

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

// Predefined struct for user
type CreateOrganizationMembersPolicyResponseParams struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

type CreateOrganizationMembersPolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationMembersPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateOrganizationRequestParams struct {

}

type CreateOrganizationRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type CreateOrganizationResponseParams struct {
	// Organization ID.
	OrgId *uint64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`

	// Creator's nickname.
	NickName *string `json:"NickName,omitnil,omitempty" name:"NickName"`

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

type CreateOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *CreateOrganizationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreatePolicyRequestParams struct {
	// Policy name.
	// The length ranges from 1 to 128 characters, and can contain chinese characters, english letters, digits, and underscores (_).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Policy content. See the CAM policy syntax.
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

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

type CreatePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy name.
	// The length ranges from 1 to 128 characters, and can contain chinese characters, english letters, digits, and underscores (_).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Policy content. See the CAM policy syntax.
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

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

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

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

// Predefined struct for user
type CreatePolicyResponseParams struct {
	// Policy ID
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

type CreatePolicyResponse struct {
	*tchttp.BaseResponse
	Response *CreatePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateRoleAssignmentRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Authorized member account information, up to 50 entries.
	RoleAssignmentInfo []*RoleAssignmentInfo `json:"RoleAssignmentInfo,omitnil,omitempty" name:"RoleAssignmentInfo"`
}

type CreateRoleAssignmentRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Authorized member account information, up to 50 entries.
	RoleAssignmentInfo []*RoleAssignmentInfo `json:"RoleAssignmentInfo,omitnil,omitempty" name:"RoleAssignmentInfo"`
}

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

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

// Predefined struct for user
type CreateRoleAssignmentResponseParams struct {
	// Task details.
	Tasks []*TaskInfo `json:"Tasks,omitnil,omitempty" name:"Tasks"`

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

type CreateRoleAssignmentResponse struct {
	*tchttp.BaseResponse
	Response *CreateRoleAssignmentResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// Permission configuration description, which contains up to 1,024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours). Default: 3600 (1 hour).
	SessionDuration *int64 `json:"SessionDuration,omitnil,omitempty" name:"SessionDuration"`

	// Initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page. The default value is empty, representing a redirection to the home page of the Tencent Cloud console.
	RelayState *string `json:"RelayState,omitnil,omitempty" name:"RelayState"`
}

type CreateRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration name, which contains up to 128 characters, including English letters, digits, and hyphens (-).
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// Permission configuration description, which contains up to 1,024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours). Default: 3600 (1 hour).
	SessionDuration *int64 `json:"SessionDuration,omitnil,omitempty" name:"SessionDuration"`

	// Initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page. The default value is empty, representing a redirection to the home page of the Tencent Cloud console.
	RelayState *string `json:"RelayState,omitnil,omitempty" name:"RelayState"`
}

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

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

// Predefined struct for user
type CreateRoleConfigurationResponseParams struct {
	// Access configuration details.
	RoleConfigurationInfo *RoleConfiguration `json:"RoleConfigurationInfo,omitnil,omitempty" name:"RoleConfigurationInfo"`

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

type CreateRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *CreateRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateSCIMCredentialRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Expiration time (in seconds), with a minimum value of 1 hour and a maximum value of 99 years. if not provided, it expires in 1 year by default.
	ExpireDuration *uint64 `json:"ExpireDuration,omitnil,omitempty" name:"ExpireDuration"`
}

type CreateSCIMCredentialRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Expiration time (in seconds), with a minimum value of 1 hour and a maximum value of 99 years. if not provided, it expires in 1 year by default.
	ExpireDuration *uint64 `json:"ExpireDuration,omitnil,omitempty" name:"ExpireDuration"`
}

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

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

// Predefined struct for user
type CreateSCIMCredentialResponseParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key type.
	CredentialType *string `json:"CredentialType,omitnil,omitempty" name:"CredentialType"`

	// Creation time of a SCIM key.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Expiration time of a SCIM key.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	CredentialStatus *string `json:"CredentialStatus,omitnil,omitempty" name:"CredentialStatus"`

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

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

type CreateSCIMCredentialResponse struct {
	*tchttp.BaseResponse
	Response *CreateSCIMCredentialResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User name, which must be unique within the space and cannot be modified. It contains up to 64 characters, including digits, English letters, and special characters such as plus signs (+), equal signs (=), commas (,), periods (.), at signs (@), hyphens (-), and underscores (_).
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Last name of the user, which contains up to 64 characters.
	FirstName *string `json:"FirstName,omitnil,omitempty" name:"FirstName"`

	// First name of the user, which contains up to 64 characters.
	LastName *string `json:"LastName,omitnil,omitempty" name:"LastName"`

	// Display name of the user, which contains up to 256 characters.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

	// User description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Email address of the user, which must be unique within the directory and contains up to 128 characters.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status. Valid values: Enabled (default), Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created, Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Whether password reset is required. valid values: true (need to reset), false (not required to reset password). default value: false.
	NeedResetPassword *bool `json:"NeedResetPassword,omitnil,omitempty" name:"NeedResetPassword"`
}

type CreateUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User name, which must be unique within the space and cannot be modified. It contains up to 64 characters, including digits, English letters, and special characters such as plus signs (+), equal signs (=), commas (,), periods (.), at signs (@), hyphens (-), and underscores (_).
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Last name of the user, which contains up to 64 characters.
	FirstName *string `json:"FirstName,omitnil,omitempty" name:"FirstName"`

	// First name of the user, which contains up to 64 characters.
	LastName *string `json:"LastName,omitnil,omitempty" name:"LastName"`

	// Display name of the user, which contains up to 256 characters.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

	// User description, which contains up to 1024 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Email address of the user, which must be unique within the directory and contains up to 128 characters.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status. Valid values: Enabled (default), Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created, Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Whether password reset is required. valid values: true (need to reset), false (not required to reset password). default value: false.
	NeedResetPassword *bool `json:"NeedResetPassword,omitnil,omitempty" name:"NeedResetPassword"`
}

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

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

// Predefined struct for user
type CreateUserResponseParams struct {
	// User details.
	UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"`

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

type CreateUserResponse struct {
	*tchttp.BaseResponse
	Response *CreateUserResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type CreateUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// CAM user synchronization information.
	UserSyncProvisionings []*UserSyncProvisioning `json:"UserSyncProvisionings,omitnil,omitempty" name:"UserSyncProvisionings"`
}

type CreateUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// CAM user synchronization information.
	UserSyncProvisionings []*UserSyncProvisioning `json:"UserSyncProvisionings,omitnil,omitempty" name:"UserSyncProvisionings"`
}

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

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

// Predefined struct for user
type CreateUserSyncProvisioningResponseParams struct {
	// Task details.
	Tasks []*UserProvisioningsTask `json:"Tasks,omitnil,omitempty" name:"Tasks"`

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

type CreateUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *CreateUserSyncProvisioningResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

type DeleteGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

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

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

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

type DeleteGroupResponse struct {
	*tchttp.BaseResponse
	Response *DeleteGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrgServiceAssignRequestParams struct {
	// Uin of the delegated admin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Group service ID. either this or group service product identifier is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Group service product identifier. either this or group service ID is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

type DeleteOrgServiceAssignRequest struct {
	*tchttp.BaseRequest
	
	// Uin of the delegated admin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Group service ID. either this or group service product identifier is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Group service product identifier. either this or group service ID is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

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

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

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

type DeleteOrgServiceAssignResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrgServiceAssignResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrganizationIdentityRequestParams struct {
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

type DeleteOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

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

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

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

type DeleteOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationIdentityResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrganizationMemberAuthIdentityRequestParams struct {
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

type DeleteOrganizationMemberAuthIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

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

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

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

type DeleteOrganizationMemberAuthIdentityResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationMemberAuthIdentityResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrganizationMembersPolicyRequestParams struct {
	// Access policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

type DeleteOrganizationMembersPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Access policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

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

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

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

type DeleteOrganizationMembersPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationMembersPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrganizationMembersRequestParams struct {
	// Uin list of the deleted members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

type DeleteOrganizationMembersRequest struct {
	*tchttp.BaseRequest
	
	// Uin list of the deleted members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

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

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

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

type DeleteOrganizationMembersResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationMembersResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrganizationNodesRequestParams struct {
	// Node ID list, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId []*int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

type DeleteOrganizationNodesRequest struct {
	*tchttp.BaseRequest
	
	// Node ID list, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId []*int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

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

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

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

type DeleteOrganizationNodesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationNodesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteOrganizationRequestParams struct {

}

type DeleteOrganizationRequest struct {
	*tchttp.BaseRequest
	
}

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

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

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

type DeleteOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *DeleteOrganizationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeletePolicyRequestParams struct {
	// Policy ID to be deleted. you can call the [ListPolicies](https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1) api to obtain it.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DeletePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID to be deleted. you can call the [ListPolicies](https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1) api to obtain it.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

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

type DeletePolicyResponse struct {
	*tchttp.BaseResponse
	Response *DeletePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteRoleAssignmentRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Whether to remove the permission configuration deployment when removing the last authorization with a certain permission configuration from a target account in TCO. Valid values: DeprovisionForLastRoleAssignmentOnAccount: Remove the permission configuration deployment. None (default): Do not remove the permission configuration deployment.
	DeprovisionStrategy *string `json:"DeprovisionStrategy,omitnil,omitempty" name:"DeprovisionStrategy"`
}

type DeleteRoleAssignmentRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Whether to remove the permission configuration deployment when removing the last authorization with a certain permission configuration from a target account in TCO. Valid values: DeprovisionForLastRoleAssignmentOnAccount: Remove the permission configuration deployment. None (default): Do not remove the permission configuration deployment.
	DeprovisionStrategy *string `json:"DeprovisionStrategy,omitnil,omitempty" name:"DeprovisionStrategy"`
}

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

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

// Predefined struct for user
type DeleteRoleAssignmentResponseParams struct {
	// Task details.
	Task *TaskInfo `json:"Task,omitnil,omitempty" name:"Task"`

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

type DeleteRoleAssignmentResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRoleAssignmentResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

type DeleteRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

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

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

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

type DeleteRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *DeleteRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteSCIMCredentialRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

type DeleteSCIMCredentialRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

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

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

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

type DeleteSCIMCredentialResponse struct {
	*tchttp.BaseResponse
	Response *DeleteSCIMCredentialResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteShareUnitMembersRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Member list.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

type DeleteShareUnitMembersRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Member list.
	Members []*ShareMember `json:"Members,omitnil,omitempty" name:"Members"`
}

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

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

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

type DeleteShareUnitMembersResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitMembersResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteShareUnitNodeRequestParams struct {
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <p>Department ID.</p>.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

type DeleteShareUnitNodeRequest struct {
	*tchttp.BaseRequest
	
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <p>Department ID.</p>.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`
}

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

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

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

type DeleteShareUnitNodeResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitNodeResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteShareUnitRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

type DeleteShareUnitRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

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

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

// Predefined struct for user
type DeleteShareUnitResourcesRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ShareResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

type DeleteShareUnitResourcesRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Shared resource list. Maximum: 10.
	Resources []*ShareResource `json:"Resources,omitnil,omitempty" name:"Resources"`
}

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

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

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

type DeleteShareUnitResourcesResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitResourcesResponseParams `json:"Response"`
}

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

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

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

type DeleteShareUnitResponse struct {
	*tchttp.BaseResponse
	Response *DeleteShareUnitResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

type DeleteUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

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

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

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

type DeleteUserResponse struct {
	*tchttp.BaseResponse
	Response *DeleteUserResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DeleteUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

type DeleteUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

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

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

// Predefined struct for user
type DeleteUserSyncProvisioningResponseParams struct {
	// Task details.
	Tasks *UserProvisioningsTask `json:"Tasks,omitnil,omitempty" name:"Tasks"`

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

type DeleteUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *DeleteUserSyncProvisioningResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeEffectivePolicyRequestParams struct {
	// Account UIN or node ID.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`
}

type DescribeEffectivePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Account UIN or node ID.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`
}

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

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

// Predefined struct for user
type DescribeEffectivePolicyResponseParams struct {
	// Valid policy.
	EffectivePolicy *EffectivePolicy `json:"EffectivePolicy,omitnil,omitempty" name:"EffectivePolicy"`

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

type DescribeEffectivePolicyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeEffectivePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeIdentityCenterRequestParams struct {

}

type DescribeIdentityCenterRequest struct {
	*tchttp.BaseRequest
	
}

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

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

// Predefined struct for user
type DescribeIdentityCenterResponseParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`

	// Service activation status. Disabled: not activated; Enabled: activated.
	ServiceStatus *string `json:"ServiceStatus,omitnil,omitempty" name:"ServiceStatus"`

	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	ScimSyncStatus *string `json:"ScimSyncStatus,omitnil,omitempty" name:"ScimSyncStatus"`

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

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

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

type DescribeIdentityCenterResponse struct {
	*tchttp.BaseResponse
	Response *DescribeIdentityCenterResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberAuthAccountsRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

type DescribeOrganizationMemberAuthAccountsRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Policy ID, which can be obtained through [DescribeOrganizationMemberPolicies](https://intl.cloud.tencent.com/document/product/850/82935?from_cn_redirect=1).
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberAuthAccountsResponseParams struct {
	// List
	Items []*OrgMemberAuthAccount `json:"Items,omitnil,omitempty" name:"Items"`

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

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

type DescribeOrganizationMemberAuthAccountsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberAuthAccountsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberAuthIdentitiesRequestParams struct {
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Uin of the organization member. At least one of the input parameters MemberUin and IdentityId must be entered.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID. At least one of the input parameters MemberUin and IdentityId must be provided. It can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

type DescribeOrganizationMemberAuthIdentitiesRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Uin of the organization member. At least one of the input parameters MemberUin and IdentityId must be entered.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Identity ID. At least one of the input parameters MemberUin and IdentityId must be provided. It can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberAuthIdentitiesResponseParams struct {
	// List of authorized identities.
	Items []*OrgMemberAuthIdentity `json:"Items,omitnil,omitempty" name:"Items"`

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

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

type DescribeOrganizationMemberAuthIdentitiesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberAuthIdentitiesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberEmailBindRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

type DescribeOrganizationMemberEmailBindRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberEmailBindResponseParams struct {
	// Bound ID.
	BindId *uint64 `json:"BindId,omitnil,omitempty" name:"BindId"`

	// Application time.
	ApplyTime *string `json:"ApplyTime,omitnil,omitempty" name:"ApplyTime"`

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

	// Verification mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`

	// Binding status: unbound indicates not bound; valid indicates to be activated; success indicates bound successfully; failed indicates binding failed.
	BindStatus *string `json:"BindStatus,omitnil,omitempty" name:"BindStatus"`

	// Binding time.
	BindTime *string `json:"BindTime,omitnil,omitempty" name:"BindTime"`

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

	// Verification mobile number binding status. 0 indicates unbound and 1 indicates bound.
	PhoneBind *uint64 `json:"PhoneBind,omitnil,omitempty" name:"PhoneBind"`

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

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

type DescribeOrganizationMemberEmailBindResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberEmailBindResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberPoliciesRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Search keyword, which can be the policy name or description.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeOrganizationMemberPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Search keyword, which can be the policy name or description.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMemberPoliciesResponseParams struct {
	// Member access policy list.
	Items []*OrgMemberPolicy `json:"Items,omitnil,omitempty" name:"Items"`

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

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

type DescribeOrganizationMemberPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMemberPoliciesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMembersAuthPolicyRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Organization administrator sub-account UIN.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`

	// Member access policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

type DescribeOrganizationMembersAuthPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Organization administrator sub-account UIN.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`

	// Member access policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMembersAuthPolicyResponseParams struct {
	// Access authorization policy list.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Items []*OrgMembersAuthPolicy `json:"Items,omitnil,omitempty" name:"Items"`

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

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

type DescribeOrganizationMembersAuthPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMembersAuthPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMembersRequestParams struct {
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Search by member name or ID.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Entity name.
	AuthName *string `json:"AuthName,omitnil,omitempty" name:"AuthName"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Member tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Organizational unit ID.
	NodeId *uint64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Organizational unit name.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`
}

type DescribeOrganizationMembersRequest struct {
	*tchttp.BaseRequest
	
	// Offset, which is an integer multiple of the value of `Limit`. Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit, which defaults to `10`. Value range: 1-50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Search by member name or ID.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Entity name.
	AuthName *string `json:"AuthName,omitnil,omitempty" name:"AuthName"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Member tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Organizational unit ID.
	NodeId *uint64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Organizational unit name.
	NodeName *string `json:"NodeName,omitnil,omitempty" name:"NodeName"`
}

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

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

// Predefined struct for user
type DescribeOrganizationMembersResponseParams struct {
	// Member list.
	Items []*OrgMember `json:"Items,omitnil,omitempty" name:"Items"`

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

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

type DescribeOrganizationMembersResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationMembersResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationNodesRequestParams struct {
	// Maximum number of returned results. Maximum value: `50`.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Department tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type DescribeOrganizationNodesRequest struct {
	*tchttp.BaseRequest
	
	// Maximum number of returned results. Maximum value: `50`.
	Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Department tag search list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

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

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

// Predefined struct for user
type DescribeOrganizationNodesResponseParams struct {
	// Total quantity.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// List details.
	Items []*OrgNode `json:"Items,omitnil,omitempty" name:"Items"`

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

type DescribeOrganizationNodesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationNodesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeOrganizationRequestParams struct {
	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

type DescribeOrganizationRequest struct {
	*tchttp.BaseRequest
	
	// Valid values: `en` (Tencent Cloud International); `zh` (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`

	// Abbreviation of the trusted service, which is required during querying the trusted service admin.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

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

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

// Predefined struct for user
type DescribeOrganizationResponseParams struct {
	// Organization ID.
	OrgId *int64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`

	// Creator UIN.
	HostUin *int64 `json:"HostUin,omitnil,omitempty" name:"HostUin"`

	// Creator'S nickname.
	NickName *string `json:"NickName,omitnil,omitempty" name:"NickName"`

	// Enterprise organization type.
	OrgType *int64 `json:"OrgType,omitnil,omitempty" name:"OrgType"`

	// Whether the organization admin. valid values: true, false.
	IsManager *bool `json:"IsManager,omitnil,omitempty" name:"IsManager"`

	// Policy type. Financial: financial management.
	OrgPolicyType *string `json:"OrgPolicyType,omitnil,omitempty" name:"OrgPolicyType"`

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

	// Member financial permission list.
	OrgPermission []*OrgPermission `json:"OrgPermission,omitnil,omitempty" name:"OrgPermission"`

	// Root node ID of the organization.
	RootNodeId *int64 `json:"RootNodeId,omitnil,omitempty" name:"RootNodeId"`

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

	// Member join time.
	JoinTime *string `json:"JoinTime,omitnil,omitempty" name:"JoinTime"`

	// Whether to allow a member to exit. Valid values: Allow, Denied.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Proxy payer UIN.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Payer name.
	PayName *string `json:"PayName,omitnil,omitempty" name:"PayName"`

	// Specifies whether an account belongs to a trusted service administrator. true: yes; false: no.
	IsAssignManager *bool `json:"IsAssignManager,omitnil,omitempty" name:"IsAssignManager"`

	// Specifies whether an account belongs to a real-name entity administrator. true: yes; false: no.
	IsAuthManager *bool `json:"IsAuthManager,omitnil,omitempty" name:"IsAuthManager"`

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

type DescribeOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *DescribeOrganizationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribePolicyConfigRequestParams struct {
	// Organization Id. call the api [DescribeOrganization](https://www.tencentcloud.com/document/product/850/67059?from_cn_redirect=1) to obtain it.
	OrganizationId *uint64 `json:"OrganizationId,omitnil,omitempty" name:"OrganizationId"`

	// Policy type. Default value: 0; valid values: 0 (service control policy) and 1 (Tag policy).
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribePolicyConfigRequest struct {
	*tchttp.BaseRequest
	
	// Organization Id. call the api [DescribeOrganization](https://www.tencentcloud.com/document/product/850/67059?from_cn_redirect=1) to obtain it.
	OrganizationId *uint64 `json:"OrganizationId,omitnil,omitempty" name:"OrganizationId"`

	// Policy type. Default value: 0; valid values: 0 (service control policy) and 1 (Tag policy).
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

// Predefined struct for user
type DescribePolicyConfigResponseParams struct {
	// Status. Valid values: 0 (not enabled) and 1 (enabled).
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY (service control policy) and TAG_POLICY (Tag policy).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

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

type DescribePolicyConfigResponse struct {
	*tchttp.BaseResponse
	Response *DescribePolicyConfigResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribePolicyRequestParams struct {
	// Policy Id. you can call the [ListPolicies](https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1) api to obtain it.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

type DescribePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy Id. you can call the [ListPolicies](https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1) api to obtain it.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

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

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

// Predefined struct for user
type DescribePolicyResponseParams struct {
	// Policy ID.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

	// Policy type. Valid values: 1 (custom) and 2 (preset).
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

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

	// Policy document.
	PolicyDocument *string `json:"PolicyDocument,omitnil,omitempty" name:"PolicyDocument"`

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

	// Policy creation time.
	AddTime *string `json:"AddTime,omitnil,omitempty" name:"AddTime"`

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

type DescribePolicyResponse struct {
	*tchttp.BaseResponse
	Response *DescribePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeResourceToShareMemberRequestParams struct {
	// Shared region. you can obtain supported shared regions through the api [DescribeShareAreas](https://www.tencentcloud.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keywords support business resource ID search.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://www.tencentcloud.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Business resource ID. maximum 50.
	ProductResourceIds []*string `json:"ProductResourceIds,omitnil,omitempty" name:"ProductResourceIds"`
}

type DescribeResourceToShareMemberRequest struct {
	*tchttp.BaseRequest
	
	// Shared region. you can obtain supported shared regions through the api [DescribeShareAreas](https://www.tencentcloud.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keywords support business resource ID search.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://www.tencentcloud.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

	// Business resource ID. maximum 50.
	ProductResourceIds []*string `json:"ProductResourceIds,omitnil,omitempty" name:"ProductResourceIds"`
}

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

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

// Predefined struct for user
type DescribeResourceToShareMemberResponseParams struct {
	// Total number.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

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

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

type DescribeResourceToShareMemberResponse struct {
	*tchttp.BaseResponse
	Response *DescribeResourceToShareMemberResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeShareAreasRequestParams struct {
	// Valid values: en (Tencent Cloud International); zh (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`
}

type DescribeShareAreasRequest struct {
	*tchttp.BaseRequest
	
	// Valid values: en (Tencent Cloud International); zh (Tencent Cloud).
	Lang *string `json:"Lang,omitnil,omitempty" name:"Lang"`
}

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

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

// Predefined struct for user
type DescribeShareAreasResponseParams struct {
	// Details.
	Items []*ShareArea `json:"Items,omitnil,omitempty" name:"Items"`

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

type DescribeShareAreasResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareAreasResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeShareUnitMembersRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Member UIN search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeShareUnitMembersRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Member UIN search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

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

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

// Predefined struct for user
type DescribeShareUnitMembersResponseParams struct {
	// Total number.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Shared unit member list.
	Items []*ShareUnitMember `json:"Items,omitnil,omitempty" name:"Items"`

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

type DescribeShareUnitMembersResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitMembersResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeShareUnitNodesRequestParams struct {
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <P>Offset. its value must be an integer multiple of the limit. default value: 0.</p>.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <P>Limit. value range: 1–50.</p>.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Search keywords. supports department ID search.</p>.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeShareUnitNodesRequest struct {
	*tchttp.BaseRequest
	
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <P>Offset. its value must be an integer multiple of the limit. default value: 0.</p>.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// <P>Limit. value range: 1–50.</p>.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// <p>Search keywords. supports department ID search.</p>.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

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

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

// Predefined struct for user
type DescribeShareUnitNodesResponseParams struct {
	// <P>Total number.</p>.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// <P>Shared unit department list.</p>.
	Items []*ShareUnitNode `json:"Items,omitnil,omitempty" name:"Items"`

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

type DescribeShareUnitNodesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitNodesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeShareUnitResourcesRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Product resource ID search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DescribeShareUnitResourcesRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit region.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. Product resource ID search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Shared resource type. For supported shared resource types, see [Overview of Resource Sharing](https://intl.cloud.tencent.com/document/product/850/59489?from_cn_redirect=1).
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

// Predefined struct for user
type DescribeShareUnitResourcesResponseParams struct {
	// Total number.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Shared unit resource list.
	Items []*ShareUnitResource `json:"Items,omitnil,omitempty" name:"Items"`

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

type DescribeShareUnitResourcesResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitResourcesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DescribeShareUnitsRequestParams struct {
	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. UnitId and Name search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type DescribeShareUnitsRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit region. You can obtain supported shared regions through the API [DescribeShareAreas](https://intl.cloud.tencent.com/document/product/850/103050?from_cn_redirect=1).
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1–50.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search keyword. UnitId and Name search is supported.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

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

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

// Predefined struct for user
type DescribeShareUnitsResponseParams struct {
	// Total number.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Shared unit list.
	Items []*ManagerShareUnit `json:"Items,omitnil,omitempty" name:"Items"`

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

type DescribeShareUnitsResponse struct {
	*tchttp.BaseResponse
	Response *DescribeShareUnitsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DetachPolicyRequestParams struct {
	// <p>Unbind policy target ID. member Uin or department ID</p>.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// <p>Target type. valid values: NODE-department, MEMBER-MEMBER</p>.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// <p>Policy Id. you can call the <a href="https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1">ListPolicies</a> api to obtain it.</p>.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// <p>POLICY type. default value: SERVICE_CONTROL_POLICY. valid values: SERVICE_CONTROL_POLICY (SERVICE CONTROL POLICY) and TAG_POLICY (TAG POLICY).</p>.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type DetachPolicyRequest struct {
	*tchttp.BaseRequest
	
	// <p>Unbind policy target ID. member Uin or department ID</p>.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// <p>Target type. valid values: NODE-department, MEMBER-MEMBER</p>.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// <p>Policy Id. you can call the <a href="https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1">ListPolicies</a> api to obtain it.</p>.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// <p>POLICY type. default value: SERVICE_CONTROL_POLICY. valid values: SERVICE_CONTROL_POLICY (SERVICE CONTROL POLICY) and TAG_POLICY (TAG POLICY).</p>.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

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

type DetachPolicyResponse struct {
	*tchttp.BaseResponse
	Response *DetachPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DisablePolicyTypeRequestParams struct {
	// Organization Id. call the api [DescribeOrganization](https://www.tencentcloud.com/document/product/850/67059?from_cn_redirect=1) to obtain it.
	OrganizationId *uint64 `json:"OrganizationId,omitnil,omitempty" name:"OrganizationId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

type DisablePolicyTypeRequest struct {
	*tchttp.BaseRequest
	
	// Organization Id. call the api [DescribeOrganization](https://www.tencentcloud.com/document/product/850/67059?from_cn_redirect=1) to obtain it.
	OrganizationId *uint64 `json:"OrganizationId,omitnil,omitempty" name:"OrganizationId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

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

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

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

type DisablePolicyTypeResponse struct {
	*tchttp.BaseResponse
	Response *DisablePolicyTypeResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type DismantleRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

type DismantleRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

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

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

// Predefined struct for user
type DismantleRoleConfigurationResponseParams struct {
	// Task details.
	Task *RoleProvisioningsTask `json:"Task,omitnil,omitempty" name:"Task"`

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

type DismantleRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *DismantleRoleConfigurationResponseParams `json:"Response"`
}

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

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

type EffectivePolicy struct {
	// Target ID.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// Effective policy content.
	PolicyContent *string `json:"PolicyContent,omitnil,omitempty" name:"PolicyContent"`

	// Effective policy update time.
	LastUpdatedTimestamp *uint64 `json:"LastUpdatedTimestamp,omitnil,omitempty" name:"LastUpdatedTimestamp"`
}

// Predefined struct for user
type EnablePolicyTypeRequestParams struct {
	// Organization Id. call the api [DescribeOrganization](https://www.tencentcloud.com/document/product/850/67059?from_cn_redirect=1) to obtain it.
	OrganizationId *uint64 `json:"OrganizationId,omitnil,omitempty" name:"OrganizationId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

type EnablePolicyTypeRequest struct {
	*tchttp.BaseRequest
	
	// Organization Id. call the api [DescribeOrganization](https://www.tencentcloud.com/document/product/850/67059?from_cn_redirect=1) to obtain it.
	OrganizationId *uint64 `json:"OrganizationId,omitnil,omitempty" name:"OrganizationId"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

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

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

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

type EnablePolicyTypeResponse struct {
	*tchttp.BaseResponse
	Response *EnablePolicyTypeResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetExternalSAMLIdentityProviderRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetExternalSAMLIdentityProviderRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

// Predefined struct for user
type GetExternalSAMLIdentityProviderResponseParams struct {
	// SAML identity provider configuration information.
	SAMLIdentityProviderConfiguration *SAMLIdentityProviderConfiguration `json:"SAMLIdentityProviderConfiguration,omitnil,omitempty" name:"SAMLIdentityProviderConfiguration"`

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

type GetExternalSAMLIdentityProviderResponse struct {
	*tchttp.BaseResponse
	Response *GetExternalSAMLIdentityProviderResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

type GetGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`
}

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

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

// Predefined struct for user
type GetGroupResponseParams struct {
	// User group information.
	GroupInfo *GroupInfo `json:"GroupInfo,omitnil,omitempty" name:"GroupInfo"`

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

type GetGroupResponse struct {
	*tchttp.BaseResponse
	Response *GetGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetProvisioningTaskStatusRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

type GetProvisioningTaskStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

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

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

// Predefined struct for user
type GetProvisioningTaskStatusResponseParams struct {
	// Task status information.
	TaskStatus *TaskStatus `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

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

type GetProvisioningTaskStatusResponse struct {
	*tchttp.BaseResponse
	Response *GetProvisioningTaskStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

type GetRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

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

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

// Predefined struct for user
type GetRoleConfigurationResponseParams struct {
	// Permission configuration details.
	RoleConfigurationInfo *RoleConfiguration `json:"RoleConfigurationInfo,omitnil,omitempty" name:"RoleConfigurationInfo"`

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

type GetRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *GetRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetSCIMSynchronizationStatusRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetSCIMSynchronizationStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

// Predefined struct for user
type GetSCIMSynchronizationStatusResponseParams struct {
	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	SCIMSynchronizationStatus *string `json:"SCIMSynchronizationStatus,omitnil,omitempty" name:"SCIMSynchronizationStatus"`

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

type GetSCIMSynchronizationStatusResponse struct {
	*tchttp.BaseResponse
	Response *GetSCIMSynchronizationStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetTaskStatusRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

type GetTaskStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

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

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

// Predefined struct for user
type GetTaskStatusResponseParams struct {
	// Task status information.
	TaskStatus *TaskStatus `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

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

type GetTaskStatusResponse struct {
	*tchttp.BaseResponse
	Response *GetTaskStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetUserRequestParams struct {
	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetUserRequest struct {
	*tchttp.BaseRequest
	
	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`

	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

// Predefined struct for user
type GetUserResponseParams struct {
	// User information.
	UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"`

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

type GetUserResponse struct {
	*tchttp.BaseResponse
	Response *GetUserResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// ID of the CAM user synchronization.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

type GetUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// ID of the CAM user synchronization.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`
}

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

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

// Predefined struct for user
type GetUserSyncProvisioningResponseParams struct {
	// CAM user synchronization information.
	UserProvisioning *UserProvisioning `json:"UserProvisioning,omitnil,omitempty" name:"UserProvisioning"`

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

type GetUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *GetUserSyncProvisioningResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetZoneSAMLServiceProviderInfoRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetZoneSAMLServiceProviderInfoRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

// Predefined struct for user
type GetZoneSAMLServiceProviderInfoResponseParams struct {
	// SAML service provider configuration information.
	SAMLServiceProvider *SAMLServiceProvider `json:"SAMLServiceProvider,omitnil,omitempty" name:"SAMLServiceProvider"`

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

type GetZoneSAMLServiceProviderInfoResponse struct {
	*tchttp.BaseResponse
	Response *GetZoneSAMLServiceProviderInfoResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type GetZoneStatisticsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type GetZoneStatisticsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

// Predefined struct for user
type GetZoneStatisticsResponseParams struct {
	// Space statistics.
	ZoneStatistics *ZoneStatistics `json:"ZoneStatistics,omitnil,omitempty" name:"ZoneStatistics"`

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

type GetZoneStatisticsResponse struct {
	*tchttp.BaseResponse
	Response *GetZoneStatisticsResponseParams `json:"Response"`
}

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

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

type GroupInfo struct {
	// User group name.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Creation time of the user group.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// User group type. Manual: manually created; Synchronized: externally imported.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Modification time of the user group.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// Number of group members.
	MemberCount *int64 `json:"MemberCount,omitnil,omitempty" name:"MemberCount"`

	// If the input parameter FilterUsers is provided, return true when the user is in the user group; otherwise, return false.
	IsSelected *bool `json:"IsSelected,omitnil,omitempty" name:"IsSelected"`
}

type GroupMembers struct {
	// Queried username.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// Display name of the user.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

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

	// Email address of the user, which must be unique within the directory.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

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

	// Time when the user joins the user group.
	JoinTime *string `json:"JoinTime,omitnil,omitempty" name:"JoinTime"`
}

type IdentityPolicy struct {
	// CAM preset policy ID, which is valid and required when PolicyType is a preset policy.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// CAM preset policy name, which is valid and required when PolicyType is a preset policy.
	PolicyName *string `json:"PolicyName,omitnil,omitempty" name:"PolicyName"`

	// Policy type. Valid values: 1: custom policy; 2: preset policy. The default value is 2.
	PolicyType *uint64 `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Custom policy content, which follows the CAM policy syntax. It is valid and mandatory when PolicyType is a custom policy.
	PolicyDocument *string `json:"PolicyDocument,omitnil,omitempty" name:"PolicyDocument"`
}

// Predefined struct for user
type InviteOrganizationMemberRequestParams struct {
	// UIN of an invited account.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// List of member financial permission ids. valid values: 1: view bills. 2: view balance. 3: transfer funds (contact your business manager to enable internal fund transfer permission if required). 4: consolidate bills. 5: issue invoice. 6: inherit discounts. 7: pay on behalf. 8: analyze costs. 9: manage budget. 10: set credit limit (contact your business manager to enable internal credit limit setting privilege if required). 1 and 2 are required by default.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

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

	// Whether to allow a member to exit. Valid values: Allow, Denied.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Name of a mutual trust real-name entity.
	RelationAuthName *string `json:"RelationAuthName,omitnil,omitempty" name:"RelationAuthName"`

	// List of proof files of a mutual trust entity.
	AuthFile []*AuthRelationFile `json:"AuthFile,omitnil,omitempty" name:"AuthFile"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

type InviteOrganizationMemberRequest struct {
	*tchttp.BaseRequest
	
	// UIN of an invited account.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Relationship policy. Valid value: `Financial`.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// List of member financial permission ids. valid values: 1: view bills. 2: view balance. 3: transfer funds (contact your business manager to enable internal fund transfer permission if required). 4: consolidate bills. 5: issue invoice. 6: inherit discounts. 7: pay on behalf. 8: analyze costs. 9: manage budget. 10: set credit limit (contact your business manager to enable internal credit limit setting privilege if required). 1 and 2 are required by default.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Node ID of the member's department, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

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

	// Whether to allow a member to exit. Valid values: Allow, Denied.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Name of a mutual trust real-name entity.
	RelationAuthName *string `json:"RelationAuthName,omitnil,omitempty" name:"RelationAuthName"`

	// List of proof files of a mutual trust entity.
	AuthFile []*AuthRelationFile `json:"AuthFile,omitnil,omitempty" name:"AuthFile"`

	// Member tag list, with a maximum of 10.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

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

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

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

type InviteOrganizationMemberResponse struct {
	*tchttp.BaseResponse
	Response *InviteOrganizationMemberResponseParams `json:"Response"`
}

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

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

type JoinedGroups struct {
	// User group name.
	GroupName *string `json:"GroupName,omitnil,omitempty" name:"GroupName"`

	// User group description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User group type. Valid values:
	// 
	// Manual: manually created.
	// Synchronized: externally synchronized.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Time of joining the user group.
	JoinTime *string `json:"JoinTime,omitnil,omitempty" name:"JoinTime"`
}

// Predefined struct for user
type ListExternalSAMLIdPCertificatesRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

type ListExternalSAMLIdPCertificatesRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`
}

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

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

// Predefined struct for user
type ListExternalSAMLIdPCertificatesResponseParams struct {
	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// SAML signing certificate list.
	SAMLIdPCertificates []*SAMLIdPCertificate `json:"SAMLIdPCertificates,omitnil,omitempty" name:"SAMLIdPCertificates"`

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

type ListExternalSAMLIdPCertificatesResponse struct {
	*tchttp.BaseResponse
	Response *ListExternalSAMLIdPCertificatesResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListGroupMembersRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Type of the user. Manual: manually created; Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`
}

type ListGroupMembersRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Type of the user. Manual: manually created; Synchronized: imported from external sources.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`
}

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

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

// Predefined struct for user
type ListGroupMembersResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// The user list of a user group.
	GroupMembers []*GroupMembers `json:"GroupMembers,omitnil,omitempty" name:"GroupMembers"`

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

type ListGroupMembersResponse struct {
	*tchttp.BaseResponse
	Response *ListGroupMembersResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListGroupsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Filter criterion. Format: <Attribute> <Operator> <Value>, case-insensitive. Currently, <Attribute> supports only GroupName, and <Operator> supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// User group type. Manual: manually created; Synchronized: externally imported.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Filtered user. IsSelected=1 will be returned for the user group associated with this user.
	FilterUsers []*string `json:"FilterUsers,omitnil,omitempty" name:"FilterUsers"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting order. Desc: descending order; Asc: ascending order. It should be set together with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type ListGroupsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Filter criterion. Format: <Attribute> <Operator> <Value>, case-insensitive. Currently, <Attribute> supports only GroupName, and <Operator> supports only eq (Equals) and sw (Start With). For example, Filter = "GroupName sw test" indicates querying all user groups with names starting with test; Filter = "GroupName eq testgroup" indicates querying the user group with the name testgroup.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// User group type. Manual: manually created; Synchronized: externally imported.
	GroupType *string `json:"GroupType,omitnil,omitempty" name:"GroupType"`

	// Filtered user. IsSelected=1 will be returned for the user group associated with this user.
	FilterUsers []*string `json:"FilterUsers,omitnil,omitempty" name:"FilterUsers"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting order. Desc: descending order; Asc: ascending order. It should be set together with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

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

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

// Predefined struct for user
type ListGroupsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// User group list.
	Groups []*GroupInfo `json:"Groups,omitnil,omitempty" name:"Groups"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

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

type ListGroupsResponse struct {
	*tchttp.BaseResponse
	Response *ListGroupsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListJoinedGroupsForUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`
}

type ListJoinedGroupsForUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`
}

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

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

// Predefined struct for user
type ListJoinedGroupsForUserResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// List of user groups joined by the user.
	JoinedGroups []*JoinedGroups `json:"JoinedGroups,omitnil,omitempty" name:"JoinedGroups"`

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

type ListJoinedGroupsForUserResponse struct {
	*tchttp.BaseResponse
	Response *ListJoinedGroupsForUserResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListNonCompliantResourceRequestParams struct {
	// Limit. Value range: 1–50.
	MaxResults *uint64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Token value obtained from the previous page response.
	// If it is the first request, set to empty.
	PaginationToken *string `json:"PaginationToken,omitnil,omitempty" name:"PaginationToken"`

	// Tag key.
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`
}

type ListNonCompliantResourceRequest struct {
	*tchttp.BaseRequest
	
	// Limit. Value range: 1–50.
	MaxResults *uint64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Token value obtained from the previous page response.
	// If it is the first request, set to empty.
	PaginationToken *string `json:"PaginationToken,omitnil,omitempty" name:"PaginationToken"`

	// Tag key.
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`
}

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

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

// Predefined struct for user
type ListNonCompliantResourceResponseParams struct {
	// Resource and tag compliance information.
	Items []*ResourceTagMapping `json:"Items,omitnil,omitempty" name:"Items"`

	// Token value obtained for the next page.
	PaginationToken *string `json:"PaginationToken,omitnil,omitempty" name:"PaginationToken"`

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

type ListNonCompliantResourceResponse struct {
	*tchttp.BaseResponse
	Response *ListNonCompliantResourceResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListOrgServiceAssignMemberRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Group service ID. either this or group service product identifier is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Group service product identifier. either this or group service ID is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

type ListOrgServiceAssignMemberRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Group service ID. either this or group service product identifier is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Group service product identifier. either this or group service ID is required. can be obtained through ListOrganizationService (https://www.tencentcloud.com/document/product/850/109561?from_cn_redirect=1).
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`
}

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

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

// Predefined struct for user
type ListOrgServiceAssignMemberResponseParams struct {
	// Total quantity.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Delegated administrator list.
	Items []*OrganizationServiceAssignMember `json:"Items,omitnil,omitempty" name:"Items"`

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

type ListOrgServiceAssignMemberResponse struct {
	*tchttp.BaseResponse
	Response *ListOrgServiceAssignMemberResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListOrganizationIdentityRequestParams struct {
	// Offset.  It must be an integer multiple of the value of `Limit`.  Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The limit for the number of query results.  Value range:  1-50.  Default value:  `10`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Identity ID, which can be searched by identity ID.
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity type.  Valid values: `1` (Preset), `2` (Custom).
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`
}

type ListOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Offset.  It must be an integer multiple of the value of `Limit`.  Default value: `0`.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// The limit for the number of query results.  Value range:  1-50.  Default value:  `10`.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`

	// Identity ID, which can be searched by identity ID.
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity type.  Valid values: `1` (Preset), `2` (Custom).
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`
}

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

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

// Predefined struct for user
type ListOrganizationIdentityResponseParams struct {
	// Total quantity.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Item details.
	Items []*OrgIdentity `json:"Items,omitnil,omitempty" name:"Items"`

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

type ListOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *ListOrganizationIdentityResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListOrganizationServiceRequestParams struct {
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Keyword for search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

type ListOrganizationServiceRequest struct {
	*tchttp.BaseRequest
	
	// Offset. Its value must be an integer multiple of the limit. Default value: 0.
	Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`

	// Limit. Value range: 1-50. Default value: 10.
	Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`

	// Keyword for search by name.
	SearchKey *string `json:"SearchKey,omitnil,omitempty" name:"SearchKey"`
}

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

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

// Predefined struct for user
type ListOrganizationServiceResponseParams struct {
	// Total quantity.
	Total *int64 `json:"Total,omitnil,omitempty" name:"Total"`

	// Group service list.
	Items []*OrganizationServiceAssign `json:"Items,omitnil,omitempty" name:"Items"`

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

type ListOrganizationServiceResponse struct {
	*tchttp.BaseResponse
	Response *ListOrganizationServiceResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListPermissionPoliciesInRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Search by policy name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListPermissionPoliciesInRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Search by policy name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

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

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

// Predefined struct for user
type ListPermissionPoliciesInRoleConfigurationResponseParams struct {
	// Total number of permission policies.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Permission policy list.
	RolePolicies []*RolePolicie `json:"RolePolicies,omitnil,omitempty" name:"RolePolicies"`

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

type ListPermissionPoliciesInRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *ListPermissionPoliciesInRoleConfigurationResponseParams `json:"Response"`
}

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

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

type ListPoliciesForTarget struct {
	// Policy ID
	StrategyId *uint64 `json:"StrategyId,omitnil,omitempty" name:"StrategyId"`

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

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

	// Associated account or node.
	Uin *uint64 `json:"Uin,omitnil,omitempty" name:"Uin"`

	// Association type. 1: node association; 2: user association.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`

	// Policy creation time.
	AddTime *string `json:"AddTime,omitnil,omitempty" name:"AddTime"`

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

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

	// Policy binding time.
	AttachTime *string `json:"AttachTime,omitnil,omitempty" name:"AttachTime"`
}

// Predefined struct for user
type ListPoliciesForTargetRequestParams struct {
	// Account UIN or node ID.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// Items per page, which should be greater than 0 and less than or equal to 200. The default value is 20.
	Rp *uint64 `json:"Rp,omitnil,omitempty" name:"Rp"`

	// Page number, which starts from 1 and cannot exceed 200. The default value is 1.
	Page *uint64 `json:"Page,omitnil,omitempty" name:"Page"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Search keywords. Searches can be performed by policy name.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`
}

type ListPoliciesForTargetRequest struct {
	*tchttp.BaseRequest
	
	// Account UIN or node ID.
	TargetId *uint64 `json:"TargetId,omitnil,omitempty" name:"TargetId"`

	// Items per page, which should be greater than 0 and less than or equal to 200. The default value is 20.
	Rp *uint64 `json:"Rp,omitnil,omitempty" name:"Rp"`

	// Page number, which starts from 1 and cannot exceed 200. The default value is 1.
	Page *uint64 `json:"Page,omitnil,omitempty" name:"Page"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Search keywords. Searches can be performed by policy name.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`
}

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

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

// Predefined struct for user
type ListPoliciesForTargetResponseParams struct {
	// Total quantity.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// List of policies associated with a target.
	List []*ListPoliciesForTarget `json:"List,omitnil,omitempty" name:"List"`

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

type ListPoliciesForTargetResponse struct {
	*tchttp.BaseResponse
	Response *ListPoliciesForTargetResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListPoliciesRequestParams struct {
	// Items per page, which should be greater than 0 and less than or equal to 200. The default value is 20.
	Rp *uint64 `json:"Rp,omitnil,omitempty" name:"Rp"`

	// Page number, which starts from 1 and cannot exceed 200. The default value is 1.
	Page *uint64 `json:"Page,omitnil,omitempty" name:"Page"`

	// Query range. Valid values: All: all policies; QCS; only preset policies; Local: only custom policies. The default value is All.
	Scope *string `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Search keyword. Searches can be performed by policy name.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

type ListPoliciesRequest struct {
	*tchttp.BaseRequest
	
	// Items per page, which should be greater than 0 and less than or equal to 200. The default value is 20.
	Rp *uint64 `json:"Rp,omitnil,omitempty" name:"Rp"`

	// Page number, which starts from 1 and cannot exceed 200. The default value is 1.
	Page *uint64 `json:"Page,omitnil,omitempty" name:"Page"`

	// Query range. Valid values: All: all policies; QCS; only preset policies; Local: only custom policies. The default value is All.
	Scope *string `json:"Scope,omitnil,omitempty" name:"Scope"`

	// Search keyword. Searches can be performed by policy name.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`
}

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

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

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

	// Policy list data.
	List []*ListPolicyNode `json:"List,omitnil,omitempty" name:"List"`

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

type ListPoliciesResponse struct {
	*tchttp.BaseResponse
	Response *ListPoliciesResponseParams `json:"Response"`
}

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

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

type ListPolicyNode struct {
	// Policy creation time.
	AddTime *string `json:"AddTime,omitnil,omitempty" name:"AddTime"`

	// Policy binding count.
	AttachedTimes *uint64 `json:"AttachedTimes,omitnil,omitempty" name:"AttachedTimes"`

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

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

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

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

	// Policy type. 1: custom; 2: preset.
	Type *uint64 `json:"Type,omitnil,omitempty" name:"Type"`
}

// Predefined struct for user
type ListRoleAssignmentsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Query condition, which currently only supports search by permission configuration name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListRoleAssignmentsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Query condition, which currently only supports search by permission configuration name.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

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

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

// Predefined struct for user
type ListRoleAssignmentsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Authorization list of the target account of the Tencent Cloud Organization.
	RoleAssignments []*RoleAssignments `json:"RoleAssignments,omitnil,omitempty" name:"RoleAssignments"`

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

type ListRoleAssignmentsResponse struct {
	*tchttp.BaseResponse
	Response *ListRoleAssignmentsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListRoleConfigurationProvisioningsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Deployed: Deployment succeeded; DeployedRequired: Redeployment required; DeployFailed: Deployment failed.
	DeploymentStatus *string `json:"DeploymentStatus,omitnil,omitempty" name:"DeploymentStatus"`

	// Search by configuration name is supported.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListRoleConfigurationProvisioningsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Deployed: Deployment succeeded; DeployedRequired: Redeployment required; DeployFailed: Deployment failed.
	DeploymentStatus *string `json:"DeploymentStatus,omitnil,omitempty" name:"DeploymentStatus"`

	// Search by configuration name is supported.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

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

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

// Predefined struct for user
type ListRoleConfigurationProvisioningsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Department member account list.
	RoleConfigurationProvisionings []*RoleConfigurationProvisionings `json:"RoleConfigurationProvisionings,omitnil,omitempty" name:"RoleConfigurationProvisionings"`

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

type ListRoleConfigurationProvisioningsResponse struct {
	*tchttp.BaseResponse
	Response *ListRoleConfigurationProvisioningsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListRoleConfigurationsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Text for filtering, which is case insensitive. Currently, values of RoleConfigurationName and Description are supported. For example, if Filter is set to test, permission configurations whose name or description contains test are queried.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false.
	FilterTargets []*int64 `json:"FilterTargets,omitnil,omitempty" name:"FilterTargets"`

	// UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets.
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`
}

type ListRoleConfigurationsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Text for filtering, which is case insensitive. Currently, values of RoleConfigurationName and Description are supported. For example, if Filter is set to test, permission configurations whose name or description contains test are queried.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Check whether the member account has been configured with permissions. If configured, return IsSelected: true; otherwise, return false.
	FilterTargets []*int64 `json:"FilterTargets,omitnil,omitempty" name:"FilterTargets"`

	// UserId of the authorized user or GroupId of the authorized user group, which must be set together with the input parameter FilterTargets.
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`
}

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

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

// Predefined struct for user
type ListRoleConfigurationsResponseParams struct {
	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Permission configuration list.
	RoleConfigurations []*RoleConfiguration `json:"RoleConfigurations,omitnil,omitempty" name:"RoleConfigurations"`

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

type ListRoleConfigurationsResponse struct {
	*tchttp.BaseResponse
	Response *ListRoleConfigurationsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListSCIMCredentialsRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

type ListSCIMCredentialsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`
}

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

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

// Predefined struct for user
type ListSCIMCredentialsResponseParams struct {
	// Number of SCIM keys.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// SCIM key information.
	SCIMCredentials []*SCIMCredential `json:"SCIMCredentials,omitnil,omitempty" name:"SCIMCredentials"`

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

type ListSCIMCredentialsResponse struct {
	*tchttp.BaseResponse
	Response *ListSCIMCredentialsResponseParams `json:"Response"`
}

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

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

type ListTargetsForPolicyNode struct {
	// SCP account UIN or node ID.
	Uin *uint64 `json:"Uin,omitnil,omitempty" name:"Uin"`

	// Association type. 1: node association; 2: user association.
	RelatedType *uint64 `json:"RelatedType,omitnil,omitempty" name:"RelatedType"`

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

	// Binding time.
	AddTime *string `json:"AddTime,omitnil,omitempty" name:"AddTime"`
}

// Predefined struct for user
type ListTargetsForPolicyRequestParams struct {
	// Policy ID.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Items per page, which should be greater than 0 and less than or equal to 200. The default value is 20.
	Rp *uint64 `json:"Rp,omitnil,omitempty" name:"Rp"`

	// Page number, which starts from 1 and cannot exceed 200. The default value is 1.
	Page *uint64 `json:"Page,omitnil,omitempty" name:"Page"`

	// Policy type. Valid values: All, User, and Node.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Search by multiple policy IDs, separated by spaces.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`
}

type ListTargetsForPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Items per page, which should be greater than 0 and less than or equal to 200. The default value is 20.
	Rp *uint64 `json:"Rp,omitnil,omitempty" name:"Rp"`

	// Page number, which starts from 1 and cannot exceed 200. The default value is 1.
	Page *uint64 `json:"Page,omitnil,omitempty" name:"Page"`

	// Policy type. Valid values: All, User, and Node.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// Search by multiple policy IDs, separated by spaces.
	Keyword *string `json:"Keyword,omitnil,omitempty" name:"Keyword"`
}

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

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

// Predefined struct for user
type ListTargetsForPolicyResponseParams struct {
	// Total quantity.
	TotalNum *uint64 `json:"TotalNum,omitnil,omitempty" name:"TotalNum"`

	// Specifies the list of targets associated with the SCP policy.
	List []*ListTargetsForPolicyNode `json:"List,omitnil,omitempty" name:"List"`

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

type ListTargetsForPolicyResponse struct {
	*tchttp.BaseResponse
	Response *ListTargetsForPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListTasksRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Task type.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`
}

type ListTasksRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-****). When PrincipalType is User, it is a user ID (u-****).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Task type.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`
}

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

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

// Predefined struct for user
type ListTasksResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// Task details.
	Tasks []*TaskInfo `json:"Tasks,omitnil,omitempty" name:"Tasks"`

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

type ListTasksResponse struct {
	*tchttp.BaseResponse
	Response *ListTasksResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListUserSyncProvisioningsRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Detection condition.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

type ListUserSyncProvisioningsRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID. Valid values: When PrincipalType is Group, it is a user group ID (g-********). When PrincipalType is User, it is a user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Identity types synchronized for CAM users. Valid values: User: indicates the synchronized identity is a user. Group: indicates the synchronized identity is a user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Detection condition.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`
}

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

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

// Predefined struct for user
type ListUserSyncProvisioningsResponseParams struct {
	// Token for querying the next page of returned results. Note: This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

	// User list of the CAM synchronization.
	UserProvisionings []*UserProvisioning `json:"UserProvisionings,omitnil,omitempty" name:"UserProvisionings"`

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

type ListUserSyncProvisioningsResponse struct {
	*tchttp.BaseResponse
	Response *ListUserSyncProvisioningsResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type ListUsersRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User status: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Filter criterion, which currently only supports username, email address, userId, and description.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group.
	FilterGroups []*string `json:"FilterGroups,omitnil,omitempty" name:"FilterGroups"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting order. Desc: descending order; Asc: ascending order. It should be set together with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

type ListUsersRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User status: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

	// Filter criterion, which currently only supports username, email address, userId, and description.
	Filter *string `json:"Filter,omitnil,omitempty" name:"Filter"`

	// Maximum number of data entries per page. Value range: 1-100. Default value: 10.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// Token for querying the next page of returned results. During use of the API for the first time, NextToken is not needed. When you call the API for the first time, if the total number of returned data entries exceeds the MaxResults limit, the data is truncated and only MaxResults data entries are returned. Meanwhile, the return parameter IsTruncated is true and a NextToken is returned. You can use the NextToken returned last time to continue calling the API with other request parameters unchanged, to query the truncated data. You can use this method for multiple queries until IsTruncated is false, indicating that all data has been queried.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Filtered user group. IsSelected=1 will be returned for the sub-user associated with this user group.
	FilterGroups []*string `json:"FilterGroups,omitnil,omitempty" name:"FilterGroups"`

	// Sorting field, which currently only supports CreateTime. The default is the CreateTime field.
	SortField *string `json:"SortField,omitnil,omitempty" name:"SortField"`

	// Sorting order. Desc: descending order; Asc: ascending order. It should be set together with SortField.
	SortType *string `json:"SortType,omitnil,omitempty" name:"SortType"`

	// Pagination offset. Do not use it together with NextToken, prioritizing using NextToken.
	Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}

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

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

// Predefined struct for user
type ListUsersResponseParams struct {
	// Total number of data entries that meet the request parameter conditions.
	TotalCounts *int64 `json:"TotalCounts,omitnil,omitempty" name:"TotalCounts"`

	// Maximum number of data entries per page.
	MaxResults *int64 `json:"MaxResults,omitnil,omitempty" name:"MaxResults"`

	// User list.
	Users []*UserInfo `json:"Users,omitnil,omitempty" name:"Users"`

	// Token for querying the next page of returned results. This parameter is displayed only when IsTruncated is true.
	NextToken *string `json:"NextToken,omitnil,omitempty" name:"NextToken"`

	// Whether the returned result is truncated. Valid values: true: truncated; false: not truncated.
	IsTruncated *bool `json:"IsTruncated,omitnil,omitempty" name:"IsTruncated"`

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

type ListUsersResponse struct {
	*tchttp.BaseResponse
	Response *ListUsersResponseParams `json:"Response"`
}

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

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

type ManagerShareUnit struct {
	// <p>Shared unit ID.</p>.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// <P>Shared unit name.</p>.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// <p>Shared unit administrator Uin.</p>.
	Uin *int64 `json:"Uin,omitnil,omitempty" name:"Uin"`

	// <p>Shared unit administrator OwnerUin.</p>.
	OwnerUin *int64 `json:"OwnerUin,omitnil,omitempty" name:"OwnerUin"`

	// <P>Shared unit region.</p>.
	Area *string `json:"Area,omitnil,omitempty" name:"Area"`

	// <P>Description.</P>.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// <P>Creation time.</p>.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// <P>The number of resources in a shared unit.</p>.
	ShareResourceNum *int64 `json:"ShareResourceNum,omitnil,omitempty" name:"ShareResourceNum"`

	// <P>The number of members in a shared unit.</p>.
	ShareMemberNum *int64 `json:"ShareMemberNum,omitnil,omitempty" name:"ShareMemberNum"`

	// <P>Sharing scope. valid values: 1: only sharing within a group organization is allowed; 2: sharing with any account is allowed.</p>.
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`

	// <P>The number of departments in a shared unit.</p>.
	ShareNodeNum *int64 `json:"ShareNodeNum,omitnil,omitempty" name:"ShareNodeNum"`
}

type MemberIdentity struct {
	// Identity ID.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity name.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`
}

type MemberMainInfo struct {
	// Member UIN
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name.
	MemberName *string `json:"MemberName,omitnil,omitempty" name:"MemberName"`
}

// Predefined struct for user
type MoveOrganizationNodeMembersRequestParams struct {
	// Organization node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Uin list of the members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

type MoveOrganizationNodeMembersRequest struct {
	*tchttp.BaseRequest
	
	// Organization node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Uin list of the members.
	MemberUin []*int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`
}

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

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

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

type MoveOrganizationNodeMembersResponse struct {
	*tchttp.BaseResponse
	Response *MoveOrganizationNodeMembersResponseParams `json:"Response"`
}

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

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

type NodeMainInfo struct {
	// Department ID
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

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

// Predefined struct for user
type OpenIdentityCenterRequestParams struct {
	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}

type OpenIdentityCenterRequest struct {
	*tchttp.BaseRequest
	
	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	ZoneName *string `json:"ZoneName,omitnil,omitempty" name:"ZoneName"`
}

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

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

// Predefined struct for user
type OpenIdentityCenterResponseParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

type OpenIdentityCenterResponse struct {
	*tchttp.BaseResponse
	Response *OpenIdentityCenterResponseParams `json:"Response"`
}

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

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

type OrgIdentity struct {
	// Identity ID.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity name.
	IdentityAliasName *string `json:"IdentityAliasName,omitnil,omitempty" name:"IdentityAliasName"`

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

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`

	// Identity type. 1: preset; 2: custom.
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`

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

type OrgMember struct {
	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

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

	// Member type. Invite: invited, Create: created.
	MemberType *string `json:"MemberType,omitnil,omitempty" name:"MemberType"`

	// Relationship policy type.
	OrgPolicyType *string `json:"OrgPolicyType,omitnil,omitempty" name:"OrgPolicyType"`

	// Relational policy name.
	OrgPolicyName *string `json:"OrgPolicyName,omitnil,omitempty" name:"OrgPolicyName"`

	// Relationship policy permission.
	OrgPermission []*OrgPermission `json:"OrgPermission,omitnil,omitempty" name:"OrgPermission"`

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

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

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

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

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

	// Whether to allow a member to exit. Valid values: Allow, Denied.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Proxy payer UIN.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Proxy payer name.
	PayName *string `json:"PayName,omitnil,omitempty" name:"PayName"`

	// Admin identity.
	OrgIdentity []*MemberIdentity `json:"OrgIdentity,omitnil,omitempty" name:"OrgIdentity"`

	// Security information binding status  Unbound: Unbound, to be activated: Valid, binding succeeded: Success, binding Failed: Failed.
	BindStatus *string `json:"BindStatus,omitnil,omitempty" name:"BindStatus"`

	// Member's permission status. Valid values: Confirmed, UnConfirmed.
	PermissionStatus *string `json:"PermissionStatus,omitnil,omitempty" name:"PermissionStatus"`

	// Member tag list.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`

	// Tencent cloud nickname.
	NickName *string `json:"NickName,omitnil,omitempty" name:"NickName"`
}

type OrgMemberAuthAccount struct {
	// Organization sub-account Uin.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`

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

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

	// Identity ID.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity role name.
	IdentityRoleName *string `json:"IdentityRoleName,omitnil,omitempty" name:"IdentityRoleName"`

	// Role alias of an identity.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

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

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

	// Sub-Account.
	OrgSubAccountName *string `json:"OrgSubAccountName,omitnil,omitempty" name:"OrgSubAccountName"`
}

type OrgMemberAuthIdentity struct {
	// Identity ID.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Role name of an identity.
	IdentityRoleName *string `json:"IdentityRoleName,omitnil,omitempty" name:"IdentityRoleName"`

	// Role alias of an identity.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

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

	// Time of initial configuration success.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Time of the last successful configuration.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Identity type. Valid values: 1: preset identity; 2: custom identity.
	IdentityType *uint64 `json:"IdentityType,omitnil,omitempty" name:"IdentityType"`

	// Configuration status. Valid values: 1: configuration completed; 2: reconfiguration required.
	Status *uint64 `json:"Status,omitnil,omitempty" name:"Status"`

	// Member UIN.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name.
	MemberName *string `json:"MemberName,omitnil,omitempty" name:"MemberName"`
}

type OrgMemberPolicy struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

	// Identity ID.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Identity role name.
	IdentityRoleName *string `json:"IdentityRoleName,omitnil,omitempty" name:"IdentityRoleName"`

	// Role alias of an identity.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

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

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

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

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

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

	// Role alias of an identity.
	// Note: This field may return null, indicating that no valid values can be obtained.
	IdentityRoleAliasName *string `json:"IdentityRoleAliasName,omitnil,omitempty" name:"IdentityRoleAliasName"`

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

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

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

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

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

	// Sub-account UIN or user group ID.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgSubAccountUin *int64 `json:"OrgSubAccountUin,omitnil,omitempty" name:"OrgSubAccountUin"`

	// Sub-account name or user group name.
	// Note: This field may return null, indicating that no valid values can be obtained.
	OrgSubAccountName *string `json:"OrgSubAccountName,omitnil,omitempty" name:"OrgSubAccountName"`

	// Binding type. 1: sub-account; 2: user group.
	// Note: This field may return null, indicating that no valid values can be obtained.
	BindType *uint64 `json:"BindType,omitnil,omitempty" name:"BindType"`

	// Member information.
	// Note: This field may return null, indicating that no valid values can be obtained.
	Members []*MemberMainInfo `json:"Members,omitnil,omitempty" name:"Members"`
}

type OrgNode struct {
	// Organization node ID.
	NodeId *int64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

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

	// Parent Node ID
	ParentNodeId *int64 `json:"ParentNodeId,omitnil,omitempty" name:"ParentNodeId"`

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

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

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

	// Member tag list.
	Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}

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

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

type OrganizationServiceAssign struct {
	// Organization service ID.
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Organization service product name.
	ProductName *string `json:"ProductName,omitnil,omitempty" name:"ProductName"`

	// Specifies whether delegation is supported. Valid values: 1: yes; 2: no.
	IsAssign *uint64 `json:"IsAssign,omitnil,omitempty" name:"IsAssign"`

	// Organization service description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Number of delegated administrators.
	MemberNum *string `json:"MemberNum,omitnil,omitempty" name:"MemberNum"`

	// Help documentation.
	Document *string `json:"Document,omitnil,omitempty" name:"Document"`

	// Path to the console for organization service products.
	ConsoleUrl *string `json:"ConsoleUrl,omitnil,omitempty" name:"ConsoleUrl"`

	// Whether to access the usage status. valid values: 1 (yes). 
	// 2: no.
	IsUsageStatus *uint64 `json:"IsUsageStatus,omitnil,omitempty" name:"IsUsageStatus"`

	// Limit on the number of delegated administrators.
	CanAssignCount *uint64 `json:"CanAssignCount,omitnil,omitempty" name:"CanAssignCount"`

	// Organization service product ID.
	Product *string `json:"Product,omitnil,omitempty" name:"Product"`

	// Specifies whether organization service authorization is supported. Valid values: 1: yes; 2: no.
	ServiceGrant *uint64 `json:"ServiceGrant,omitnil,omitempty" name:"ServiceGrant"`

	// Specifies whether organization services are authorized. This field is valid when the value of ServiceGrant is 1. Valid values: Enabled: authorized; Disabled: not authorized. 
	GrantStatus *string `json:"GrantStatus,omitnil,omitempty" name:"GrantStatus"`

	// Specifies whether the scope of delegated management can be set. Valid values: 1: yes; 2 no.
	IsSetManagementScope *uint64 `json:"IsSetManagementScope,omitnil,omitempty" name:"IsSetManagementScope"`
}

type OrganizationServiceAssignMember struct {
	// Organization service ID.
	ServiceId *uint64 `json:"ServiceId,omitnil,omitempty" name:"ServiceId"`

	// Organization service product name.
	ProductName *string `json:"ProductName,omitnil,omitempty" name:"ProductName"`

	// Uin of the delegated admin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Delegated administrator name.
	MemberName *string `json:"MemberName,omitnil,omitempty" name:"MemberName"`

	// Activation status. Valid values: 0: not applicable to the service; 1: activated; 2: not activated.
	UsageStatus *uint64 `json:"UsageStatus,omitnil,omitempty" name:"UsageStatus"`

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

	// Management scope of the delegated administrator. Valid values: 1: all members; 2 some members.
	ManagementScope *uint64 `json:"ManagementScope,omitnil,omitempty" name:"ManagementScope"`

	// UIN list of the managed members. This parameter is valid when the value of ManagementScope is 2.
	ManagementScopeMembers []*MemberMainInfo `json:"ManagementScopeMembers,omitnil,omitempty" name:"ManagementScopeMembers"`

	// ID list of the departments under management. This parameter is valid when the value of ManagementScope is 2.
	ManagementScopeNodes []*NodeMainInfo `json:"ManagementScopeNodes,omitnil,omitempty" name:"ManagementScopeNodes"`
}

type PolicyDetail struct {
	// Policy ID.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

type ProductResource struct {
	// Product resource ID.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`

	// The last section of the six-segment resource description.
	//
	// Deprecated: ResourceGrantLast is deprecated.
	ResourceGrantLast *string `json:"ResourceGrantLast,omitnil,omitempty" name:"ResourceGrantLast"`
}

// Predefined struct for user
type ProvisionRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

type ProvisionRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`
}

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

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

// Predefined struct for user
type ProvisionRoleConfigurationResponseParams struct {
	// Task details.
	Task *RoleProvisioningsTask `json:"Task,omitnil,omitempty" name:"Task"`

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

type ProvisionRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *ProvisionRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type QuitOrganizationRequestParams struct {
	// Organization ID.
	OrgId *uint64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`
}

type QuitOrganizationRequest struct {
	*tchttp.BaseRequest
	
	// Organization ID.
	OrgId *uint64 `json:"OrgId,omitnil,omitempty" name:"OrgId"`
}

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

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

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

type QuitOrganizationResponse struct {
	*tchttp.BaseResponse
	Response *QuitOrganizationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type RejectJoinShareUnitInvitationRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

type RejectJoinShareUnitInvitationRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`
}

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

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

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

type RejectJoinShareUnitInvitationResponse struct {
	*tchttp.BaseResponse
	Response *RejectJoinShareUnitInvitationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type RemoveExternalSAMLIdPCertificateRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`
}

type RemoveExternalSAMLIdPCertificateRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// X509 certificate in PEM format, provided by the SAML identity provider.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`
}

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

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

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

type RemoveExternalSAMLIdPCertificateResponse struct {
	*tchttp.BaseResponse
	Response *RemoveExternalSAMLIdPCertificateResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type RemovePermissionPolicyFromRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, which contains up to 32 characters.
	RolePolicyName *string `json:"RolePolicyName,omitnil,omitempty" name:"RolePolicyName"`

	// Policy ID.
	RolePolicyId *int64 `json:"RolePolicyId,omitnil,omitempty" name:"RolePolicyId"`
}

type RemovePermissionPolicyFromRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy type. Valid values: System: system policy, namely the CAM system policy reused; Custom: custom policy, namely the custom policy prepared according to the CAM permission policy syntax and structure.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Permission policy name, which contains up to 32 characters.
	RolePolicyName *string `json:"RolePolicyName,omitnil,omitempty" name:"RolePolicyName"`

	// Policy ID.
	RolePolicyId *int64 `json:"RolePolicyId,omitnil,omitempty" name:"RolePolicyId"`
}

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

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

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

type RemovePermissionPolicyFromRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *RemovePermissionPolicyFromRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type RemoveUserFromGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

type RemoveUserFromGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// User ID.
	UserId *string `json:"UserId,omitnil,omitempty" name:"UserId"`
}

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

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

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

type RemoveUserFromGroupResponse struct {
	*tchttp.BaseResponse
	Response *RemoveUserFromGroupResponseParams `json:"Response"`
}

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

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

type ResourceTagMapping struct {
	// Six-Segment resource format. tencent cloud uses the six-segment resource format to describe a resource.
	// For example: qcs::${ServiceType}:${Region}:${Account}:${ResourcePreifx}/${ResourceId}.
	Resource *string `json:"Resource,omitnil,omitempty" name:"Resource"`

	// Compliance details.
	ComplianceDetails *TagComplianceDetails `json:"ComplianceDetails,omitnil,omitempty" name:"ComplianceDetails"`

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

type RoleAssignmentInfo struct {
	// Identity ID for the CAM user synchronization. Valid values:
	// When the PrincipalType value is Group, it is the CIC user group ID (g-********).
	// When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values:
	// 
	// User: indicates that the identity for the CAM user synchronization is a CIC user.
	// Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`
}

type RoleAssignments struct {
	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Identity ID for the CAM user synchronization. Valid values: When the PrincipalType value is Group, it is the CIC user group ID (g-********). When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values: User: indicates that the identity for the CAM user synchronization is a CIC user; Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User name or user group name.
	PrincipalName *string `json:"PrincipalName,omitnil,omitempty" name:"PrincipalName"`

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

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

	// Name of the target account of the Tencent Cloud Organization.
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`
}

type RoleConfiguration struct {
	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// Permission configuration description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Session duration. It indicates the maximum session duration when CIC users use the access configuration to access member accounts.
	// Unit: seconds.
	SessionDuration *int64 `json:"SessionDuration,omitnil,omitempty" name:"SessionDuration"`

	// Initial access page. It indicates the initial access page URL when CIC users use the access configuration to access member accounts.
	RelayState *string `json:"RelayState,omitnil,omitempty" name:"RelayState"`

	// Creation time of the permission configuration.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Update time of the permission configuration.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// If the input parameter FilterTargets is provided, check whether the member account has been configured with permissions. If configured, return true; otherwise, return false.
	IsSelected *bool `json:"IsSelected,omitnil,omitempty" name:"IsSelected"`
}

type RoleConfigurationProvisionings struct {
	// Deployed: Deployment succeeded; DeployedRequired: Redeployment required; DeployFailed: Deployment failed.
	DeploymentStatus *string `json:"DeploymentStatus,omitnil,omitempty" name:"DeploymentStatus"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Name of the target account of the Tencent Cloud Organization.
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`

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

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

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`
}

type RolePolicie struct {
	// Policy ID.
	RolePolicyId *int64 `json:"RolePolicyId,omitnil,omitempty" name:"RolePolicyId"`

	// Permission policy name.
	RolePolicyName *string `json:"RolePolicyName,omitnil,omitempty" name:"RolePolicyName"`

	// Permission policy type.
	RolePolicyType *string `json:"RolePolicyType,omitnil,omitempty" name:"RolePolicyType"`

	// Custom policy content. This parameter is only returned for custom policies.
	RolePolicyDocument *string `json:"RolePolicyDocument,omitnil,omitempty" name:"RolePolicyDocument"`

	// The time when the permission policy is added to the permission configuration.
	AddTime *string `json:"AddTime,omitnil,omitempty" name:"AddTime"`
}

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

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the authorized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

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

	// Task status. InProgress: The task is in progress; Failed: The task failed; Success: The task succeeded.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`
}

type SAMLIdPCertificate struct {
	// Certificate serial number.
	SerialNumber *string `json:"SerialNumber,omitnil,omitempty" name:"SerialNumber"`

	// Certificate issuer.
	Issuer *string `json:"Issuer,omitnil,omitempty" name:"Issuer"`

	// Certificate version.
	Version *int64 `json:"Version,omitnil,omitempty" name:"Version"`

	// Certificate ID.
	CertificateId *string `json:"CertificateId,omitnil,omitempty" name:"CertificateId"`

	// Public key certificate in PEM format (Base64 encoded).
	PublicKey *string `json:"PublicKey,omitnil,omitempty" name:"PublicKey"`

	// Signature algorithm of the certificate.
	SignatureAlgorithm *string `json:"SignatureAlgorithm,omitnil,omitempty" name:"SignatureAlgorithm"`

	// Expiration time of the certificate.
	NotAfter *string `json:"NotAfter,omitnil,omitempty" name:"NotAfter"`

	// Creation time of the certificate.
	NotBefore *string `json:"NotBefore,omitnil,omitempty" name:"NotBefore"`

	// Certificate subject.
	Subject *string `json:"Subject,omitnil,omitempty" name:"Subject"`

	// X509 certificate in PEM format.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

type SAMLIdentityProviderConfiguration struct {
	// IdP identifier.
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// SSO enabling status. Valid values: Enabled, Disabled (default).
	SSOStatus *string `json:"SSOStatus,omitnil,omitempty" name:"SSOStatus"`

	// IdP metadata document (Base64 encoded).
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// X509 certificate ID.
	CertificateIds []*string `json:"CertificateIds,omitnil,omitempty" name:"CertificateIds"`

	// IdP login URL.
	LoginUrl *string `json:"LoginUrl,omitnil,omitempty" name:"LoginUrl"`

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

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

type SAMLServiceProvider struct {
	// https://tencentcloudsso.com/saml/sp/z-sjw8ensa**
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SP metadata document (Base64 encoded).
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// SP ACS URL.
	AcsUrl *string `json:"AcsUrl,omitnil,omitempty" name:"AcsUrl"`
}

type SCIMCredential struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key type.
	CredentialType *string `json:"CredentialType,omitnil,omitempty" name:"CredentialType"`

	// Creation time of a SCIM key.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Expiration time of a SCIM key.
	ExpireTime *string `json:"ExpireTime,omitnil,omitempty" name:"ExpireTime"`
}

// Predefined struct for user
type SendOrgMemberAccountBindEmailRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`
}

type SendOrgMemberAccountBindEmailRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`
}

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

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

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

type SendOrgMemberAccountBindEmailResponse struct {
	*tchttp.BaseResponse
	Response *SendOrgMemberAccountBindEmailResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type SetExternalSAMLIdentityProviderRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// SSO enabling status. Valid values: Enabled, Disabled (default).
	SSOStatus *string `json:"SSOStatus,omitnil,omitempty" name:"SSOStatus"`

	// IdP identifier.
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// IdP login URL.
	LoginUrl *string `json:"LoginUrl,omitnil,omitempty" name:"LoginUrl"`

	// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

type SetExternalSAMLIdentityProviderRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// IdP metadata document (Base64 encoded). Provided by an IdP that supports the SAML 2.0 protocol.
	EncodedMetadataDocument *string `json:"EncodedMetadataDocument,omitnil,omitempty" name:"EncodedMetadataDocument"`

	// SSO enabling status. Valid values: Enabled, Disabled (default).
	SSOStatus *string `json:"SSOStatus,omitnil,omitempty" name:"SSOStatus"`

	// IdP identifier.
	EntityId *string `json:"EntityId,omitnil,omitempty" name:"EntityId"`

	// IdP login URL.
	LoginUrl *string `json:"LoginUrl,omitnil,omitempty" name:"LoginUrl"`

	// X509 certificate in PEM format. If this parameter is specified, all existing certificates will be replaced.
	X509Certificate *string `json:"X509Certificate,omitnil,omitempty" name:"X509Certificate"`
}

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

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

// Predefined struct for user
type SetExternalSAMLIdentityProviderResponseParams struct {
	// Certificate ID.
	CertificateIds []*string `json:"CertificateIds,omitnil,omitempty" name:"CertificateIds"`

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

type SetExternalSAMLIdentityProviderResponse struct {
	*tchttp.BaseResponse
	Response *SetExternalSAMLIdentityProviderResponseParams `json:"Response"`
}

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

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

type ShareArea struct {
	// Region name.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

	// Region ID.
	AreaId *int64 `json:"AreaId,omitnil,omitempty" name:"AreaId"`
}

type ShareMember struct {
	// Shared member UIN.
	ShareMemberUin *int64 `json:"ShareMemberUin,omitnil,omitempty" name:"ShareMemberUin"`
}

type ShareResource struct {
	// Shared resource ID.
	//
	// Deprecated: ResourceId is deprecated.
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Product resource ID.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`
}

type ShareResourceToMember struct {
	// Shared unit resource ID.
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

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

	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit name.
	UnitName *string `json:"UnitName,omitnil,omitempty" name:"UnitName"`

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

	// Business resource ID.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`

	// Shared account Uin.
	ShareManagerUin *int64 `json:"ShareManagerUin,omitnil,omitempty" name:"ShareManagerUin"`
}

type ShareUnitMember struct {
	// Shared member UIN.
	ShareMemberUin *int64 `json:"ShareMemberUin,omitnil,omitempty" name:"ShareMemberUin"`

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

type ShareUnitNode struct {
	// <p>Shared department ID.</p>.
	ShareNodeId *int64 `json:"ShareNodeId,omitnil,omitempty" name:"ShareNodeId"`

	// <P>Creation time.</p>.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
}

type ShareUnitResource struct {
	// Shared resource ID.
	ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"`

	// Shared resource type.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`

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

	// Product resource ID.
	ProductResourceId *string `json:"ProductResourceId,omitnil,omitempty" name:"ProductResourceId"`

	// Number of members in a sharing unit.
	SharedMemberNum *uint64 `json:"SharedMemberNum,omitnil,omitempty" name:"SharedMemberNum"`

	// Number of members using shared resources.
	SharedMemberUseNum *uint64 `json:"SharedMemberUseNum,omitnil,omitempty" name:"SharedMemberUseNum"`

	// Sharing unit administrator.
	ShareManagerUin *int64 `json:"ShareManagerUin,omitnil,omitempty" name:"ShareManagerUin"`
}

type Tag struct {
	// Tag key
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`

	// Tag value
	TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"`
}

type TagComplianceDetails struct {
	// Compliance status. true: compliant; false: non-compliant.
	ComplianceStatus *bool `json:"ComplianceStatus,omitnil,omitempty" name:"ComplianceStatus"`

	// List of tag keys with invalid values.
	KeysWithNonCompliantValues []*string `json:"KeysWithNonCompliantValues,omitnil,omitempty" name:"KeysWithNonCompliantValues"`

	// List of invalid tag keys.
	NonCompliantKeys []*string `json:"NonCompliantKeys,omitnil,omitempty" name:"NonCompliantKeys"`
}

type Tags struct {
	// Tag key.
	TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"`

	// Tag value.
	TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"`
}

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

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission configuration name.
	RoleConfigurationName *string `json:"RoleConfigurationName,omitnil,omitempty" name:"RoleConfigurationName"`

	// UIN of the authorized target member account.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Identity ID for the user authorization. If the identity type is CIC user, it is the user ID; if the identity type is user group, it is the user group ID.
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the user authorization. User: CIC user; Group: CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

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

	// InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Reason for failure
	FailureReason *string `json:"FailureReason,omitnil,omitempty" name:"FailureReason"`
}

type TaskStatus struct {
	// Task status. Valid values: InProgress: The task is being executed; Success: The task execution succeeded; Failed: The task execution failed.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

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

	// Task type. Valid values:ProvisionRoleConfiguration: Deploy permission configurations.
	// DeprovisionRoleConfiguration: Undeploy permission configurations.CreateRoleAssignment: Grant authorizations on member accounts.
	// DeleteRoleAssignment: Remove authorizations on member accounts.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Cause of task failure.
	// Description.
	// This parameter is displayed only when the Status is Failed.
	FailureReason *string `json:"FailureReason,omitnil,omitempty" name:"FailureReason"`
}

// Predefined struct for user
type UpdateCustomPolicyForRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy name, which contains up to 32 characters.
	CustomPolicyName *string `json:"CustomPolicyName,omitnil,omitempty" name:"CustomPolicyName"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	NewCustomPolicyDocument *string `json:"NewCustomPolicyDocument,omitnil,omitempty" name:"NewCustomPolicyDocument"`
}

type UpdateCustomPolicyForRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// Permission policy name, which contains up to 32 characters.
	CustomPolicyName *string `json:"CustomPolicyName,omitnil,omitempty" name:"CustomPolicyName"`

	// Custom policy content, which contains up to 4096 characters. When RolePolicyType is Inline, this parameter must be configured. For details, see the permission policy syntax and structure.
	NewCustomPolicyDocument *string `json:"NewCustomPolicyDocument,omitnil,omitempty" name:"NewCustomPolicyDocument"`
}

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

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

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

type UpdateCustomPolicyForRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *UpdateCustomPolicyForRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateGroupRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// New user group name.
	NewGroupName *string `json:"NewGroupName,omitnil,omitempty" name:"NewGroupName"`

	// New user group description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`
}

type UpdateGroupRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User group ID.
	GroupId *string `json:"GroupId,omitnil,omitempty" name:"GroupId"`

	// New user group name.
	NewGroupName *string `json:"NewGroupName,omitnil,omitempty" name:"NewGroupName"`

	// New user group description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`
}

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

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

// Predefined struct for user
type UpdateGroupResponseParams struct {
	// User group information.
	GroupInfo *GroupInfo `json:"GroupInfo,omitnil,omitempty" name:"GroupInfo"`

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

type UpdateGroupResponse struct {
	*tchttp.BaseResponse
	Response *UpdateGroupResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateOrganizationIdentityRequestParams struct {
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

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

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`
}

type UpdateOrganizationIdentityRequest struct {
	*tchttp.BaseRequest
	
	// Identity ID, which can be obtained through [ListOrganizationIdentity](https://intl.cloud.tencent.com/document/product/850/82934?from_cn_redirect=1).
	IdentityId *uint64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

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

	// Identity policy.
	IdentityPolicy []*IdentityPolicy `json:"IdentityPolicy,omitnil,omitempty" name:"IdentityPolicy"`
}

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

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

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

type UpdateOrganizationIdentityResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationIdentityResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateOrganizationMemberEmailBindRequestParams struct {
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`

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

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

type UpdateOrganizationMemberEmailBindRequest struct {
	*tchttp.BaseRequest
	
	// Member uin.
	MemberUin *int64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Bound ID, which can be obtained through describeorganizationmemberemailbind (https://intl.cloud.tencent.com/document/product/850/93332?from_cn_redirect=1).
	BindId *int64 `json:"BindId,omitnil,omitempty" name:"BindId"`

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

	// International area code.
	CountryCode *string `json:"CountryCode,omitnil,omitempty" name:"CountryCode"`

	// Mobile number.
	Phone *string `json:"Phone,omitnil,omitempty" name:"Phone"`
}

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

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

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

type UpdateOrganizationMemberEmailBindResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationMemberEmailBindResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateOrganizationMemberRequestParams struct {
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks, which contain up to 40 characters.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Relationship policy type. When PolicyType is not empty, PermissionIds cannot be empty. Value: Financial.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// List of member financial permission ids. when PermissionIds is not empty, PolicyType cannot be empty.
	// Valid values: 1: view bills. 2: view balance. 3: allocate funds (contact your business manager to enable fund transfer permission internally). 4: consolidate bills. 5: issue invoices. 6: inherit discounts. 7: pay on behalf. 8: analyze costs. 9: budget management. 10: credit limit setting (contact your business manager to enable credit limit setting privilege internally). 1 and 2 are required by default.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Whether to allow members to exit an organization. Valid values: Allow: permitted, Denied: not permitted.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used in member financial permission. The value is the principal administrator UIN of the corresponding member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Whether to synchronize organization member names to account nicknames. valid values: 1-synchronize 0-not synchronized.
	IsModifyNickName *uint64 `json:"IsModifyNickName,omitnil,omitempty" name:"IsModifyNickName"`
}

type UpdateOrganizationMemberRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN.
	MemberUin *uint64 `json:"MemberUin,omitnil,omitempty" name:"MemberUin"`

	// Member name, which contains up to 25 characters, including English letters, digits, and symbols `+@&._[]-:,`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Remarks, which contain up to 40 characters.
	Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"`

	// Relationship policy type. When PolicyType is not empty, PermissionIds cannot be empty. Value: Financial.
	PolicyType *string `json:"PolicyType,omitnil,omitempty" name:"PolicyType"`

	// List of member financial permission ids. when PermissionIds is not empty, PolicyType cannot be empty.
	// Valid values: 1: view bills. 2: view balance. 3: allocate funds (contact your business manager to enable fund transfer permission internally). 4: consolidate bills. 5: issue invoices. 6: inherit discounts. 7: pay on behalf. 8: analyze costs. 9: budget management. 10: credit limit setting (contact your business manager to enable credit limit setting privilege internally). 1 and 2 are required by default.
	PermissionIds []*uint64 `json:"PermissionIds,omitnil,omitempty" name:"PermissionIds"`

	// Whether to allow members to exit an organization. Valid values: Allow: permitted, Denied: not permitted.
	IsAllowQuit *string `json:"IsAllowQuit,omitnil,omitempty" name:"IsAllowQuit"`

	// Payer UIN, which is required when pay-on-behalf mode is used in member financial permission. The value is the principal administrator UIN of the corresponding member.
	PayUin *string `json:"PayUin,omitnil,omitempty" name:"PayUin"`

	// Whether to synchronize organization member names to account nicknames. valid values: 1-synchronize 0-not synchronized.
	IsModifyNickName *uint64 `json:"IsModifyNickName,omitnil,omitempty" name:"IsModifyNickName"`
}

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

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

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

type UpdateOrganizationMemberResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationMemberResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateOrganizationMembersPolicyRequestParams struct {
	// Member UIN list, including up to 10 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Member access policy ID, which can be obtained by calling DescribeOrganizationMemberPolicies.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Member access identity ID, which can be obtained by calling ListOrganizationIdentity.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Policy description, which contains up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

type UpdateOrganizationMembersPolicyRequest struct {
	*tchttp.BaseRequest
	
	// Member UIN list, including up to 10 items.
	MemberUins []*int64 `json:"MemberUins,omitnil,omitempty" name:"MemberUins"`

	// Member access policy ID, which can be obtained by calling DescribeOrganizationMemberPolicies.
	PolicyId *uint64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

	// Member access identity ID, which can be obtained by calling ListOrganizationIdentity.
	IdentityId *int64 `json:"IdentityId,omitnil,omitempty" name:"IdentityId"`

	// Policy description, which contains up to 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`
}

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

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

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

type UpdateOrganizationMembersPolicyResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationMembersPolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateOrganizationNodeRequestParams struct {
	// Node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *uint64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

type UpdateOrganizationNodeRequest struct {
	*tchttp.BaseRequest
	
	// Node ID, which can be obtained through [DescribeOrganizationNodes](https://intl.cloud.tencent.com/document/product/850/82926?from_cn_redirect=1).
	NodeId *uint64 `json:"NodeId,omitnil,omitempty" name:"NodeId"`

	// Node name, which can contain up to 40 letters, digits, and symbols `+@&._[]-`.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

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

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

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

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

type UpdateOrganizationNodeResponse struct {
	*tchttp.BaseResponse
	Response *UpdateOrganizationNodeResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdatePolicyRequestParams struct {
	// Policy ID that needs to be edited. you can call the [ListPolicies](https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1) api to obtain it.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

	// Policy content. See the CAM policy syntax.
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Policy name. The name is between one and 128 characters in length and can contain letters, digits, and underscores (_).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

type UpdatePolicyRequest struct {
	*tchttp.BaseRequest
	
	// Policy ID that needs to be edited. you can call the [ListPolicies](https://www.tencentcloud.com/document/product/850/105311?from_cn_redirect=1) api to obtain it.
	PolicyId *int64 `json:"PolicyId,omitnil,omitempty" name:"PolicyId"`

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

	// Policy content. See the CAM policy syntax.
	Content *string `json:"Content,omitnil,omitempty" name:"Content"`

	// Policy name. The name is between one and 128 characters in length and can contain letters, digits, and underscores (_).
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Policy type. Valid values: SERVICE_CONTROL_POLICY: service control policy; TAG_POLICY: tag policy. The default value is SERVICE_CONTROL_POLICY.
	Type *string `json:"Type,omitnil,omitempty" name:"Type"`
}

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

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

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

type UpdatePolicyResponse struct {
	*tchttp.BaseResponse
	Response *UpdatePolicyResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateRoleConfigurationRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// New permission configuration description, which contains up to 1,024 characters.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// New session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours).
	NewSessionDuration *int64 `json:"NewSessionDuration,omitnil,omitempty" name:"NewSessionDuration"`

	// New initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page.
	NewRelayState *string `json:"NewRelayState,omitnil,omitempty" name:"NewRelayState"`
}

type UpdateRoleConfigurationRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Permission configuration ID.
	RoleConfigurationId *string `json:"RoleConfigurationId,omitnil,omitempty" name:"RoleConfigurationId"`

	// New permission configuration description, which contains up to 1,024 characters.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// New session duration, in seconds. It is the maximum time a CIC user can maintain a session while using permission configurations to access a target account in TCO. Value range: 900 to 43200 (15 minutes to 12 hours).
	NewSessionDuration *int64 `json:"NewSessionDuration,omitnil,omitempty" name:"NewSessionDuration"`

	// New initial access page. It is the initial page address when a CIC user uses permission configurations to access a target account in TCO. This page must be a Tencent Cloud console page.
	NewRelayState *string `json:"NewRelayState,omitnil,omitempty" name:"NewRelayState"`
}

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

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

// Predefined struct for user
type UpdateRoleConfigurationResponseParams struct {
	// Permission configuration details.
	RoleConfigurationInfo *RoleConfiguration `json:"RoleConfigurationInfo,omitnil,omitempty" name:"RoleConfigurationInfo"`

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

type UpdateRoleConfigurationResponse struct {
	*tchttp.BaseResponse
	Response *UpdateRoleConfigurationResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateSCIMCredentialStatusRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	NewStatus *string `json:"NewStatus,omitnil,omitempty" name:"NewStatus"`
}

type UpdateSCIMCredentialStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM key ID, which starts with the scimcred- prefix, followed by 12 random digits/lowercase letters.
	CredentialId *string `json:"CredentialId,omitnil,omitempty" name:"CredentialId"`

	// SCIM key status. Enabled: enabled. Disabled: disabled.
	NewStatus *string `json:"NewStatus,omitnil,omitempty" name:"NewStatus"`
}

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

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

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

type UpdateSCIMCredentialStatusResponse struct {
	*tchttp.BaseResponse
	Response *UpdateSCIMCredentialStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateSCIMSynchronizationStatusRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	SCIMSynchronizationStatus *string `json:"SCIMSynchronizationStatus,omitnil,omitempty" name:"SCIMSynchronizationStatus"`
}

type UpdateSCIMSynchronizationStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// SCIM synchronization status. Enabled: enabled. Disabled: disabled.
	SCIMSynchronizationStatus *string `json:"SCIMSynchronizationStatus,omitnil,omitempty" name:"SCIMSynchronizationStatus"`
}

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

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

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

type UpdateSCIMSynchronizationStatusResponse struct {
	*tchttp.BaseResponse
	Response *UpdateSCIMSynchronizationStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateShareUnitRequestParams struct {
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

type UpdateShareUnitRequest struct {
	*tchttp.BaseRequest
	
	// Shared unit ID.
	UnitId *string `json:"UnitId,omitnil,omitempty" name:"UnitId"`

	// Shared unit name. It only supports combinations of uppercase and lowercase letters, digits, hyphens (-), and underscores (_), with 3 to 128 characters.
	Name *string `json:"Name,omitnil,omitempty" name:"Name"`

	// Shared unit description. Maximum: 128 characters.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Sharing scope. Valid values: 1: Only sharing within a group organization is allowed; 2: Sharing with any account is allowed. Default value: 1
	ShareScope *uint64 `json:"ShareScope,omitnil,omitempty" name:"ShareScope"`
}

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

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

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

type UpdateShareUnitResponse struct {
	*tchttp.BaseResponse
	Response *UpdateShareUnitResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateUserRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// First name of the user.
	NewFirstName *string `json:"NewFirstName,omitnil,omitempty" name:"NewFirstName"`

	// Last name of the user.
	NewLastName *string `json:"NewLastName,omitnil,omitempty" name:"NewLastName"`

	// Display name of the user.
	NewDisplayName *string `json:"NewDisplayName,omitnil,omitempty" name:"NewDisplayName"`

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

	// Email address of the user.
	NewEmail *string `json:"NewEmail,omitnil,omitempty" name:"NewEmail"`

	// Whether password reset is required.
	NeedResetPassword *bool `json:"NeedResetPassword,omitnil,omitempty" name:"NeedResetPassword"`
}

type UpdateUserRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// First name of the user.
	NewFirstName *string `json:"NewFirstName,omitnil,omitempty" name:"NewFirstName"`

	// Last name of the user.
	NewLastName *string `json:"NewLastName,omitnil,omitempty" name:"NewLastName"`

	// Display name of the user.
	NewDisplayName *string `json:"NewDisplayName,omitnil,omitempty" name:"NewDisplayName"`

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

	// Email address of the user.
	NewEmail *string `json:"NewEmail,omitnil,omitempty" name:"NewEmail"`

	// Whether password reset is required.
	NeedResetPassword *bool `json:"NeedResetPassword,omitnil,omitempty" name:"NeedResetPassword"`
}

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

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

// Predefined struct for user
type UpdateUserResponseParams struct {
	// User information
	UserInfo *UserInfo `json:"UserInfo,omitnil,omitempty" name:"UserInfo"`

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

type UpdateUserResponse struct {
	*tchttp.BaseResponse
	Response *UpdateUserResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateUserStatusRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// User status. Valid values: Enabled, Disabled.
	NewUserStatus *string `json:"NewUserStatus,omitnil,omitempty" name:"NewUserStatus"`
}

type UpdateUserStatusRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

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

	// User status. Valid values: Enabled, Disabled.
	NewUserStatus *string `json:"NewUserStatus,omitnil,omitempty" name:"NewUserStatus"`
}

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

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

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

type UpdateUserStatusResponse struct {
	*tchttp.BaseResponse
	Response *UpdateUserStatusResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateUserSyncProvisioningRequestParams struct {
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// User synchronization description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	NewDuplicationStateful *string `json:"NewDuplicationStateful,omitnil,omitempty" name:"NewDuplicationStateful"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	NewDeletionStrategy *string `json:"NewDeletionStrategy,omitnil,omitempty" name:"NewDeletionStrategy"`
}

type UpdateUserSyncProvisioningRequest struct {
	*tchttp.BaseRequest
	
	// Space ID.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// User synchronization description.
	NewDescription *string `json:"NewDescription,omitnil,omitempty" name:"NewDescription"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	NewDuplicationStateful *string `json:"NewDuplicationStateful,omitnil,omitempty" name:"NewDuplicationStateful"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	NewDeletionStrategy *string `json:"NewDeletionStrategy,omitnil,omitempty" name:"NewDeletionStrategy"`
}

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

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

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

type UpdateUserSyncProvisioningResponse struct {
	*tchttp.BaseResponse
	Response *UpdateUserSyncProvisioningResponseParams `json:"Response"`
}

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

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

// Predefined struct for user
type UpdateZoneRequestParams struct {
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	NewZoneName *string `json:"NewZoneName,omitnil,omitempty" name:"NewZoneName"`
}

type UpdateZoneRequest struct {
	*tchttp.BaseRequest
	
	// Space ID, which starts with the z- prefix, followed by 12 random digits/lowercase letters.
	ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"`

	// Space name, which must be globally unique and contain 2-64 characters including lowercase letters, digits, and hyphens (-). It can neither start or end with a hyphen (-) nor contain two consecutive hyphens (-).
	NewZoneName *string `json:"NewZoneName,omitnil,omitempty" name:"NewZoneName"`
}

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

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

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

type UpdateZoneResponse struct {
	*tchttp.BaseResponse
	Response *UpdateZoneResponseParams `json:"Response"`
}

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

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

type UserInfo struct {
	// Queried username.
	UserName *string `json:"UserName,omitnil,omitempty" name:"UserName"`

	// First name of the user.
	FirstName *string `json:"FirstName,omitnil,omitempty" name:"FirstName"`

	// Last name of the user.
	LastName *string `json:"LastName,omitnil,omitempty" name:"LastName"`

	// Display name of the user.
	DisplayName *string `json:"DisplayName,omitnil,omitempty" name:"DisplayName"`

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

	// Email address of the user, which must be unique within the directory.
	Email *string `json:"Email,omitnil,omitempty" name:"Email"`

	// User status. Valid values: Enabled, Disabled.
	UserStatus *string `json:"UserStatus,omitnil,omitempty" name:"UserStatus"`

	// User type. Manual: manually created; Synchronized: externally imported.
	UserType *string `json:"UserType,omitnil,omitempty" name:"UserType"`

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

	// Creation time of the user.
	CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`

	// Modification time of the user.
	UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"`

	// Whether selected
	IsSelected *bool `json:"IsSelected,omitnil,omitempty" name:"IsSelected"`

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

	// Whether password reset is required next time. valid values: true (password reset required), false (not required to reset password).
	NeedResetPassword *bool `json:"NeedResetPassword,omitnil,omitempty" name:"NeedResetPassword"`
}

type UserProvisioning struct {
	// CAM user synchronization status. Valid values:
	// 
	// Enabled: CAM user synchronization is enabled.
	// Disabled: CAM user synchronization is disabled.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

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

	// CAM user synchronization status. Valid values:
	// 
	// Enabled: CAM user synchronization is enabled.
	// Disabled: CAM user synchronization is disabled.
	Status *string `json:"Status,omitnil,omitempty" name:"Status"`

	// Identity ID for the CAM user synchronization. Valid values:
	// When the PrincipalType value is Group, it is the CIC user group ID (g-********).
	// When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity name for the CAM user synchronization. Valid values:When the PrincipalType value is Group, it is the CIC user group name.
	// When the PrincipalType value is User, it is the CIC user name.
	PrincipalName *string `json:"PrincipalName,omitnil,omitempty" name:"PrincipalName"`

	// Identity type for the CAM user synchronization. Valid values:
	// 
	// User: indicates that the identity for the CAM user synchronization is a CIC user.
	// Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Name of the target account of the Tencent Cloud Organization.
	TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	DuplicationStrategy *string `json:"DuplicationStrategy,omitnil,omitempty" name:"DuplicationStrategy"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	DeletionStrategy *string `json:"DeletionStrategy,omitnil,omitempty" name:"DeletionStrategy"`

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

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

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`
}

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

	// UIN of the authorized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`

	// Task type. StartProvisioning: Start the user synchronization; DeleteProvisioning: Delete the user synchronization.
	TaskType *string `json:"TaskType,omitnil,omitempty" name:"TaskType"`

	// Task status. InProgress: The task is in progress; Failed: The task failed; Success: The task succeeded.
	TaskStatus *string `json:"TaskStatus,omitnil,omitempty" name:"TaskStatus"`

	// User synchronization ID.
	UserProvisioningId *string `json:"UserProvisioningId,omitnil,omitempty" name:"UserProvisioningId"`

	// Identity ID for the CAM user synchronization. Valid values: When the PrincipalType value is Group, it is the CIC user group ID (g-********). When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values: User: indicates that the identity for the CAM user synchronization is a CIC user; Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// User name or user group name.
	PrincipalName *string `json:"PrincipalName,omitnil,omitempty" name:"PrincipalName"`

	// Conflict policy. KeepBoth: Keep both; TakeOver: Replace.
	DuplicationStrategy *string `json:"DuplicationStrategy,omitnil,omitempty" name:"DuplicationStrategy"`

	// Deletion policy: Delete, Keep.
	DeletionStrategy *string `json:"DeletionStrategy,omitnil,omitempty" name:"DeletionStrategy"`
}

type UserSyncProvisioning struct {
	// Description.
	Description *string `json:"Description,omitnil,omitempty" name:"Description"`

	// Identity ID for the CAM user synchronization. Valid values:
	// When the PrincipalType value is Group, it is the CIC user group ID (g-********).
	// When the PrincipalType value is User, it is the CIC user ID (u-********).
	PrincipalId *string `json:"PrincipalId,omitnil,omitempty" name:"PrincipalId"`

	// Identity type for the CAM user synchronization. Valid values:
	// 
	// User: indicates that the identity for the CAM user synchronization is a CIC user.
	// Group: indicates that the identity for the CAM user synchronization is a CIC user group.
	PrincipalType *string `json:"PrincipalType,omitnil,omitempty" name:"PrincipalType"`

	// UIN of the synchronized target account of the Tencent Cloud Organization.
	TargetUin *int64 `json:"TargetUin,omitnil,omitempty" name:"TargetUin"`

	// Conflict policy. It indicates the handling policy for existence of a user with the same username when CIC users are synchronized to CAM. Valid values: KeepBoth: Keep both, that is, add the _cic suffix to the CIC user's username and then try to create a CAM user with the username when CIC users are synchronized to CAM and a user with the same username already exists in CAM; TakeOver: Replace, that is, directly replace the existing CAM user with the synchronized CIC user when CIC users are synchronized to CAM and a user with the same username already exists in CAM.
	DuplicationStrategy *string `json:"DuplicationStrategy,omitnil,omitempty" name:"DuplicationStrategy"`

	// Deletion policy. It indicates the handling policy for CAM users already synchronized when the CAM user synchronization is deleted. Valid values: Delete: Delete the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted; Keep: Keep the CAM users already synchronized from CIC to CAM when the CAM user synchronization is deleted.
	DeletionStrategy *string `json:"DeletionStrategy,omitnil,omitempty" name:"DeletionStrategy"`

	// Type of the synchronized target account of the Tencent Cloud Organization. ManagerUin: admin account; MemberUin: member account.
	TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"`
}

type ZoneStatistics struct {
	// User quota.
	UserQuota *int64 `json:"UserQuota,omitnil,omitempty" name:"UserQuota"`

	// User group quota.
	GroupQuota *int64 `json:"GroupQuota,omitnil,omitempty" name:"GroupQuota"`

	// Permission configuration quota.
	RoleConfigurationQuota *int64 `json:"RoleConfigurationQuota,omitnil,omitempty" name:"RoleConfigurationQuota"`

	// System policy quota bound to the permission configuration.
	SystemPolicyPerRoleConfigurationQuota *int64 `json:"SystemPolicyPerRoleConfigurationQuota,omitnil,omitempty" name:"SystemPolicyPerRoleConfigurationQuota"`

	// Number of users.
	UserCount *int64 `json:"UserCount,omitnil,omitempty" name:"UserCount"`

	// Number of user groups.
	GroupCount *int64 `json:"GroupCount,omitnil,omitempty" name:"GroupCount"`

	// Number of permission configurations.
	RoleConfigurationCount *int64 `json:"RoleConfigurationCount,omitnil,omitempty" name:"RoleConfigurationCount"`

	// Number of synchronized users.
	UserProvisioningCount *int64 `json:"UserProvisioningCount,omitnil,omitempty" name:"UserProvisioningCount"`

	// Number of synchronized roles.
	RoleConfigurationSyncCount *int64 `json:"RoleConfigurationSyncCount,omitnil,omitempty" name:"RoleConfigurationSyncCount"`
}