# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'GroupMemberArgs',
    'GroupMemberArgsDict',
    'PermissionSetPermissionPolicyArgs',
    'PermissionSetPermissionPolicyArgsDict',
]

MYPY = False

if not MYPY:
    class GroupMemberArgsDict(TypedDict):
        user_id: NotRequired[pulumi.Input[builtins.str]]
        """
        用户id。
        """
elif False:
    GroupMemberArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GroupMemberArgs:
    def __init__(__self__, *,
                 user_id: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] user_id: 用户id。
        """
        if user_id is not None:
            pulumi.set(__self__, "user_id", user_id)

    @property
    @pulumi.getter(name="userId")
    def user_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        用户id。
        """
        return pulumi.get(self, "user_id")

    @user_id.setter
    def user_id(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "user_id", value)


if not MYPY:
    class PermissionSetPermissionPolicyArgsDict(TypedDict):
        permission_policy_document: NotRequired[pulumi.Input[builtins.str]]
        """
        策略语法内容。语法可参考 策略语法说明。
        """
        permission_policy_name: NotRequired[pulumi.Input[builtins.str]]
        """
        策略名称。
        """
        permission_policy_type: NotRequired[pulumi.Input[builtins.str]]
        """
        策略类型，System or Inline。
        """
elif False:
    PermissionSetPermissionPolicyArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class PermissionSetPermissionPolicyArgs:
    def __init__(__self__, *,
                 permission_policy_document: Optional[pulumi.Input[builtins.str]] = None,
                 permission_policy_name: Optional[pulumi.Input[builtins.str]] = None,
                 permission_policy_type: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] permission_policy_document: 策略语法内容。语法可参考 策略语法说明。
        :param pulumi.Input[builtins.str] permission_policy_name: 策略名称。
        :param pulumi.Input[builtins.str] permission_policy_type: 策略类型，System or Inline。
        """
        if permission_policy_document is not None:
            pulumi.set(__self__, "permission_policy_document", permission_policy_document)
        if permission_policy_name is not None:
            pulumi.set(__self__, "permission_policy_name", permission_policy_name)
        if permission_policy_type is not None:
            pulumi.set(__self__, "permission_policy_type", permission_policy_type)

    @property
    @pulumi.getter(name="permissionPolicyDocument")
    def permission_policy_document(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        策略语法内容。语法可参考 策略语法说明。
        """
        return pulumi.get(self, "permission_policy_document")

    @permission_policy_document.setter
    def permission_policy_document(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "permission_policy_document", value)

    @property
    @pulumi.getter(name="permissionPolicyName")
    def permission_policy_name(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        策略名称。
        """
        return pulumi.get(self, "permission_policy_name")

    @permission_policy_name.setter
    def permission_policy_name(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "permission_policy_name", value)

    @property
    @pulumi.getter(name="permissionPolicyType")
    def permission_policy_type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        策略类型，System or Inline。
        """
        return pulumi.get(self, "permission_policy_type")

    @permission_policy_type.setter
    def permission_policy_type(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "permission_policy_type", value)


