"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import shared.shared_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Assignment(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INSTANCE_ARN_FIELD_NUMBER: builtins.int
    TARGET_ID_FIELD_NUMBER: builtins.int
    TARGET_TYPE_FIELD_NUMBER: builtins.int
    PERMISSION_SET_ARN_FIELD_NUMBER: builtins.int
    PRINCIPAL_TYPE_FIELD_NUMBER: builtins.int
    PRINCIPAL_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    instance_arn: builtins.str
    target_id: builtins.str
    target_type: builtins.str
    permission_set_arn: builtins.str
    principal_type: builtins.str
    principal_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        instance_arn: builtins.str = ...,
        target_id: builtins.str = ...,
        target_type: builtins.str = ...,
        permission_set_arn: builtins.str = ...,
        principal_type: builtins.str = ...,
        principal_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["instance_arn", b"instance_arn", "permission_set_arn", b"permission_set_arn", "principal_id", b"principal_id", "principal_type", b"principal_type", "resource_info", b"resource_info", "target_id", b"target_id", "target_type", b"target_type"]) -> None: ...

global___Assignment = Assignment

@typing_extensions.final
class SSO(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ASSIGNMENT_FIELD_NUMBER: builtins.int
    PERMISSION_SET_FIELD_NUMBER: builtins.int
    @property
    def assignment(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Assignment]: ...
    @property
    def permission_set(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PermissionSet]: ...
    def __init__(
        self,
        *,
        assignment: collections.abc.Iterable[global___Assignment] | None = ...,
        permission_set: collections.abc.Iterable[global___PermissionSet] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["assignment", b"assignment", "permission_set", b"permission_set"]) -> None: ...

global___SSO = SSO

@typing_extensions.final
class PermissionSet(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    INSTANCE_ARN_FIELD_NUMBER: builtins.int
    SESSION_DURATION_FIELD_NUMBER: builtins.int
    RELAY_STATE_TYPE_FIELD_NUMBER: builtins.int
    MANAGED_POLICIES_FIELD_NUMBER: builtins.int
    INLINE_POLICY_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    description: builtins.str
    instance_arn: builtins.str
    session_duration: builtins.str
    relay_state_type: builtins.str
    @property
    def managed_policies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    inline_policy: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        instance_arn: builtins.str = ...,
        session_duration: builtins.str = ...,
        relay_state_type: builtins.str = ...,
        managed_policies: collections.abc.Iterable[builtins.str] | None = ...,
        inline_policy: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "inline_policy", b"inline_policy", "instance_arn", b"instance_arn", "managed_policies", b"managed_policies", "name", b"name", "relay_state_type", b"relay_state_type", "resource_info", b"resource_info", "session_duration", b"session_duration", "tags", b"tags"]) -> None: ...

global___PermissionSet = PermissionSet
