"""
@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.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import qwak.build.v1.build_pb2
import qwak.fitness_service.fitness_pb2
import qwak.user_application.common.v0.resources_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 _PhaseStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PhaseStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PhaseStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PHASE_STATUS_INVALID: _PhaseStatus.ValueType  # 0
    PHASE_STATUS_IN_PROGRESS: _PhaseStatus.ValueType  # 1
    PHASE_STATUS_SUCCESSFUL: _PhaseStatus.ValueType  # 2
    PHASE_STATUS_FAILED: _PhaseStatus.ValueType  # 3
    PHASE_STATUS_CANCELLED: _PhaseStatus.ValueType  # 4

class PhaseStatus(_PhaseStatus, metaclass=_PhaseStatusEnumTypeWrapper): ...

PHASE_STATUS_INVALID: PhaseStatus.ValueType  # 0
PHASE_STATUS_IN_PROGRESS: PhaseStatus.ValueType  # 1
PHASE_STATUS_SUCCESSFUL: PhaseStatus.ValueType  # 2
PHASE_STATUS_FAILED: PhaseStatus.ValueType  # 3
PHASE_STATUS_CANCELLED: PhaseStatus.ValueType  # 4
global___PhaseStatus = PhaseStatus

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

class _FailureReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FailureReason.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    FAILURE_REASON_UNSPECIFIED: _FailureReason.ValueType  # 0
    FAILURE_REASON_AVAILABLE_IN_LOGS: _FailureReason.ValueType  # 1
    FAILURE_REASON_OUT_OF_MEMORY: _FailureReason.ValueType  # 2

class FailureReason(_FailureReason, metaclass=_FailureReasonEnumTypeWrapper): ...

FAILURE_REASON_UNSPECIFIED: FailureReason.ValueType  # 0
FAILURE_REASON_AVAILABLE_IN_LOGS: FailureReason.ValueType  # 1
FAILURE_REASON_OUT_OF_MEMORY: FailureReason.ValueType  # 2
global___FailureReason = FailureReason

class SaveFrameworkModelsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SPEC_FIELD_NUMBER: builtins.int
    @property
    def spec(self) -> qwak.build.v1.build_pb2.FrameworkModelsSpec: ...
    def __init__(
        self,
        *,
        spec: qwak.build.v1.build_pb2.FrameworkModelsSpec | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["spec", b"spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["spec", b"spec"]) -> None: ...

global___SaveFrameworkModelsRequest = SaveFrameworkModelsRequest

class SaveFrameworkModelsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___SaveFrameworkModelsResponse = SaveFrameworkModelsResponse

class RegisterBuildRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILDID_FIELD_NUMBER: builtins.int
    COMMITID_FIELD_NUMBER: builtins.int
    MODELID_FIELD_NUMBER: builtins.int
    BUILDCONFIG_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    STEPS_FIELD_NUMBER: builtins.int
    buildId: builtins.str
    commitId: builtins.str
    modelId: builtins.str
    buildConfig: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def steps(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        buildId: builtins.str = ...,
        commitId: builtins.str = ...,
        modelId: builtins.str = ...,
        buildConfig: builtins.str = ...,
        tags: collections.abc.Iterable[builtins.str] | None = ...,
        steps: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["buildConfig", b"buildConfig", "buildId", b"buildId", "commitId", b"commitId", "modelId", b"modelId", "steps", b"steps", "tags", b"tags"]) -> None: ...

global___RegisterBuildRequest = RegisterBuildRequest

class RegisterBuildResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RegisterBuildResponse = RegisterBuildResponse

class UpdateBuildStatusRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILDID_FIELD_NUMBER: builtins.int
    BUILD_STATUS_FIELD_NUMBER: builtins.int
    buildId: builtins.str
    build_status: qwak.build.v1.build_pb2.BuildStatus.ValueType
    def __init__(
        self,
        *,
        buildId: builtins.str = ...,
        build_status: qwak.build.v1.build_pb2.BuildStatus.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["buildId", b"buildId", "build_status", b"build_status"]) -> None: ...

global___UpdateBuildStatusRequest = UpdateBuildStatusRequest

class UpdateBuildStatusResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___UpdateBuildStatusResponse = UpdateBuildStatusResponse

class RegisterExperimentTrackingRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class ParamsEntry(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: ...

    class MetricsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

    BUILD_ID_FIELD_NUMBER: builtins.int
    PARAMS_FIELD_NUMBER: builtins.int
    METRICS_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    @property
    def params(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def metrics(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: ...
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        params: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        metrics: collections.abc.Mapping[builtins.str, builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id", "metrics", b"metrics", "params", b"params"]) -> None: ...

global___RegisterExperimentTrackingRequest = RegisterExperimentTrackingRequest

class RegisterExperimentTrackingResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RegisterExperimentTrackingResponse = RegisterExperimentTrackingResponse

class RegisterModelSchemaRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_ID_FIELD_NUMBER: builtins.int
    MODEL_SCHEMA_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    @property
    def model_schema(self) -> qwak.build.v1.build_pb2.ModelSchema: ...
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        model_schema: qwak.build.v1.build_pb2.ModelSchema | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["model_schema", b"model_schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id", "model_schema", b"model_schema"]) -> None: ...

global___RegisterModelSchemaRequest = RegisterModelSchemaRequest

class RegisterModelSchemaResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RegisterModelSchemaResponse = RegisterModelSchemaResponse

class GetBuildRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetBuildRequest = GetBuildRequest

class GetBuildResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_FIELD_NUMBER: builtins.int
    @property
    def build(self) -> qwak.build.v1.build_pb2.Build: ...
    def __init__(
        self,
        *,
        build: qwak.build.v1.build_pb2.Build | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["build", b"build"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build", b"build"]) -> None: ...

global___GetBuildResponse = GetBuildResponse

class ListBuildsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BRANCH_ID_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    MODEL_UUID_FIELD_NUMBER: builtins.int
    branch_id: builtins.str
    @property
    def filter(self) -> qwak.build.v1.build_pb2.BuildFilter: ...
    model_uuid: builtins.str
    def __init__(
        self,
        *,
        branch_id: builtins.str = ...,
        filter: qwak.build.v1.build_pb2.BuildFilter | None = ...,
        model_uuid: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["filter", b"filter"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["branch_id", b"branch_id", "filter", b"filter", "model_uuid", b"model_uuid"]) -> None: ...

global___ListBuildsRequest = ListBuildsRequest

class ListBuildsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_FIELD_NUMBER: builtins.int
    @property
    def build(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.build.v1.build_pb2.Build]: ...
    def __init__(
        self,
        *,
        build: collections.abc.Iterable[qwak.build.v1.build_pb2.Build] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build", b"build"]) -> None: ...

global___ListBuildsResponse = ListBuildsResponse

class RegisterTagsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RegisterTagsRequest = RegisterTagsRequest

class RegisterTagsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RegisterTagsResponse = RegisterTagsResponse

class LogPhaseStatusRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_ID_FIELD_NUMBER: builtins.int
    PHASE_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    PHASE_DURATION_IN_SECONDS_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    phase_id: builtins.str
    status: global___PhaseStatus.ValueType
    phase_duration_in_seconds: builtins.int
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        phase_id: builtins.str = ...,
        status: global___PhaseStatus.ValueType = ...,
        phase_duration_in_seconds: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id", "phase_duration_in_seconds", b"phase_duration_in_seconds", "phase_id", b"phase_id", "status", b"status"]) -> None: ...

global___LogPhaseStatusRequest = LogPhaseStatusRequest

class LogPhaseStatusResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___LogPhaseStatusResponse = LogPhaseStatusResponse

class GetPhaseStatusesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetPhaseStatusesRequest = GetPhaseStatusesRequest

class PhaseStatusLog(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PHASE_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    PHASE_DURATION_IN_SECONDS_FIELD_NUMBER: builtins.int
    POD_FAILURE_REASON_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_AT_FIELD_NUMBER: builtins.int
    phase_id: builtins.str
    status: global___PhaseStatus.ValueType
    phase_duration_in_seconds: builtins.int
    pod_failure_reason: global___FailureReason.ValueType
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        phase_id: builtins.str = ...,
        status: global___PhaseStatus.ValueType = ...,
        phase_duration_in_seconds: builtins.int = ...,
        pod_failure_reason: global___FailureReason.ValueType = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "last_modified_at", b"last_modified_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "last_modified_at", b"last_modified_at", "phase_duration_in_seconds", b"phase_duration_in_seconds", "phase_id", b"phase_id", "pod_failure_reason", b"pod_failure_reason", "status", b"status"]) -> None: ...

global___PhaseStatusLog = PhaseStatusLog

class GetPhaseStatusesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetPhaseStatusesResponse = GetPhaseStatusesResponse

class DeleteBuildRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeleteBuildRequest = DeleteBuildRequest

class DeleteBuildResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___DeleteBuildResponse = DeleteBuildResponse

class GetTagPathRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    MODEL_ID_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    TAG_NAME_FIELD_NUMBER: builtins.int
    environment_id: builtins.str
    model_id: builtins.str
    build_id: builtins.str
    tag_name: builtins.str
    def __init__(
        self,
        *,
        environment_id: builtins.str = ...,
        model_id: builtins.str = ...,
        build_id: builtins.str = ...,
        tag_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id", "environment_id", b"environment_id", "model_id", b"model_id", "tag_name", b"tag_name"]) -> None: ...

global___GetTagPathRequest = GetTagPathRequest

class GetTagPathResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetTagPathResponse = GetTagPathResponse

class RerunBuildFromExistingRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXISTING_BUILD_ID_FIELD_NUMBER: builtins.int
    NEW_BUILD_CONFIGURATION_FIELD_NUMBER: builtins.int
    RESOURCES_FIELD_NUMBER: builtins.int
    PURCHASE_OPTION_FIELD_NUMBER: builtins.int
    existing_build_id: builtins.str
    @property
    def new_build_configuration(self) -> qwak.build.v1.build_pb2.BuildConfiguration: ...
    @property
    def resources(self) -> qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources:
        """Build pod compute resources"""
    purchase_option: qwak.fitness_service.fitness_pb2.PurchaseOption.ValueType
    def __init__(
        self,
        *,
        existing_build_id: builtins.str = ...,
        new_build_configuration: qwak.build.v1.build_pb2.BuildConfiguration | None = ...,
        resources: qwak.user_application.common.v0.resources_pb2.ClientPodComputeResources | None = ...,
        purchase_option: qwak.fitness_service.fitness_pb2.PurchaseOption.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["new_build_configuration", b"new_build_configuration", "resources", b"resources"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["existing_build_id", b"existing_build_id", "new_build_configuration", b"new_build_configuration", "purchase_option", b"purchase_option", "resources", b"resources"]) -> None: ...

global___RerunBuildFromExistingRequest = RerunBuildFromExistingRequest

class RerunBuildFromExistingResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RerunBuildFromExistingResponse = RerunBuildFromExistingResponse

class GetBuildsArtifactsScanSummaryRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_ID_FIELD_NUMBER: builtins.int
    ARTIFACT_NAME_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    """The build id to bring scans for"""
    artifact_name: builtins.str
    """The artifact name to get summary for"""
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        artifact_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["artifact_name", b"artifact_name", "build_id", b"build_id"]) -> None: ...

global___GetBuildsArtifactsScanSummaryRequest = GetBuildsArtifactsScanSummaryRequest

class GetBuildsArtifactsScanSummaryResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class ResultByArtifactNameEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> qwak.build.v1.build_pb2.ScanResultSummary: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: qwak.build.v1.build_pb2.ScanResultSummary | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESULT_FIELD_NUMBER: builtins.int
    UI_DIRECT_LINK_FIELD_NUMBER: builtins.int
    RESULT_BY_ARTIFACT_NAME_FIELD_NUMBER: builtins.int
    @property
    def result(self) -> qwak.build.v1.build_pb2.ScanResultSummary:
        """The scan result summary"""
    ui_direct_link: builtins.str
    """Ui link scan result"""
    @property
    def result_by_artifact_name(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, qwak.build.v1.build_pb2.ScanResultSummary]: ...
    def __init__(
        self,
        *,
        result: qwak.build.v1.build_pb2.ScanResultSummary | None = ...,
        ui_direct_link: builtins.str = ...,
        result_by_artifact_name: collections.abc.Mapping[builtins.str, qwak.build.v1.build_pb2.ScanResultSummary] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["result", b"result"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["result", b"result", "result_by_artifact_name", b"result_by_artifact_name", "ui_direct_link", b"ui_direct_link"]) -> None: ...

global___GetBuildsArtifactsScanSummaryResponse = GetBuildsArtifactsScanSummaryResponse

class GetBuildImageDetailsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetBuildImageDetailsRequest = GetBuildImageDetailsRequest

class GetBuildImageDetailsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_IMAGE_DETAILS_FIELD_NUMBER: builtins.int
    @property
    def build_image_details(self) -> qwak.build.v1.build_pb2.BuildImageDetails: ...
    def __init__(
        self,
        *,
        build_image_details: qwak.build.v1.build_pb2.BuildImageDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["build_image_details", b"build_image_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_image_details", b"build_image_details"]) -> None: ...

global___GetBuildImageDetailsResponse = GetBuildImageDetailsResponse
