"""
@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 prodvana.proto.prodvana.common_config.parameters_pb2
import prodvana.proto.prodvana.object.meta_pb2
import prodvana.proto.prodvana.recipe.recipe_config_pb2
import prodvana.proto.prodvana.version.source_metadata_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    SOURCE_FIELD_NUMBER: builtins.int
    SOURCE_METADATA_FIELD_NUMBER: builtins.int
    RECIPE_CONFIG_FIELD_NUMBER: builtins.int
    source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType
    @property
    def source_metadata(self) -> prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata: ...
    @property
    def recipe_config(self) -> prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig: ...
    def __init__(
        self,
        *,
        source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType = ...,
        source_metadata: prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata | None = ...,
        recipe_config: prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["recipe_config", b"recipe_config", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["recipe_config", b"recipe_config", "source", b"source", "source_metadata", b"source_metadata"]) -> None: ...

global___ConfigureRecipeReq = ConfigureRecipeReq

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

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

global___ConfigureRecipeResp = ConfigureRecipeResp

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

    COMPILED_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def compiled_config(self) -> prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig: ...
    def __init__(
        self,
        *,
        compiled_config: prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config"]) -> None: ...

global___ValidateConfigureRecipeResp = ValidateConfigureRecipeResp

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

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

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

    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    SERVICE_FILTER_FIELD_NUMBER: builtins.int
    page_token: builtins.str
    page_size: builtins.int
    @property
    def service_filter(self) -> global___ListRecipesReq.ByService: ...
    def __init__(
        self,
        *,
        page_token: builtins.str = ...,
        page_size: builtins.int = ...,
        service_filter: global___ListRecipesReq.ByService | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["filter", b"filter", "service_filter", b"service_filter"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["filter", b"filter", "page_size", b"page_size", "page_token", b"page_token", "service_filter", b"service_filter"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["filter", b"filter"]) -> typing_extensions.Literal["service_filter"] | None: ...

global___ListRecipesReq = ListRecipesReq

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

    RECIPES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def recipes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Recipe]: ...
    next_page_token: builtins.str
    def __init__(
        self,
        *,
        recipes: collections.abc.Iterable[global___Recipe] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["next_page_token", b"next_page_token", "recipes", b"recipes"]) -> None: ...

global___ListRecipesResp = ListRecipesResp

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

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

global___GetRecipeReq = GetRecipeReq

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

    RECIPE_FIELD_NUMBER: builtins.int
    @property
    def recipe(self) -> global___Recipe: ...
    def __init__(
        self,
        *,
        recipe: global___Recipe | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["recipe", b"recipe"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["recipe", b"recipe"]) -> None: ...

global___GetRecipeResp = GetRecipeResp

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

    RECIPE_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    recipe: builtins.str
    version: builtins.str
    """omit to get latest version"""
    def __init__(
        self,
        *,
        recipe: builtins.str = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["recipe", b"recipe", "version", b"version"]) -> None: ...

global___GetRecipeConfigReq = GetRecipeConfigReq

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

    INPUT_CONFIG_FIELD_NUMBER: builtins.int
    COMPILED_CONFIG_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    @property
    def input_config(self) -> prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig: ...
    @property
    def compiled_config(self) -> prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig: ...
    version: builtins.str
    """next tag: 4"""
    def __init__(
        self,
        *,
        input_config: prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig | None = ...,
        compiled_config: prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig | None = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "input_config", b"input_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "input_config", b"input_config", "version", b"version"]) -> None: ...

global___GetRecipeConfigResp = GetRecipeConfigResp

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

    SOURCE_FIELD_NUMBER: builtins.int
    SOURCE_METADATA_FIELD_NUMBER: builtins.int
    RECIPE_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType
    @property
    def source_metadata(self) -> prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata: ...
    recipe: builtins.str
    @property
    def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue]: ...
    def __init__(
        self,
        *,
        source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType = ...,
        source_metadata: prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata | None = ...,
        recipe: builtins.str = ...,
        parameters: collections.abc.Iterable[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["source_metadata", b"source_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["parameters", b"parameters", "recipe", b"recipe", "source", b"source", "source_metadata", b"source_metadata"]) -> None: ...

global___ApplyRecipeParametersReq = ApplyRecipeParametersReq

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

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

        SERVICE_FIELD_NUMBER: builtins.int
        SERVICE_ID_FIELD_NUMBER: builtins.int
        SERVICE_VERSION_FIELD_NUMBER: builtins.int
        APPLICATION_FIELD_NUMBER: builtins.int
        APPLICATION_ID_FIELD_NUMBER: builtins.int
        service: builtins.str
        service_id: builtins.str
        service_version: builtins.str
        application: builtins.str
        application_id: builtins.str
        def __init__(
            self,
            *,
            service: builtins.str = ...,
            service_id: builtins.str = ...,
            service_version: builtins.str = ...,
            application: builtins.str = ...,
            application_id: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "application_id", b"application_id", "service", b"service", "service_id", b"service_id", "service_version", b"service_version"]) -> None: ...

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

global___ApplyRecipeParametersResp = ApplyRecipeParametersResp

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

    META_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    @property
    def meta(self) -> prodvana.proto.prodvana.object.meta_pb2.ObjectMeta: ...
    @property
    def config(self) -> prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig: ...
    def __init__(
        self,
        *,
        meta: prodvana.proto.prodvana.object.meta_pb2.ObjectMeta | None = ...,
        config: prodvana.proto.prodvana.recipe.recipe_config_pb2.RecipeConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["config", b"config", "meta", b"meta"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["config", b"config", "meta", b"meta"]) -> None: ...

global___Recipe = Recipe
