"""
@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 BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeysXPkixPublicKey(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PUBLIC_KEY_PEM_FIELD_NUMBER: builtins.int
    SIGNATURE_ALGORITHM_FIELD_NUMBER: builtins.int
    public_key_pem: builtins.str
    signature_algorithm: builtins.str
    def __init__(
        self,
        *,
        public_key_pem: builtins.str = ...,
        signature_algorithm: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["public_key_pem", b"public_key_pem", "signature_algorithm", b"signature_algorithm"]) -> None: ...

global___BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeysXPkixPublicKey = BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeysXPkixPublicKey

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

    ASCII_ARMORED_PGP_PUBLIC_KEY_FIELD_NUMBER: builtins.int
    COMMENT_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PKIX_PUBLIC_KEY_FIELD_NUMBER: builtins.int
    ascii_armored_pgp_public_key: builtins.str
    comment: builtins.str
    id: builtins.str
    @property
    def pkix_public_key(self) -> global___BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeysXPkixPublicKey: ...
    def __init__(
        self,
        *,
        ascii_armored_pgp_public_key: builtins.str = ...,
        comment: builtins.str = ...,
        id: builtins.str = ...,
        pkix_public_key: global___BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeysXPkixPublicKey | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pkix_public_key", b"pkix_public_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ascii_armored_pgp_public_key", b"ascii_armored_pgp_public_key", "comment", b"comment", "id", b"id", "pkix_public_key", b"pkix_public_key"]) -> None: ...

global___BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeys = BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeys

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

    DELEGATION_SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER: builtins.int
    NOTE_REFERENCE_FIELD_NUMBER: builtins.int
    PUBLIC_KEYS_FIELD_NUMBER: builtins.int
    delegation_service_account_email: builtins.str
    note_reference: builtins.str
    @property
    def public_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeys]: ...
    def __init__(
        self,
        *,
        delegation_service_account_email: builtins.str = ...,
        note_reference: builtins.str = ...,
        public_keys: collections.abc.Iterable[global___BinaryAuthorizationAttestorXAttestationAuthorityNoteXPublicKeys] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegation_service_account_email", b"delegation_service_account_email", "note_reference", b"note_reference", "public_keys", b"public_keys"]) -> None: ...

global___BinaryAuthorizationAttestorXAttestationAuthorityNote = BinaryAuthorizationAttestorXAttestationAuthorityNote

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___BinaryAuthorizationAttestorXTimeouts = BinaryAuthorizationAttestorXTimeouts

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    ATTESTATION_AUTHORITY_NOTE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    description: builtins.str
    id: builtins.str
    name: builtins.str
    project: builtins.str
    @property
    def attestation_authority_note(self) -> global___BinaryAuthorizationAttestorXAttestationAuthorityNote: ...
    @property
    def timeouts(self) -> global___BinaryAuthorizationAttestorXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        id: builtins.str = ...,
        name: builtins.str = ...,
        project: builtins.str = ...,
        attestation_authority_note: global___BinaryAuthorizationAttestorXAttestationAuthorityNote | None = ...,
        timeouts: global___BinaryAuthorizationAttestorXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["attestation_authority_note", b"attestation_authority_note", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attestation_authority_note", b"attestation_authority_note", "description", b"description", "id", b"id", "name", b"name", "project", b"project", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> None: ...

global___BinaryAuthorizationAttestor = BinaryAuthorizationAttestor

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXPRESSION_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    description: builtins.str
    expression: builtins.str
    title: builtins.str
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        expression: builtins.str = ...,
        title: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "expression", b"expression", "title", b"title"]) -> None: ...

global___BinaryAuthorizationAttestorIamBindingXCondition = BinaryAuthorizationAttestorIamBindingXCondition

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

    ATTESTOR_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    attestor: builtins.str
    etag: builtins.str
    id: builtins.str
    @property
    def members(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    project: builtins.str
    role: builtins.str
    @property
    def condition(self) -> global___BinaryAuthorizationAttestorIamBindingXCondition: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        attestor: builtins.str = ...,
        etag: builtins.str = ...,
        id: builtins.str = ...,
        members: collections.abc.Iterable[builtins.str] | None = ...,
        project: builtins.str = ...,
        role: builtins.str = ...,
        condition: global___BinaryAuthorizationAttestorIamBindingXCondition | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["condition", b"condition", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attestor", b"attestor", "condition", b"condition", "etag", b"etag", "id", b"id", "members", b"members", "project", b"project", "resource_info", b"resource_info", "role", b"role"]) -> None: ...

global___BinaryAuthorizationAttestorIamBinding = BinaryAuthorizationAttestorIamBinding

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXPRESSION_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    description: builtins.str
    expression: builtins.str
    title: builtins.str
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        expression: builtins.str = ...,
        title: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "expression", b"expression", "title", b"title"]) -> None: ...

global___BinaryAuthorizationAttestorIamMemberXCondition = BinaryAuthorizationAttestorIamMemberXCondition

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

    ATTESTOR_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    MEMBER_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    attestor: builtins.str
    etag: builtins.str
    id: builtins.str
    member: builtins.str
    project: builtins.str
    role: builtins.str
    @property
    def condition(self) -> global___BinaryAuthorizationAttestorIamMemberXCondition: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        attestor: builtins.str = ...,
        etag: builtins.str = ...,
        id: builtins.str = ...,
        member: builtins.str = ...,
        project: builtins.str = ...,
        role: builtins.str = ...,
        condition: global___BinaryAuthorizationAttestorIamMemberXCondition | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["condition", b"condition", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attestor", b"attestor", "condition", b"condition", "etag", b"etag", "id", b"id", "member", b"member", "project", b"project", "resource_info", b"resource_info", "role", b"role"]) -> None: ...

global___BinaryAuthorizationAttestorIamMember = BinaryAuthorizationAttestorIamMember

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

    ATTESTOR_FIELD_NUMBER: builtins.int
    ETAG_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    POLICY_DATA_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    attestor: builtins.str
    etag: builtins.str
    id: builtins.str
    policy_data: builtins.str
    project: builtins.str
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        attestor: builtins.str = ...,
        etag: builtins.str = ...,
        id: builtins.str = ...,
        policy_data: builtins.str = ...,
        project: builtins.str = ...,
        resource_info: shared.shared_pb2.ResourceInfo | 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["attestor", b"attestor", "etag", b"etag", "id", b"id", "policy_data", b"policy_data", "project", b"project", "resource_info", b"resource_info"]) -> None: ...

global___BinaryAuthorizationAttestorIamPolicy = BinaryAuthorizationAttestorIamPolicy

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

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

global___BinaryAuthorizationPolicyXAdmissionWhitelistPatterns = BinaryAuthorizationPolicyXAdmissionWhitelistPatterns

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

    CLUSTER_FIELD_NUMBER: builtins.int
    ENFORCEMENT_MODE_FIELD_NUMBER: builtins.int
    EVALUATION_MODE_FIELD_NUMBER: builtins.int
    REQUIRE_ATTESTATIONS_BY_FIELD_NUMBER: builtins.int
    cluster: builtins.str
    enforcement_mode: builtins.str
    evaluation_mode: builtins.str
    @property
    def require_attestations_by(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        cluster: builtins.str = ...,
        enforcement_mode: builtins.str = ...,
        evaluation_mode: builtins.str = ...,
        require_attestations_by: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cluster", b"cluster", "enforcement_mode", b"enforcement_mode", "evaluation_mode", b"evaluation_mode", "require_attestations_by", b"require_attestations_by"]) -> None: ...

global___BinaryAuthorizationPolicyXClusterAdmissionRules = BinaryAuthorizationPolicyXClusterAdmissionRules

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

    ENFORCEMENT_MODE_FIELD_NUMBER: builtins.int
    EVALUATION_MODE_FIELD_NUMBER: builtins.int
    REQUIRE_ATTESTATIONS_BY_FIELD_NUMBER: builtins.int
    enforcement_mode: builtins.str
    evaluation_mode: builtins.str
    @property
    def require_attestations_by(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        enforcement_mode: builtins.str = ...,
        evaluation_mode: builtins.str = ...,
        require_attestations_by: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["enforcement_mode", b"enforcement_mode", "evaluation_mode", b"evaluation_mode", "require_attestations_by", b"require_attestations_by"]) -> None: ...

global___BinaryAuthorizationPolicyXDefaultAdmissionRule = BinaryAuthorizationPolicyXDefaultAdmissionRule

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

    CREATE_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    create: builtins.str
    delete: builtins.str
    update: builtins.str
    def __init__(
        self,
        *,
        create: builtins.str = ...,
        delete: builtins.str = ...,
        update: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["create", b"create", "delete", b"delete", "update", b"update"]) -> None: ...

global___BinaryAuthorizationPolicyXTimeouts = BinaryAuthorizationPolicyXTimeouts

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

    DESCRIPTION_FIELD_NUMBER: builtins.int
    GLOBAL_POLICY_EVALUATION_MODE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    ADMISSION_WHITELIST_PATTERNS_FIELD_NUMBER: builtins.int
    CLUSTER_ADMISSION_RULES_FIELD_NUMBER: builtins.int
    DEFAULT_ADMISSION_RULE_FIELD_NUMBER: builtins.int
    TIMEOUTS_FIELD_NUMBER: builtins.int
    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    description: builtins.str
    global_policy_evaluation_mode: builtins.str
    id: builtins.str
    project: builtins.str
    @property
    def admission_whitelist_patterns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryAuthorizationPolicyXAdmissionWhitelistPatterns]: ...
    @property
    def cluster_admission_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryAuthorizationPolicyXClusterAdmissionRules]: ...
    @property
    def default_admission_rule(self) -> global___BinaryAuthorizationPolicyXDefaultAdmissionRule: ...
    @property
    def timeouts(self) -> global___BinaryAuthorizationPolicyXTimeouts: ...
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    def __init__(
        self,
        *,
        description: builtins.str = ...,
        global_policy_evaluation_mode: builtins.str = ...,
        id: builtins.str = ...,
        project: builtins.str = ...,
        admission_whitelist_patterns: collections.abc.Iterable[global___BinaryAuthorizationPolicyXAdmissionWhitelistPatterns] | None = ...,
        cluster_admission_rules: collections.abc.Iterable[global___BinaryAuthorizationPolicyXClusterAdmissionRules] | None = ...,
        default_admission_rule: global___BinaryAuthorizationPolicyXDefaultAdmissionRule | None = ...,
        timeouts: global___BinaryAuthorizationPolicyXTimeouts | None = ...,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["default_admission_rule", b"default_admission_rule", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["admission_whitelist_patterns", b"admission_whitelist_patterns", "cluster_admission_rules", b"cluster_admission_rules", "default_admission_rule", b"default_admission_rule", "description", b"description", "global_policy_evaluation_mode", b"global_policy_evaluation_mode", "id", b"id", "project", b"project", "resource_info", b"resource_info", "timeouts", b"timeouts"]) -> None: ...

global___BinaryAuthorizationPolicy = BinaryAuthorizationPolicy
