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

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _VertexType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _VertexTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_VertexType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    GENERIC: _VertexType.ValueType  # 0
    REQUIREMENT: _VertexType.ValueType  # 1
    DETAILED_REQUIREMENT: _VertexType.ValueType  # 2
    IL_MAPPING_KEYWORD: _VertexType.ValueType  # 3
    AWS_INSTANCE_RESOURCE: _VertexType.ValueType  # 4
    AWS_SUBNET_RESOURCE: _VertexType.ValueType  # 5
    AWS_VPC_RESOURCE: _VertexType.ValueType  # 6
    AWS_SECURITY_GROUP_RESOURCE: _VertexType.ValueType  # 7
    AWS_ELASTIC_LB_RESOURCE: _VertexType.ValueType  # 8
    CLOUDFRONT_RESOURCE: _VertexType.ValueType  # 9
    LOAD_BALANCER_RESOURCE: _VertexType.ValueType  # 10

class VertexType(_VertexType, metaclass=_VertexTypeEnumTypeWrapper): ...

GENERIC: VertexType.ValueType  # 0
REQUIREMENT: VertexType.ValueType  # 1
DETAILED_REQUIREMENT: VertexType.ValueType  # 2
IL_MAPPING_KEYWORD: VertexType.ValueType  # 3
AWS_INSTANCE_RESOURCE: VertexType.ValueType  # 4
AWS_SUBNET_RESOURCE: VertexType.ValueType  # 5
AWS_VPC_RESOURCE: VertexType.ValueType  # 6
AWS_SECURITY_GROUP_RESOURCE: VertexType.ValueType  # 7
AWS_ELASTIC_LB_RESOURCE: VertexType.ValueType  # 8
CLOUDFRONT_RESOURCE: VertexType.ValueType  # 9
LOAD_BALANCER_RESOURCE: VertexType.ValueType  # 10
global___VertexType = VertexType

class _RequirementType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _RequirementTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RequirementType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ALL_NEIGHBORS: _RequirementType.ValueType  # 0
    NEIGHBORS_OF_TYPE: _RequirementType.ValueType  # 1
    NEIGHBOR_WITH_RELATIONSHIP: _RequirementType.ValueType  # 2
    WHOLE_GRAPH: _RequirementType.ValueType  # 3

class RequirementType(_RequirementType, metaclass=_RequirementTypeEnumTypeWrapper): ...

