"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import attestation_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class ComputeNodeFormat(_ComputeNodeFormat, metaclass=_ComputeNodeFormatEnumTypeWrapper):
    pass
class _ComputeNodeFormat:
    V = typing.NewType('V', builtins.int)
class _ComputeNodeFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ComputeNodeFormat.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    RAW = ComputeNodeFormat.V(0)
    ZIP = ComputeNodeFormat.V(1)

RAW = ComputeNodeFormat.V(0)
ZIP = ComputeNodeFormat.V(1)
global___ComputeNodeFormat = ComputeNodeFormat


class DataRoom(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ID_FIELD_NUMBER: builtins.int
    COMPUTENODES_FIELD_NUMBER: builtins.int
    ATTESTATIONSPECIFICATIONS_FIELD_NUMBER: builtins.int
    USERPERMISSIONS_FIELD_NUMBER: builtins.int
    AUTHENTICATIONMETHODS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    OWNEREMAIL_FIELD_NUMBER: builtins.int
    id: typing.Text = ...
    @property
    def computeNodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ComputeNode]: ...
    @property
    def attestationSpecifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[attestation_pb2.AttestationSpecification]: ...
    @property
    def userPermissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserPermission]: ...
    @property
    def authenticationMethods(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthenticationMethod]: ...
    name: typing.Text = ...
    description: typing.Text = ...
    ownerEmail: typing.Text = ...
    def __init__(self,
        *,
        id : typing.Text = ...,
        computeNodes : typing.Optional[typing.Iterable[global___ComputeNode]] = ...,
        attestationSpecifications : typing.Optional[typing.Iterable[attestation_pb2.AttestationSpecification]] = ...,
        userPermissions : typing.Optional[typing.Iterable[global___UserPermission]] = ...,
        authenticationMethods : typing.Optional[typing.Iterable[global___AuthenticationMethod]] = ...,
        name : typing.Text = ...,
        description : typing.Text = ...,
        ownerEmail : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attestationSpecifications",b"attestationSpecifications",u"authenticationMethods",b"authenticationMethods",u"computeNodes",b"computeNodes",u"description",b"description",u"id",b"id",u"name",b"name",u"ownerEmail",b"ownerEmail",u"userPermissions",b"userPermissions"]) -> None: ...
global___DataRoom = DataRoom

class ComputeNode(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NODENAME_FIELD_NUMBER: builtins.int
    LEAF_FIELD_NUMBER: builtins.int
    BRANCH_FIELD_NUMBER: builtins.int
    nodeName: typing.Text = ...
    @property
    def leaf(self) -> global___ComputeNodeLeaf: ...
    @property
    def branch(self) -> global___ComputeNodeBranch: ...
    def __init__(self,
        *,
        nodeName : typing.Text = ...,
        leaf : typing.Optional[global___ComputeNodeLeaf] = ...,
        branch : typing.Optional[global___ComputeNodeBranch] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"branch",b"branch",u"leaf",b"leaf",u"node",b"node"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"branch",b"branch",u"leaf",b"leaf",u"node",b"node",u"nodeName",b"nodeName"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"node",b"node"]) -> typing.Optional[typing_extensions.Literal["leaf","branch"]]: ...
global___ComputeNode = ComputeNode

class ComputeNodeLeaf(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ISREQUIRED_FIELD_NUMBER: builtins.int
    isRequired: builtins.bool = ...
    def __init__(self,
        *,
        isRequired : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"isRequired",b"isRequired"]) -> None: ...
global___ComputeNodeLeaf = ComputeNodeLeaf

class ComputeNodeBranch(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CONFIG_FIELD_NUMBER: builtins.int
    DEPENDENCIES_FIELD_NUMBER: builtins.int
    ATTESTATIONSPECIFICATIONINDEX_FIELD_NUMBER: builtins.int
    OUTPUTFORMAT_FIELD_NUMBER: builtins.int
    config: builtins.bytes = ...
    @property
    def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    attestationSpecificationIndex: builtins.int = ...
    outputFormat: global___ComputeNodeFormat.V = ...
    def __init__(self,
        *,
        config : builtins.bytes = ...,
        dependencies : typing.Optional[typing.Iterable[typing.Text]] = ...,
        attestationSpecificationIndex : builtins.int = ...,
        outputFormat : global___ComputeNodeFormat.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attestationSpecificationIndex",b"attestationSpecificationIndex",u"config",b"config",u"dependencies",b"dependencies",u"outputFormat",b"outputFormat"]) -> None: ...
global___ComputeNodeBranch = ComputeNodeBranch

class UserPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EMAIL_FIELD_NUMBER: builtins.int
    AUTHENTICATIONMETHODINDEX_FIELD_NUMBER: builtins.int
    PERMISSIONS_FIELD_NUMBER: builtins.int
    email: typing.Text = ...
    authenticationMethodIndex: builtins.int = ...
    @property
    def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Permission]: ...
    def __init__(self,
        *,
        email : typing.Text = ...,
        authenticationMethodIndex : builtins.int = ...,
        permissions : typing.Optional[typing.Iterable[global___Permission]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"authenticationMethodIndex",b"authenticationMethodIndex",u"email",b"email",u"permissions",b"permissions"]) -> None: ...
global___UserPermission = UserPermission

class AuthenticationMethod(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TRUSTEDPKI_FIELD_NUMBER: builtins.int
    @property
    def trustedPki(self) -> global___TrustedPki: ...
    def __init__(self,
        *,
        trustedPki : typing.Optional[global___TrustedPki] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"_trustedPki",b"_trustedPki",u"trustedPki",b"trustedPki"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"_trustedPki",b"_trustedPki",u"trustedPki",b"trustedPki"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"_trustedPki",b"_trustedPki"]) -> typing.Optional[typing_extensions.Literal["trustedPki"]]: ...
global___AuthenticationMethod = AuthenticationMethod

class TrustedPki(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ROOTCERTIFICATEPEM_FIELD_NUMBER: builtins.int
    rootCertificatePem: builtins.bytes = ...
    def __init__(self,
        *,
        rootCertificatePem : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"rootCertificatePem",b"rootCertificatePem"]) -> None: ...
global___TrustedPki = TrustedPki

class Permission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EXECUTECOMPUTEPERMISSION_FIELD_NUMBER: builtins.int
    LEAFCRUDPERMISSION_FIELD_NUMBER: builtins.int
    RETRIEVEDATAROOMPERMISSION_FIELD_NUMBER: builtins.int
    RETRIEVEAUDITLOGPERMISSION_FIELD_NUMBER: builtins.int
    RETRIEVEDATAROOMSTATUSPERMISSION_FIELD_NUMBER: builtins.int
    UPDATEDATAROOMSTATUSPERMISSION_FIELD_NUMBER: builtins.int
    RETRIEVEPUBLISHEDDATASETSPERMISSION_FIELD_NUMBER: builtins.int
    DRYRUNPERMISSION_FIELD_NUMBER: builtins.int
    @property
    def executeComputePermission(self) -> global___ExecuteComputePermission: ...
    @property
    def leafCrudPermission(self) -> global___LeafCrudPermission: ...
    @property
    def retrieveDataRoomPermission(self) -> global___RetrieveDataRoomPermission: ...
    @property
    def retrieveAuditLogPermission(self) -> global___RetrieveAuditLogPermission: ...
    @property
    def retrieveDataRoomStatusPermission(self) -> global___RetrieveDataRoomStatusPermission: ...
    @property
    def updateDataRoomStatusPermission(self) -> global___UpdateDataRoomStatusPermission: ...
    @property
    def retrievePublishedDatasetsPermission(self) -> global___RetrievePublishedDatasetsPermission: ...
    @property
    def dryRunPermission(self) -> global___DryRunPermission: ...
    def __init__(self,
        *,
        executeComputePermission : typing.Optional[global___ExecuteComputePermission] = ...,
        leafCrudPermission : typing.Optional[global___LeafCrudPermission] = ...,
        retrieveDataRoomPermission : typing.Optional[global___RetrieveDataRoomPermission] = ...,
        retrieveAuditLogPermission : typing.Optional[global___RetrieveAuditLogPermission] = ...,
        retrieveDataRoomStatusPermission : typing.Optional[global___RetrieveDataRoomStatusPermission] = ...,
        updateDataRoomStatusPermission : typing.Optional[global___UpdateDataRoomStatusPermission] = ...,
        retrievePublishedDatasetsPermission : typing.Optional[global___RetrievePublishedDatasetsPermission] = ...,
        dryRunPermission : typing.Optional[global___DryRunPermission] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"dryRunPermission",b"dryRunPermission",u"executeComputePermission",b"executeComputePermission",u"leafCrudPermission",b"leafCrudPermission",u"permission",b"permission",u"retrieveAuditLogPermission",b"retrieveAuditLogPermission",u"retrieveDataRoomPermission",b"retrieveDataRoomPermission",u"retrieveDataRoomStatusPermission",b"retrieveDataRoomStatusPermission",u"retrievePublishedDatasetsPermission",b"retrievePublishedDatasetsPermission",u"updateDataRoomStatusPermission",b"updateDataRoomStatusPermission"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"dryRunPermission",b"dryRunPermission",u"executeComputePermission",b"executeComputePermission",u"leafCrudPermission",b"leafCrudPermission",u"permission",b"permission",u"retrieveAuditLogPermission",b"retrieveAuditLogPermission",u"retrieveDataRoomPermission",b"retrieveDataRoomPermission",u"retrieveDataRoomStatusPermission",b"retrieveDataRoomStatusPermission",u"retrievePublishedDatasetsPermission",b"retrievePublishedDatasetsPermission",u"updateDataRoomStatusPermission",b"updateDataRoomStatusPermission"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"permission",b"permission"]) -> typing.Optional[typing_extensions.Literal["executeComputePermission","leafCrudPermission","retrieveDataRoomPermission","retrieveAuditLogPermission","retrieveDataRoomStatusPermission","updateDataRoomStatusPermission","retrievePublishedDatasetsPermission","dryRunPermission"]]: ...
global___Permission = Permission

class ExecuteComputePermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    COMPUTENODENAME_FIELD_NUMBER: builtins.int
    computeNodeName: typing.Text = ...
    def __init__(self,
        *,
        computeNodeName : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"computeNodeName",b"computeNodeName"]) -> None: ...
global___ExecuteComputePermission = ExecuteComputePermission

class LeafCrudPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LEAFNODENAME_FIELD_NUMBER: builtins.int
    leafNodeName: typing.Text = ...
    def __init__(self,
        *,
        leafNodeName : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"leafNodeName",b"leafNodeName"]) -> None: ...
global___LeafCrudPermission = LeafCrudPermission

class RetrieveDataRoomPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___RetrieveDataRoomPermission = RetrieveDataRoomPermission

class RetrieveAuditLogPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___RetrieveAuditLogPermission = RetrieveAuditLogPermission

class RetrieveDataRoomStatusPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___RetrieveDataRoomStatusPermission = RetrieveDataRoomStatusPermission

class UpdateDataRoomStatusPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___UpdateDataRoomStatusPermission = UpdateDataRoomStatusPermission

class RetrievePublishedDatasetsPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___RetrievePublishedDatasetsPermission = RetrievePublishedDatasetsPermission

class DryRunPermission(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___DryRunPermission = DryRunPermission
