# 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 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__ = [
    'AccessPointPosixUserArgs',
    'AccessPointPosixUserArgsDict',
    'AccessPointRootPathPermissionArgs',
    'AccessPointRootPathPermissionArgsDict',
]

MYPY = False

if not MYPY:
    class AccessPointPosixUserArgsDict(TypedDict):
        posix_group_id: NotRequired[pulumi.Input[int]]
        """
        The ID of the Posix user group.
        """
        posix_secondary_group_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]]
        """
        The ID of the second user group.
        """
        posix_user_id: NotRequired[pulumi.Input[int]]
        """
        The Posix user ID.
        """
elif False:
    AccessPointPosixUserArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AccessPointPosixUserArgs:
    def __init__(__self__, *,
                 posix_group_id: Optional[pulumi.Input[int]] = None,
                 posix_secondary_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
                 posix_user_id: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[int] posix_group_id: The ID of the Posix user group.
        :param pulumi.Input[Sequence[pulumi.Input[int]]] posix_secondary_group_ids: The ID of the second user group.
        :param pulumi.Input[int] posix_user_id: The Posix user ID.
        """
        if posix_group_id is not None:
            pulumi.set(__self__, "posix_group_id", posix_group_id)
        if posix_secondary_group_ids is not None:
            pulumi.set(__self__, "posix_secondary_group_ids", posix_secondary_group_ids)
        if posix_user_id is not None:
            pulumi.set(__self__, "posix_user_id", posix_user_id)

    @property
    @pulumi.getter(name="posixGroupId")
    def posix_group_id(self) -> Optional[pulumi.Input[int]]:
        """
        The ID of the Posix user group.
        """
        return pulumi.get(self, "posix_group_id")

    @posix_group_id.setter
    def posix_group_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "posix_group_id", value)

    @property
    @pulumi.getter(name="posixSecondaryGroupIds")
    def posix_secondary_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
        """
        The ID of the second user group.
        """
        return pulumi.get(self, "posix_secondary_group_ids")

    @posix_secondary_group_ids.setter
    def posix_secondary_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]):
        pulumi.set(self, "posix_secondary_group_ids", value)

    @property
    @pulumi.getter(name="posixUserId")
    def posix_user_id(self) -> Optional[pulumi.Input[int]]:
        """
        The Posix user ID.
        """
        return pulumi.get(self, "posix_user_id")

    @posix_user_id.setter
    def posix_user_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "posix_user_id", value)


if not MYPY:
    class AccessPointRootPathPermissionArgsDict(TypedDict):
        owner_group_id: NotRequired[pulumi.Input[int]]
        """
        The ID of the primary user group.
        """
        owner_user_id: NotRequired[pulumi.Input[int]]
        """
        The owner user ID.
        """
        permission: NotRequired[pulumi.Input[str]]
        """
        POSIX permission.
        """
elif False:
    AccessPointRootPathPermissionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class AccessPointRootPathPermissionArgs:
    def __init__(__self__, *,
                 owner_group_id: Optional[pulumi.Input[int]] = None,
                 owner_user_id: Optional[pulumi.Input[int]] = None,
                 permission: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[int] owner_group_id: The ID of the primary user group.
        :param pulumi.Input[int] owner_user_id: The owner user ID.
        :param pulumi.Input[str] permission: POSIX permission.
        """
        if owner_group_id is not None:
            pulumi.set(__self__, "owner_group_id", owner_group_id)
        if owner_user_id is not None:
            pulumi.set(__self__, "owner_user_id", owner_user_id)
        if permission is not None:
            pulumi.set(__self__, "permission", permission)

    @property
    @pulumi.getter(name="ownerGroupId")
    def owner_group_id(self) -> Optional[pulumi.Input[int]]:
        """
        The ID of the primary user group.
        """
        return pulumi.get(self, "owner_group_id")

    @owner_group_id.setter
    def owner_group_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "owner_group_id", value)

    @property
    @pulumi.getter(name="ownerUserId")
    def owner_user_id(self) -> Optional[pulumi.Input[int]]:
        """
        The owner user ID.
        """
        return pulumi.get(self, "owner_user_id")

    @owner_user_id.setter
    def owner_user_id(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "owner_user_id", value)

    @property
    @pulumi.getter
    def permission(self) -> Optional[pulumi.Input[str]]:
        """
        POSIX permission.
        """
        return pulumi.get(self, "permission")

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