ALL_NEIGHBORS: RequirementType.ValueType  # 0
NEIGHBORS_OF_TYPE: RequirementType.ValueType  # 1
NEIGHBOR_WITH_RELATIONSHIP: RequirementType.ValueType  # 2
WHOLE_GRAPH: RequirementType.ValueType  # 3
global___RequirementType = RequirementType

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

    BLUEPRINT_ID_FIELD_NUMBER: builtins.int
    PARENT_BLUEPRINT_ID_FIELD_NUMBER: builtins.int
    BLUEPRINT_NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    REVISION_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    COMPLIANCE_OBJECTIVES_FIELD_NUMBER: builtins.int
    LAST_UPDATED_ON_FIELD_NUMBER: builtins.int
    COMPONENT_INFO_FIELD_NUMBER: builtins.int
    BLUEPRINT_REFERENCE_FIELD_NUMBER: builtins.int
    REQUIREMENTS_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    REFERENCE_PROJECT_ID_FIELD_NUMBER: builtins.int
    CONTEXT_FIELD_NUMBER: builtins.int
    BLUEPRINTS_FIELD_NUMBER: builtins.int
    BLUEPRINT_LOCATION_FIELD_NUMBER: builtins.int
    blueprint_id: builtins.str
    parent_blueprint_id: builtins.str
    blueprint_name: builtins.str
    status: builtins.str
    description: builtins.str
    type: builtins.str
    revision: builtins.str
    version: builtins.str
    author: builtins.str
    @property
    def compliance_objectives(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def last_updated_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def component_info(self) -> global___ComponentInfo: ...
    @property
    def blueprint_reference(self) -> global___ReferencedDocumentModel: ...
    @property
    def requirements(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Requirement]: ...
    is_deleted: builtins.bool
    reference_project_id: builtins.str
    @property
    def context(self) -> global___Context: ...
    @property
    def blueprints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Blueprint]: ...
    blueprint_location: builtins.str
    """bool has_status = 20;
    bool has_reference_project_id = 21;
    """
    def __init__(
        self,
        *,
        blueprint_id: builtins.str = ...,
        parent_blueprint_id: builtins.str = ...,
        blueprint_name: builtins.str = ...,
        status: builtins.str | None = ...,
        description: builtins.str = ...,
        type: builtins.str = ...,
        revision: builtins.str = ...,
        version: builtins.str = ...,
        author: builtins.str = ...,
        compliance_objectives: collections.abc.Iterable[builtins.str] | None = ...,
        last_updated_on: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        component_info: global___ComponentInfo | None = ...,
        blueprint_reference: global___ReferencedDocumentModel | None = ...,
        requirements: collections.abc.Iterable[global___Requirement] | None = ...,
        is_deleted: builtins.bool = ...,
        reference_project_id: builtins.str | None = ...,
        context: global___Context | None = ...,
        blueprints: collections.abc.Iterable[global___Blueprint] | None = ...,
        blueprint_location: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_blueprint_reference", b"_blueprint_reference", "_reference_project_id", b"_reference_project_id", "_status", b"_status", "blueprint_reference", b"blueprint_reference", "component_info", b"component_info", "context", b"context", "last_updated_on", b"last_updated_on", "reference_project_id", b"reference_project_id", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_blueprint_reference", b"_blueprint_reference", "_reference_project_id", b"_reference_project_id", "_status", b"_status", "author", b"author", "blueprint_id", b"blueprint_id", "blueprint_location", b"blueprint_location", "blueprint_name", b"blueprint_name", "blueprint_reference", b"blueprint_reference", "blueprints", b"blueprints", "compliance_objectives", b"compliance_objectives", "component_info", b"component_info", "context", b"context", "description", b"description", "is_deleted", b"is_deleted", "last_updated_on", b"last_updated_on", "parent_blueprint_id", b"parent_blueprint_id", "reference_project_id", b"reference_project_id", "requirements", b"requirements", "revision", b"revision", "status", b"status", "type", b"type", "version", b"version"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_blueprint_reference", b"_blueprint_reference"]) -> typing_extensions.Literal["blueprint_reference"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_reference_project_id", b"_reference_project_id"]) -> typing_extensions.Literal["reference_project_id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_status", b"_status"]) -> typing_extensions.Literal["status"] | None: ...

global___Blueprint = Blueprint

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

    COMPONENT_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    COMPONENT_TYPE_ID_FIELD_NUMBER: builtins.int
    X_POSITION_FIELD_NUMBER: builtins.int
    Y_POSITION_FIELD_NUMBER: builtins.int
    CONNECTIONS_FIELD_NUMBER: builtins.int
    COLLAPSED_FIELD_NUMBER: builtins.int
    component_id: builtins.str
    name: builtins.str
    type: builtins.str
    component_type_id: builtins.str
    x_position: builtins.int
    y_position: builtins.int
    @property
    def connections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ComponentInfo]: ...
    collapsed: builtins.bool
    def __init__(
        self,
        *,
        component_id: builtins.str = ...,
        name: builtins.str = ...,
        type: builtins.str = ...,
        component_type_id: builtins.str = ...,
        x_position: builtins.int = ...,
        y_position: builtins.int = ...,
        connections: collections.abc.Iterable[global___ComponentInfo] | None = ...,
        collapsed: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["collapsed", b"collapsed", "component_id", b"component_id", "component_type_id", b"component_type_id", "connections", b"connections", "name", b"name", "type", b"type", "x_position", b"x_position", "y_position", b"y_position"]) -> None: ...

global___ComponentInfo = ComponentInfo

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

    ENTITY_TYPE_FIELD_NUMBER: builtins.int
    REFERENCE_TYPE_FIELD_NUMBER: builtins.int
    REFERENCE_KEY_FIELD_NUMBER: builtins.int
    DOCUMENT_PRIMARY_KEY_FIELD_NUMBER: builtins.int
    DOCUMENT_ENTITY_KEY_FIELD_NUMBER: builtins.int
    entity_type: builtins.str
    reference_type: builtins.str
    reference_key: builtins.str
    document_primary_key: builtins.str
    document_entity_key: builtins.str
    def __init__(
        self,
        *,
        entity_type: builtins.str = ...,
        reference_type: builtins.str = ...,
        reference_key: builtins.str = ...,
        document_primary_key: builtins.str = ...,
        document_entity_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["document_entity_key", b"document_entity_key", "document_primary_key", b"document_primary_key", "entity_type", b"entity_type", "reference_key", b"reference_key", "reference_type", b"reference_type"]) -> None: ...

global___ReferencedDocumentModel = ReferencedDocumentModel

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

    ID_FIELD_NUMBER: builtins.int
    CONTEXT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CATEGORY_FIELD_NUMBER: builtins.int
    SUB_CATEGORY_FIELD_NUMBER: builtins.int
    COMPONENT_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    GUIDANCE_FIELD_NUMBER: builtins.int
    HI_TRUST_MAPPING_FIELD_NUMBER: builtins.int
    HI_TRUST94_MAPPING_FIELD_NUMBER: builtins.int
    NIST_MAPPING_FIELD_NUMBER: builtins.int
    INDUSTRY_FRAMEWORKS_FIELD_NUMBER: builtins.int
    HL_RS_FIELD_NUMBER: builtins.int
    id: builtins.str
    @property
    def context(self) -> global___Context: ...
    description: builtins.str
    version: builtins.str
    type: builtins.str
    category: builtins.str
    sub_category: builtins.str
    component: builtins.str
    tags: builtins.str
    guidance: builtins.str
    hi_trust_mapping: builtins.str
    hi_trust94_mapping: builtins.str
    nist_mapping: builtins.str
    @property
    def industry_frameworks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IndustryFrameworkMappingModel]: ...
    hl_rs: builtins.str
    """bool has_id = 16;
    bool has_description = 17;
    bool has_version = 18;
    bool has_type = 19;
    bool has_category = 20;
    bool has_sub_category = 21;
    bool has_component = 22;
    bool has_tags = 23;
    bool has_guidance = 24;
    bool has_hi_trust_mapping = 25;
    bool has_hi_trust94_mapping = 26;
    bool has_nist_mapping = 27;
    bool has_hl_rs = 28;
    """
    def __init__(
        self,
        *,
        id: builtins.str | None = ...,
        context: global___Context | None = ...,
        description: builtins.str | None = ...,
        version: builtins.str | None = ...,
        type: builtins.str | None = ...,
        category: builtins.str | None = ...,
        sub_category: builtins.str | None = ...,
        component: builtins.str | None = ...,
        tags: builtins.str | None = ...,
        guidance: builtins.str | None = ...,
        hi_trust_mapping: builtins.str | None = ...,
        hi_trust94_mapping: builtins.str | None = ...,
        nist_mapping: builtins.str | None = ...,
        industry_frameworks: collections.abc.Iterable[global___IndustryFrameworkMappingModel] | None = ...,
        hl_rs: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_category", b"_category", "_component", b"_component", "_description", b"_description", "_guidance", b"_guidance", "_hi_trust94_mapping", b"_hi_trust94_mapping", "_hi_trust_mapping", b"_hi_trust_mapping", "_hl_rs", b"_hl_rs", "_id", b"_id", "_nist_mapping", b"_nist_mapping", "_sub_category", b"_sub_category", "_tags", b"_tags", "_type", b"_type", "_version", b"_version", "category", b"category", "component", b"component", "context", b"context", "description", b"description", "guidance", b"guidance", "hi_trust94_mapping", b"hi_trust94_mapping", "hi_trust_mapping", b"hi_trust_mapping", "hl_rs", b"hl_rs", "id", b"id", "nist_mapping", b"nist_mapping", "sub_category", b"sub_category", "tags", b"tags", "type", b"type", "version", b"version"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_category", b"_category", "_component", b"_component", "_description", b"_description", "_guidance", b"_guidance", "_hi_trust94_mapping", b"_hi_trust94_mapping", "_hi_trust_mapping", b"_hi_trust_mapping", "_hl_rs", b"_hl_rs", "_id", b"_id", "_nist_mapping", b"_nist_mapping", "_sub_category", b"_sub_category", "_tags", b"_tags", "_type", b"_type", "_version", b"_version", "category", b"category", "component", b"component", "context", b"context", "description", b"description", "guidance", b"guidance", "hi_trust94_mapping", b"hi_trust94_mapping", "hi_trust_mapping", b"hi_trust_mapping", "hl_rs", b"hl_rs", "id", b"id", "industry_frameworks", b"industry_frameworks", "nist_mapping", b"nist_mapping", "sub_category", b"sub_category", "tags", b"tags", "type", b"type", "version", b"version"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_category", b"_category"]) -> typing_extensions.Literal["category"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_component", b"_component"]) -> typing_extensions.Literal["component"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_guidance", b"_guidance"]) -> typing_extensions.Literal["guidance"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_hi_trust94_mapping", b"_hi_trust94_mapping"]) -> typing_extensions.Literal["hi_trust94_mapping"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_hi_trust_mapping", b"_hi_trust_mapping"]) -> typing_extensions.Literal["hi_trust_mapping"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_hl_rs", b"_hl_rs"]) -> typing_extensions.Literal["hl_rs"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_id", b"_id"]) -> typing_extensions.Literal["id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_nist_mapping", b"_nist_mapping"]) -> typing_extensions.Literal["nist_mapping"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_sub_category", b"_sub_category"]) -> typing_extensions.Literal["sub_category"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_tags", b"_tags"]) -> typing_extensions.Literal["tags"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_type", b"_type"]) -> typing_extensions.Literal["type"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_version", b"_version"]) -> typing_extensions.Literal["version"] | None: ...

global___Requirement = Requirement

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

    INDUSTRY_FRAMEWORK_ID_FIELD_NUMBER: builtins.int
    MAPPED_REQUIREMENTS_FIELD_NUMBER: builtins.int
    industry_framework_id: builtins.str
    @property
    def mapped_requirements(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        industry_framework_id: builtins.str = ...,
        mapped_requirements: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["industry_framework_id", b"industry_framework_id", "mapped_requirements", b"mapped_requirements"]) -> None: ...

global___IndustryFrameworkMappingModel = IndustryFrameworkMappingModel

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

    ACCESSIBILITY_FIELD_NUMBER: builtins.int
    SUSCEPTIBILITY_FIELD_NUMBER: builtins.int
    APP_ARCHITECTURE_FIELD_NUMBER: builtins.int
    SECURITY_ARCHITECTURE_FIELD_NUMBER: builtins.int
    @property
    def accessibility(self) -> global___AccessibilityAttributes: ...
    @property
    def susceptibility(self) -> global___SusceptibilityAttributes: ...
    @property
    def app_architecture(self) -> global___AppArchitectureAttributes: ...
    @property
    def security_architecture(self) -> global___SecurityArchitectureAttributes: ...
    def __init__(
        self,
        *,
        accessibility: global___AccessibilityAttributes | None = ...,
        susceptibility: global___SusceptibilityAttributes | None = ...,
        app_architecture: global___AppArchitectureAttributes | None = ...,
        security_architecture: global___SecurityArchitectureAttributes | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["accessibility", b"accessibility", "app_architecture", b"app_architecture", "security_architecture", b"security_architecture", "susceptibility", b"susceptibility"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["accessibility", b"accessibility", "app_architecture", b"app_architecture", "security_architecture", b"security_architecture", "susceptibility", b"susceptibility"]) -> None: ...

global___Context = Context

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

    END_USERS_FIELD_NUMBER: builtins.int
    LEVEL_OF_ACCESS_FIELD_NUMBER: builtins.int
    ACCESS_TYPE_FIELD_NUMBER: builtins.int
    APPLICABLE_COMPONENT_SLICES_FIELD_NUMBER: builtins.int
    @property
    def end_users(self) -> global___EndUsers: ...
    @property
    def level_of_access(self) -> global___LevelOfAccess: ...
    @property
    def access_type(self) -> global___AccessType: ...
    @property
    def applicable_component_slices(self) -> global___ApplicableComponentSlices: ...
    def __init__(
        self,
        *,
        end_users: global___EndUsers | None = ...,
        level_of_access: global___LevelOfAccess | None = ...,
        access_type: global___AccessType | None = ...,
        applicable_component_slices: global___ApplicableComponentSlices | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["access_type", b"access_type", "applicable_component_slices", b"applicable_component_slices", "end_users", b"end_users", "level_of_access", b"level_of_access"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_type", b"access_type", "applicable_component_slices", b"applicable_component_slices", "end_users", b"end_users", "level_of_access", b"level_of_access"]) -> None: ...

global___AccessibilityAttributes = AccessibilityAttributes

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

    WORKFORCE_FIELD_NUMBER: builtins.int
    CONSUMERS_FIELD_NUMBER: builtins.int
    BUSINESS_PARTNERS_FIELD_NUMBER: builtins.int
    workforce: builtins.str
    consumers: builtins.str
    business_partners: builtins.str
    def __init__(
        self,
        *,
        workforce: builtins.str = ...,
        consumers: builtins.str = ...,
        business_partners: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["business_partners", b"business_partners", "consumers", b"consumers", "workforce", b"workforce"]) -> None: ...

global___EndUsers = EndUsers

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

    PHYSICAL_FIELD_NUMBER: builtins.int
    OPEN_FIELD_NUMBER: builtins.int
    LIMITED_SENSITIVE_DATA_FIELD_NUMBER: builtins.int
    BROAD_SENSITIVE_DATA_FIELD_NUMBER: builtins.int
    SECURITY_PRIVILEGED_FIELD_NUMBER: builtins.int
    physical: builtins.str
    open: builtins.str
    limited_sensitive_data: builtins.str
    broad_sensitive_data: builtins.str
    security_privileged: builtins.str
    def __init__(
        self,
        *,
        physical: builtins.str = ...,
        open: builtins.str = ...,
        limited_sensitive_data: builtins.str = ...,
        broad_sensitive_data: builtins.str = ...,
        security_privileged: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["broad_sensitive_data", b"broad_sensitive_data", "limited_sensitive_data", b"limited_sensitive_data", "open", b"open", "physical", b"physical", "security_privileged", b"security_privileged"]) -> None: ...

global___LevelOfAccess = LevelOfAccess

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

    EXTERNAL_ACCESS_FIELD_NUMBER: builtins.int
    INTERNAL_ACCESS_FIELD_NUMBER: builtins.int
    REMOTE_ACCESS_FIELD_NUMBER: builtins.int
    WIRELESS_ACCESS_FIELD_NUMBER: builtins.int
    OUTBOUND_ACCESS_FIELD_NUMBER: builtins.int
    external_access: builtins.str
    internal_access: builtins.str
    remote_access: builtins.str
    wireless_access: builtins.str
    outbound_access: builtins.str
    def __init__(
        self,
        *,
        external_access: builtins.str = ...,
        internal_access: builtins.str = ...,
        remote_access: builtins.str = ...,
        wireless_access: builtins.str = ...,
        outbound_access: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["external_access", b"external_access", "internal_access", b"internal_access", "outbound_access", b"outbound_access", "remote_access", b"remote_access", "wireless_access", b"wireless_access"]) -> None: ...

global___AccessType = AccessType

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

    COMPONENT_CORE_FIELD_NUMBER: builtins.int
    USER_INTERFACE_FIELD_NUMBER: builtins.int
    MANAGEMENT_INTERFACE_FIELD_NUMBER: builtins.int
    component_core: builtins.str
    user_interface: builtins.str
    management_interface: builtins.str
    def __init__(
        self,
        *,
        component_core: builtins.str = ...,
        user_interface: builtins.str = ...,
        management_interface: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["component_core", b"component_core", "management_interface", b"management_interface", "user_interface", b"user_interface"]) -> None: ...

global___ApplicableComponentSlices = ApplicableComponentSlices

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

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

global___SusceptibilityAttributes = SusceptibilityAttributes

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

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

global___AppArchitectureAttributes = AppArchitectureAttributes

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

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

global___SecurityArchitectureAttributes = SecurityArchitectureAttributes

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

    CAPABILITY_ID_FIELD_NUMBER: builtins.int
    CAPABILITY_NAME_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    RESOURCE_GAP_FIELD_NUMBER: builtins.int
    RESOURCE_IMPACT_FIELD_NUMBER: builtins.int
    VIOLATIONS_FIELD_NUMBER: builtins.int
    OAK9_GUIDANCE_FIELD_NUMBER: builtins.int
    MAPPED_INDUSTRY_FRAMEWORKS_FIELD_NUMBER: builtins.int
    capability_id: builtins.str
    capability_name: builtins.str
    source: builtins.str
    resource_name: builtins.str
    resource_id: builtins.str
    resource_type: builtins.str
    resource_gap: builtins.str
    resource_impact: builtins.str
    @property
    def violations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Violation]: ...
    oak9_guidance: builtins.str
    @property
    def mapped_industry_frameworks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MappedIndustryFramework]: ...
    def __init__(
        self,
        *,
        capability_id: builtins.str = ...,
        capability_name: builtins.str = ...,
        source: builtins.str = ...,
        resource_name: builtins.str = ...,
        resource_id: builtins.str = ...,
        resource_type: builtins.str = ...,
        resource_gap: builtins.str | None = ...,
        resource_impact: builtins.str | None = ...,
        violations: collections.abc.Iterable[global___Violation] | None = ...,
        oak9_guidance: builtins.str | None = ...,
        mapped_industry_frameworks: collections.abc.Iterable[global___MappedIndustryFramework] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_oak9_guidance", b"_oak9_guidance", "_resource_gap", b"_resource_gap", "_resource_impact", b"_resource_impact", "oak9_guidance", b"oak9_guidance", "resource_gap", b"resource_gap", "resource_impact", b"resource_impact"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_oak9_guidance", b"_oak9_guidance", "_resource_gap", b"_resource_gap", "_resource_impact", b"_resource_impact", "capability_id", b"capability_id", "capability_name", b"capability_name", "mapped_industry_frameworks", b"mapped_industry_frameworks", "oak9_guidance", b"oak9_guidance", "resource_gap", b"resource_gap", "resource_id", b"resource_id", "resource_impact", b"resource_impact", "resource_name", b"resource_name", "resource_type", b"resource_type", "source", b"source", "violations", b"violations"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_oak9_guidance", b"_oak9_guidance"]) -> typing_extensions.Literal["oak9_guidance"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_resource_gap", b"_resource_gap"]) -> typing_extensions.Literal["resource_gap"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_resource_impact", b"_resource_impact"]) -> typing_extensions.Literal["resource_impact"] | None: ...

global___DesignGap = DesignGap

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

    SEVERITY_FIELD_NUMBER: builtins.int
    CONFIG_GAP_FIELD_NUMBER: builtins.int
    CAPABILITY_ID_FIELD_NUMBER: builtins.int
    RESOURCE_ID_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    CONFIG_ID_FIELD_NUMBER: builtins.int
    CONFIG_VALUE_FIELD_NUMBER: builtins.int
    OAK9_GUIDANCE_FIELD_NUMBER: builtins.int
    PREFFERED_VALUE_FIELD_NUMBER: builtins.int
    CAPABILITY_NAME_FIELD_NUMBER: builtins.int
    CONFIG_FIX_FIELD_NUMBER: builtins.int
    CONFIG_IMPACT_FIELD_NUMBER: builtins.int
    EXISTING_CONFIG_FIELD_NUMBER: builtins.int
    severity: builtins.str
    config_gap: builtins.str
    capability_id: builtins.str
    resource_id: builtins.str
    resource_type: builtins.str
    config_id: builtins.str
    config_value: builtins.str
    oak9_guidance: builtins.str
    preffered_value: builtins.str
    capability_name: builtins.str
    config_fix: builtins.str
    config_impact: builtins.str
    existing_config: builtins.bool
    def __init__(
        self,
        *,
        severity: builtins.str | None = ...,
        config_gap: builtins.str | None = ...,
        capability_id: builtins.str | None = ...,
        resource_id: builtins.str | None = ...,
        resource_type: builtins.str | None = ...,
        config_id: builtins.str | None = ...,
        config_value: builtins.str | None = ...,
        oak9_guidance: builtins.str | None = ...,
        preffered_value: builtins.str | None = ...,
        capability_name: builtins.str | None = ...,
        config_fix: builtins.str | None = ...,
        config_impact: builtins.str | None = ...,
        existing_config: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_capability_id", b"_capability_id", "_capability_name", b"_capability_name", "_config_fix", b"_config_fix", "_config_gap", b"_config_gap", "_config_id", b"_config_id", "_config_impact", b"_config_impact", "_config_value", b"_config_value", "_existing_config", b"_existing_config", "_oak9_guidance", b"_oak9_guidance", "_preffered_value", b"_preffered_value", "_resource_id", b"_resource_id", "_resource_type", b"_resource_type", "_severity", b"_severity", "capability_id", b"capability_id", "capability_name", b"capability_name", "config_fix", b"config_fix", "config_gap", b"config_gap", "config_id", b"config_id", "config_impact", b"config_impact", "config_value", b"config_value", "existing_config", b"existing_config", "oak9_guidance", b"oak9_guidance", "preffered_value", b"preffered_value", "resource_id", b"resource_id", "resource_type", b"resource_type", "severity", b"severity"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_capability_id", b"_capability_id", "_capability_name", b"_capability_name", "_config_fix", b"_config_fix", "_config_gap", b"_config_gap", "_config_id", b"_config_id", "_config_impact", b"_config_impact", "_config_value", b"_config_value", "_existing_config", b"_existing_config", "_oak9_guidance", b"_oak9_guidance", "_preffered_value", b"_preffered_value", "_resource_id", b"_resource_id", "_resource_type", b"_resource_type", "_severity", b"_severity", "capability_id", b"capability_id", "capability_name", b"capability_name", "config_fix", b"config_fix", "config_gap", b"config_gap", "config_id", b"config_id", "config_impact", b"config_impact", "config_value", b"config_value", "existing_config", b"existing_config", "oak9_guidance", b"oak9_guidance", "preffered_value", b"preffered_value", "resource_id", b"resource_id", "resource_type", b"resource_type", "severity", b"severity"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_capability_id", b"_capability_id"]) -> typing_extensions.Literal["capability_id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_capability_name", b"_capability_name"]) -> typing_extensions.Literal["capability_name"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_config_fix", b"_config_fix"]) -> typing_extensions.Literal["config_fix"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_config_gap", b"_config_gap"]) -> typing_extensions.Literal["config_gap"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_config_id", b"_config_id"]) -> typing_extensions.Literal["config_id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_config_impact", b"_config_impact"]) -> typing_extensions.Literal["config_impact"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_config_value", b"_config_value"]) -> typing_extensions.Literal["config_value"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_existing_config", b"_existing_config"]) -> typing_extensions.Literal["existing_config"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_oak9_guidance", b"_oak9_guidance"]) -> typing_extensions.Literal["oak9_guidance"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_preffered_value", b"_preffered_value"]) -> typing_extensions.Literal["preffered_value"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_resource_id", b"_resource_id"]) -> typing_extensions.Literal["resource_id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_resource_type", b"_resource_type"]) -> typing_extensions.Literal["resource_type"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_severity", b"_severity"]) -> typing_extensions.Literal["severity"] | None: ...

global___Violation = Violation

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

    INDUSTRY_STANDARD_FIELD_NUMBER: builtins.int
    DISPLAY_NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    industry_standard: builtins.str
    display_name: builtins.str
    description: builtins.str
    def __init__(
        self,
        *,
        industry_standard: builtins.str = ...,
        display_name: builtins.str = ...,
        description: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "display_name", b"display_name", "industry_standard", b"industry_standard"]) -> None: ...

global___MappedIndustryFramework = MappedIndustryFramework

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

    ROOT_NODES_FIELD_NUMBER: builtins.int
    @property
    def root_nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Connection]: ...
    def __init__(
        self,
        *,
        root_nodes: collections.abc.Iterable[global___Connection] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["root_nodes", b"root_nodes"]) -> None: ...

global___Graph = Graph

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

    NODE_FIELD_NUMBER: builtins.int
    EDGE_FIELD_NUMBER: builtins.int
    NEIGHBORS_FIELD_NUMBER: builtins.int
    @property
    def node(self) -> global___Vertex: ...
    @property
    def edge(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def neighbors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Connection]: ...
    def __init__(
        self,
        *,
        node: global___Vertex | None = ...,
        edge: google.protobuf.any_pb2.Any | None = ...,
        neighbors: collections.abc.Iterable[global___Connection] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["edge", b"edge", "node", b"node"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["edge", b"edge", "neighbors", b"neighbors", "node", b"node"]) -> None: ...

global___Connection = Connection

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

    UNIQUE_ID_FIELD_NUMBER: builtins.int
    VERTEX_TYPE_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    RESOURCE_FIELD_NUMBER: builtins.int
    unique_id: builtins.str
    vertex_type: global___VertexType.ValueType
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource(self) -> global___Resource:
        """The type of data is determined by VertexType"""
    def __init__(
        self,
        *,
        unique_id: builtins.str = ...,
        vertex_type: global___VertexType.ValueType = ...,
        labels: collections.abc.Iterable[builtins.str] | None = ...,
        resource: global___Resource | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource", b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["labels", b"labels", "resource", b"resource", "unique_id", b"unique_id", "vertex_type", b"vertex_type"]) -> None: ...

global___Vertex = Vertex

@typing_extensions.final
class ResourceInfo(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: ...

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CSP_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    BLUEPRINT_ID_FIELD_NUMBER: builtins.int
    CONTEXT_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    csp: builtins.str
    resource_type: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    blueprint_id: builtins.str
    @property
    def context(self) -> global___Context: ...
    def __init__(
        self,
        *,
        id: builtins.str | None = ...,
        name: builtins.str | None = ...,
        csp: builtins.str | None = ...,
        resource_type: builtins.str | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        blueprint_id: builtins.str | None = ...,
        context: global___Context | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_blueprint_id", b"_blueprint_id", "_context", b"_context", "_csp", b"_csp", "_id", b"_id", "_name", b"_name", "_resource_type", b"_resource_type", "blueprint_id", b"blueprint_id", "context", b"context", "csp", b"csp", "id", b"id", "name", b"name", "resource_type", b"resource_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_blueprint_id", b"_blueprint_id", "_context", b"_context", "_csp", b"_csp", "_id", b"_id", "_name", b"_name", "_resource_type", b"_resource_type", "blueprint_id", b"blueprint_id", "context", b"context", "csp", b"csp", "id", b"id", "name", b"name", "resource_type", b"resource_type", "tags", b"tags"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_blueprint_id", b"_blueprint_id"]) -> typing_extensions.Literal["blueprint_id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_context", b"_context"]) -> typing_extensions.Literal["context"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_csp", b"_csp"]) -> typing_extensions.Literal["csp"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_id", b"_id"]) -> typing_extensions.Literal["id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_name", b"_name"]) -> typing_extensions.Literal["name"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_resource_type", b"_resource_type"]) -> typing_extensions.Literal["resource_type"] | None: ...

global___ResourceInfo = ResourceInfo

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

    DATA_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.any_pb2.Any: ...
    def __init__(
        self,
        *,
        data: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data", b"data"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data"]) -> None: ...

global___Resource = Resource

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

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

global___RunnerException = RunnerException

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

    GRAPH_FIELD_NUMBER: builtins.int
    BLUEPRINT_FIELD_NUMBER: builtins.int
    PROJECT_CONTEXT_FIELD_NUMBER: builtins.int
    META_INFO_FIELD_NUMBER: builtins.int
    @property
    def graph(self) -> global___Graph: ...
    @property
    def blueprint(self) -> global___Blueprint: ...
    @property
    def project_context(self) -> global___Context: ...
    @property
    def meta_info(self) -> global___ValidationMetaInfo: ...
    def __init__(
        self,
        *,
        graph: global___Graph | None = ...,
        blueprint: global___Blueprint | None = ...,
        project_context: global___Context | None = ...,
        meta_info: global___ValidationMetaInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["blueprint", b"blueprint", "graph", b"graph", "meta_info", b"meta_info", "project_context", b"project_context"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["blueprint", b"blueprint", "graph", b"graph", "meta_info", b"meta_info", "project_context", b"project_context"]) -> None: ...

global___RunnerInput = RunnerInput

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

    CALLER_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    BLUEPRINT_ID_FIELD_NUMBER: builtins.int
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    RESOURCE_ID_FIELD_NUMBER: builtins.int
    COMPLIANCE_OBJECTIVES_FIELD_NUMBER: builtins.int
    caller: builtins.str
    request_id: builtins.str
    resource_type: builtins.str
    blueprint_id: builtins.str
    resource_name: builtins.str
    resource_id: builtins.str
    @property
    def compliance_objectives(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        caller: builtins.str = ...,
        request_id: builtins.str = ...,
        resource_type: builtins.str = ...,
        blueprint_id: builtins.str = ...,
        resource_name: builtins.str = ...,
        resource_id: builtins.str = ...,
        compliance_objectives: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["blueprint_id", b"blueprint_id", "caller", b"caller", "compliance_objectives", b"compliance_objectives", "request_id", b"request_id", "resource_id", b"resource_id", "resource_name", b"resource_name", "resource_type", b"resource_type"]) -> None: ...

global___ValidationMetaInfo = ValidationMetaInfo

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

    DESIGN_GAPS_FIELD_NUMBER: builtins.int
    REQUIREMENTS_FIELD_NUMBER: builtins.int
    EXCEPTIONS_FIELD_NUMBER: builtins.int
    @property
    def design_gaps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DesignGap]: ...
    @property
    def requirements(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ValidationRequirement]: ...
    @property
    def exceptions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RunnerException]: ...
    def __init__(
        self,
        *,
        design_gaps: collections.abc.Iterable[global___DesignGap] | None = ...,
        requirements: collections.abc.Iterable[global___ValidationRequirement] | None = ...,
        exceptions: collections.abc.Iterable[global___RunnerException] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["design_gaps", b"design_gaps", "exceptions", b"exceptions", "requirements", b"requirements"]) -> None: ...

global___ValidationReply = ValidationReply

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

    REQUIREMENT_TYPE_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    requirement_type: global___RequirementType.ValueType
    @property
    def parameters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        requirement_type: global___RequirementType.ValueType = ...,
        parameters: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["parameters", b"parameters", "requirement_type", b"requirement_type"]) -> None: ...

global___ValidationRequirement = ValidationRequirement
