"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import prodvana.proto.prodvana.common_config.parameters_pb2
import prodvana.proto.prodvana.convergence.convergence_mode_pb2
import prodvana.proto.prodvana.insights.insights_pb2
import prodvana.proto.prodvana.metrics.metrics_pb2
import prodvana.proto.prodvana.repo.repo_pb2
import prodvana.proto.prodvana.service.object_pb2
import prodvana.proto.prodvana.service.parameters_pb2
import prodvana.proto.prodvana.service.service_config_pb2
import prodvana.proto.prodvana.service.user_metadata_pb2
import prodvana.proto.prodvana.stat.efficiency_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 ServiceConfigVersionReference(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    SERVICE_CONFIG_VERSION_FIELD_NUMBER: builtins.int
    application: builtins.str
    """TODO(naphat) unify with ApplyParametersReq below"""
    service: builtins.str
    service_config_version: builtins.str
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service: builtins.str = ...,
        service_config_version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "service", b"service", "service_config_version", b"service_config_version"]) -> None: ...

global___ServiceConfigVersionReference = ServiceConfigVersionReference

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

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    SERVICE_CONFIG_VERSION_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    PER_RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    application: builtins.str
    service: builtins.str
    service_config_version: builtins.str
    @property
    def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue]: ...
    @property
    def per_release_channel(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplyParametersReq.PerReleaseChannel]: ...
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service: builtins.str = ...,
        service_config_version: builtins.str = ...,
        parameters: collections.abc.Iterable[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue] | None = ...,
        per_release_channel: collections.abc.Iterable[global___ApplyParametersReq.PerReleaseChannel] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "parameters", b"parameters", "per_release_channel", b"per_release_channel", "service", b"service", "service_config_version", b"service_config_version"]) -> None: ...

global___GenerateVersionNameReq = GenerateVersionNameReq

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

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

global___GenerateVersionNameResp = GenerateVersionNameResp

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

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

        RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
        PARAMETERS_FIELD_NUMBER: builtins.int
        release_channel: builtins.str
        @property
        def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue]:
            """takes precedence over any parameters set at top level"""
        def __init__(
            self,
            *,
            release_channel: builtins.str = ...,
            parameters: collections.abc.Iterable[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["parameters", b"parameters", "release_channel", b"release_channel"]) -> None: ...

    SERVICE_CONFIG_FIELD_NUMBER: builtins.int
    SERVICE_CONFIG_VERSION_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    PER_RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    TEST_ONLY_SKIP_REGISTRY_CHECK_FIELD_NUMBER: builtins.int
    APPLICATION_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    SOURCE_METADATA_FIELD_NUMBER: builtins.int
    BUNDLE_NAME_OVERRIDE_FIELD_NUMBER: builtins.int
    HANDLE_BUNDLE_NAME_DUPLICATE_FIELD_NUMBER: builtins.int
    SKIP_RUNTIME_VALIDATION_FIELD_NUMBER: builtins.int
    @property
    def service_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig: ...
    @property
    def service_config_version(self) -> global___ServiceConfigVersionReference: ...
    @property
    def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue]: ...
    @property
    def per_release_channel(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplyParametersReq.PerReleaseChannel]: ...
    test_only_skip_registry_check: builtins.bool
    """skip any kind of attempts to contact container registry, e.g. to check if image exists or get program defaults"""
    application: builtins.str
    """application can be specified here or as part of service config"""
    source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType
    @property
    def source_metadata(self) -> prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata: ...
    bundle_name_override: builtins.str
    handle_bundle_name_duplicate: builtins.bool
    """if the bundle name override exists already, handle duplicate by appending a number"""
    skip_runtime_validation: builtins.bool
    """skip talking to runtimes for validation, can be useful to speed up the validation at the cost of not actually fully validating the config"""
    def __init__(
        self,
        *,
        service_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        service_config_version: global___ServiceConfigVersionReference | None = ...,
        parameters: collections.abc.Iterable[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterValue] | None = ...,
        per_release_channel: collections.abc.Iterable[global___ApplyParametersReq.PerReleaseChannel] | None = ...,
        test_only_skip_registry_check: builtins.bool = ...,
        application: builtins.str = ...,
        source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType = ...,
        source_metadata: prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata | None = ...,
        bundle_name_override: builtins.str = ...,
        handle_bundle_name_duplicate: builtins.bool = ...,
        skip_runtime_validation: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["oneof", b"oneof", "service_config", b"service_config", "service_config_version", b"service_config_version", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "bundle_name_override", b"bundle_name_override", "handle_bundle_name_duplicate", b"handle_bundle_name_duplicate", "oneof", b"oneof", "parameters", b"parameters", "per_release_channel", b"per_release_channel", "service_config", b"service_config", "service_config_version", b"service_config_version", "skip_runtime_validation", b"skip_runtime_validation", "source", b"source", "source_metadata", b"source_metadata", "test_only_skip_registry_check", b"test_only_skip_registry_check"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["oneof", b"oneof"]) -> typing_extensions.Literal["service_config", "service_config_version"] | None: ...

global___ApplyParametersReq = ApplyParametersReq

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

    SERVICE_ID_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    EFFICIENCY_STAT_FIELD_NUMBER: builtins.int
    service_id: builtins.str
    version: builtins.str
    @property
    def efficiency_stat(self) -> prodvana.proto.prodvana.stat.efficiency_pb2.EfficiencyStat:
        """only set if compute_efficiency was set in request"""
    def __init__(
        self,
        *,
        service_id: builtins.str = ...,
        version: builtins.str = ...,
        efficiency_stat: prodvana.proto.prodvana.stat.efficiency_pb2.EfficiencyStat | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["efficiency_stat", b"efficiency_stat"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["efficiency_stat", b"efficiency_stat", "service_id", b"service_id", "version", b"version"]) -> None: ...

global___ApplyParametersResp = ApplyParametersResp

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

    CONFIG_FIELD_NUMBER: builtins.int
    COMPILED_CONFIG_FIELD_NUMBER: builtins.int
    APP_VERSION_FIELD_NUMBER: builtins.int
    COMPILED_SERVICE_INSTANCE_CONFIGS_FIELD_NUMBER: builtins.int
    @property
    def config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """config as passed in by user"""
    @property
    def compiled_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """config with defaults applied"""
    app_version: builtins.str
    """the app version that is used for validation"""
    @property
    def compiled_service_instance_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.service.service_config_pb2.CompiledServiceInstanceConfig]:
        """compiled config per release channel, with per-release-channel overrides applied"""
    def __init__(
        self,
        *,
        config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        compiled_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        app_version: builtins.str = ...,
        compiled_service_instance_configs: collections.abc.Iterable[prodvana.proto.prodvana.service.service_config_pb2.CompiledServiceInstanceConfig] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "config", b"config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["app_version", b"app_version", "compiled_config", b"compiled_config", "compiled_service_instance_configs", b"compiled_service_instance_configs", "config", b"config"]) -> None: ...

global___ValidateApplyParametersResp = ValidateApplyParametersResp

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

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

global___GetMaterializedConfigReq = GetMaterializedConfigReq

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

    CONFIG_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    COMPILED_CONFIG_FIELD_NUMBER: builtins.int
    COMPILED_SERVICE_INSTANCE_CONFIGS_FIELD_NUMBER: builtins.int
    VERSION_METADATA_FIELD_NUMBER: builtins.int
    @property
    def config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """config as passed in by user"""
    version: builtins.str
    @property
    def compiled_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """config with defaults applied"""
    @property
    def compiled_service_instance_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.service.service_config_pb2.CompiledServiceInstanceConfig]:
        """compiled config per release channel, with per-release-channel overrides applied"""
    @property
    def version_metadata(self) -> global___ListMaterializedConfigVersionsResp.VersionMetadata: ...
    def __init__(
        self,
        *,
        config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        version: builtins.str = ...,
        compiled_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        compiled_service_instance_configs: collections.abc.Iterable[prodvana.proto.prodvana.service.service_config_pb2.CompiledServiceInstanceConfig] | None = ...,
        version_metadata: global___ListMaterializedConfigVersionsResp.VersionMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "config", b"config", "version_metadata", b"version_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "compiled_service_instance_configs", b"compiled_service_instance_configs", "config", b"config", "version", b"version", "version_metadata", b"version_metadata"]) -> None: ...

global___GetMaterializedConfigResp = GetMaterializedConfigResp

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

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

global___DeleteServiceReq = DeleteServiceReq

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

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

global___DeleteServiceResp = DeleteServiceResp

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

    APPLICATION_FIELD_NUMBER: builtins.int
    DETAILED_FIELD_NUMBER: builtins.int
    application: builtins.str
    detailed: builtins.bool
    """if not set, only meta without version is returned"""
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        detailed: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "detailed", b"detailed"]) -> None: ...

global___ListServicesReq = ListServicesReq

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

    SERVICES_FIELD_NUMBER: builtins.int
    @property
    def services(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.service.object_pb2.Service]: ...
    def __init__(
        self,
        *,
        services: collections.abc.Iterable[prodvana.proto.prodvana.service.object_pb2.Service] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["services", b"services"]) -> None: ...

global___ListServicesResp = ListServicesResp

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

global___GetServiceReq = GetServiceReq

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

    SERVICE_FIELD_NUMBER: builtins.int
    @property
    def service(self) -> prodvana.proto.prodvana.service.object_pb2.Service: ...
    def __init__(
        self,
        *,
        service: prodvana.proto.prodvana.service.object_pb2.Service | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["service", b"service"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["service", b"service"]) -> None: ...

global___GetServiceResp = GetServiceResp

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

global___ListServiceInstancesReq = ListServiceInstancesReq

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

    SERVICE_INSTANCES_FIELD_NUMBER: builtins.int
    @property
    def service_instances(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.service.object_pb2.ServiceInstance]: ...
    def __init__(
        self,
        *,
        service_instances: collections.abc.Iterable[prodvana.proto.prodvana.service.object_pb2.ServiceInstance] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["service_instances", b"service_instances"]) -> None: ...

global___ListServiceInstancesResp = ListServiceInstancesResp

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

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

global___GetServiceInstanceReq = GetServiceInstanceReq

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

    SERVICE_INSTANCE_FIELD_NUMBER: builtins.int
    @property
    def service_instance(self) -> prodvana.proto.prodvana.service.object_pb2.ServiceInstance: ...
    def __init__(
        self,
        *,
        service_instance: prodvana.proto.prodvana.service.object_pb2.ServiceInstance | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["service_instance", b"service_instance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["service_instance", b"service_instance"]) -> None: ...

global___GetServiceInstanceResp = GetServiceInstanceResp

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

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    START_TIMESTAMP_FIELD_NUMBER: builtins.int
    END_TIMESTAMP_FIELD_NUMBER: builtins.int
    INCLUDE_COST_FIELD_NUMBER: builtins.int
    application: builtins.str
    service: builtins.str
    @property
    def start_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def end_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    include_cost: builtins.bool
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service: builtins.str = ...,
        start_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        include_cost: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["end_timestamp", b"end_timestamp", "start_timestamp", b"start_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "end_timestamp", b"end_timestamp", "include_cost", b"include_cost", "service", b"service", "start_timestamp", b"start_timestamp"]) -> None: ...

global___GetServiceMetricsReq = GetServiceMetricsReq

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

    DEPLOYMENT_METRICS_FIELD_NUMBER: builtins.int
    COST_FIELD_NUMBER: builtins.int
    @property
    def deployment_metrics(self) -> prodvana.proto.prodvana.metrics.metrics_pb2.DeploymentMetrics: ...
    @property
    def cost(self) -> prodvana.proto.prodvana.metrics.metrics_pb2.Cost: ...
    def __init__(
        self,
        *,
        deployment_metrics: prodvana.proto.prodvana.metrics.metrics_pb2.DeploymentMetrics | None = ...,
        cost: prodvana.proto.prodvana.metrics.metrics_pb2.Cost | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cost", b"cost", "deployment_metrics", b"deployment_metrics"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cost", b"cost", "deployment_metrics", b"deployment_metrics"]) -> None: ...

global___GetServiceMetricsResp = GetServiceMetricsResp

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

global___GetServiceInsightsReq = GetServiceInsightsReq

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

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

global___ListCommitsReq = ListCommitsReq

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

    COMMITS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def commits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.repo.repo_pb2.Commit]: ...
    next_page_token: builtins.str
    def __init__(
        self,
        *,
        commits: collections.abc.Iterable[prodvana.proto.prodvana.repo.repo_pb2.Commit] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["commits", b"commits", "next_page_token", b"next_page_token"]) -> None: ...

global___ListCommitsResp = ListCommitsResp

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

    INSIGHTS_FIELD_NUMBER: builtins.int
    @property
    def insights(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.insights.insights_pb2.Insight]: ...
    def __init__(
        self,
        *,
        insights: collections.abc.Iterable[prodvana.proto.prodvana.insights.insights_pb2.Insight] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["insights", b"insights"]) -> None: ...

global___GetServiceInsightsResp = GetServiceInsightsResp

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

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    CLASS_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    application: builtins.str
    service: builtins.str
    @property
    def duration(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service: builtins.str = ...,
        duration: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["duration", b"duration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "class", b"class", "duration", b"duration", "service", b"service"]) -> None: ...

global___SnoozeServiceInsightReq = SnoozeServiceInsightReq

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

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

global___SnoozeServiceInsightResp = SnoozeServiceInsightResp

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

global___GetServiceMetadataReq = GetServiceMetadataReq

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

    METADATA_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> prodvana.proto.prodvana.service.user_metadata_pb2.ServiceUserMetadata:
        """metadata with no variables substitution, no modifications from parents"""
    def __init__(
        self,
        *,
        metadata: prodvana.proto.prodvana.service.user_metadata_pb2.ServiceUserMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> None: ...

global___GetServiceMetadataResp = GetServiceMetadataResp

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

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    application: builtins.str
    service: builtins.str
    @property
    def metadata(self) -> prodvana.proto.prodvana.service.user_metadata_pb2.ServiceUserMetadata: ...
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service: builtins.str = ...,
        metadata: prodvana.proto.prodvana.service.user_metadata_pb2.ServiceUserMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "metadata", b"metadata", "service", b"service"]) -> None: ...

global___SetServiceMetadataReq = SetServiceMetadataReq

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

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

global___SetServiceMetadataResp = SetServiceMetadataResp

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

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    CONVERGENCE_MODE_FIELD_NUMBER: builtins.int
    application: builtins.str
    service: builtins.str
    convergence_mode: prodvana.proto.prodvana.convergence.convergence_mode_pb2.ConvergenceMode.ValueType
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service: builtins.str = ...,
        convergence_mode: prodvana.proto.prodvana.convergence.convergence_mode_pb2.ConvergenceMode.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "convergence_mode", b"convergence_mode", "service", b"service"]) -> None: ...

global___SetServiceConvergenceModeReq = SetServiceConvergenceModeReq

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

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

global___SetServiceConvergenceModeResp = SetServiceConvergenceModeResp

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

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

global___ListMaterializedConfigVersionsReq = ListMaterializedConfigVersionsReq

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

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

        VERSION_FIELD_NUMBER: builtins.int
        CREATION_TIMESTAMP_FIELD_NUMBER: builtins.int
        CONFIG_VERSION_FIELD_NUMBER: builtins.int
        PARAMETERS_FIELD_NUMBER: builtins.int
        PARAMETER_VALUES_FIELD_NUMBER: builtins.int
        SOURCE_FIELD_NUMBER: builtins.int
        SOURCE_METADATA_FIELD_NUMBER: builtins.int
        version: builtins.str
        @property
        def creation_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        config_version: builtins.str
        @property
        def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterDefinition]: ...
        @property
        def parameter_values(self) -> prodvana.proto.prodvana.service.parameters_pb2.ServiceParameterValues: ...
        source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType
        @property
        def source_metadata(self) -> prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata: ...
        def __init__(
            self,
            *,
            version: builtins.str = ...,
            creation_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            config_version: builtins.str = ...,
            parameters: collections.abc.Iterable[prodvana.proto.prodvana.common_config.parameters_pb2.ParameterDefinition] | None = ...,
            parameter_values: prodvana.proto.prodvana.service.parameters_pb2.ServiceParameterValues | None = ...,
            source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType = ...,
            source_metadata: prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "parameter_values", b"parameter_values", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["config_version", b"config_version", "creation_timestamp", b"creation_timestamp", "parameter_values", b"parameter_values", "parameters", b"parameters", "source", b"source", "source_metadata", b"source_metadata", "version", b"version"]) -> None: ...

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

global___ListMaterializedConfigVersionsResp = ListMaterializedConfigVersionsResp

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

    APPLICATION_FIELD_NUMBER: builtins.int
    SERVICE_CONFIG_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    SOURCE_METADATA_FIELD_NUMBER: builtins.int
    BUNDLE_NAME_OVERRIDE_FIELD_NUMBER: builtins.int
    SKIP_RUNTIME_VALIDATION_FIELD_NUMBER: builtins.int
    application: builtins.str
    @property
    def service_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig: ...
    source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType
    @property
    def source_metadata(self) -> prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata: ...
    bundle_name_override: builtins.str
    skip_runtime_validation: builtins.bool
    """skip talking to runtimes for validation, can be useful to speed up the validation at the cost of not actually fully validating the config"""
    def __init__(
        self,
        *,
        application: builtins.str = ...,
        service_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType = ...,
        source_metadata: prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata | None = ...,
        bundle_name_override: builtins.str = ...,
        skip_runtime_validation: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["service_config", b"service_config", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "bundle_name_override", b"bundle_name_override", "service_config", b"service_config", "skip_runtime_validation", b"skip_runtime_validation", "source", b"source", "source_metadata", b"source_metadata"]) -> None: ...

global___ConfigureServiceReq = ConfigureServiceReq

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

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

global___ConfigureServiceResp = ConfigureServiceResp

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

    INPUT_CONFIG_FIELD_NUMBER: builtins.int
    COMPILED_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def input_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """config as passed in by user"""
    @property
    def compiled_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """config with defaults applied"""
    def __init__(
        self,
        *,
        input_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        compiled_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
    ) -> 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"]) -> None: ...

global___ValidateConfigureServiceResp = ValidateConfigureServiceResp

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

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

global___ListServiceConfigVersionsReq = ListServiceConfigVersionsReq

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

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

        VERSION_FIELD_NUMBER: builtins.int
        CREATION_TIMESTAMP_FIELD_NUMBER: builtins.int
        SOURCE_FIELD_NUMBER: builtins.int
        SOURCE_METADATA_FIELD_NUMBER: builtins.int
        version: builtins.str
        @property
        def creation_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType
        @property
        def source_metadata(self) -> prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata: ...
        def __init__(
            self,
            *,
            version: builtins.str = ...,
            creation_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            source: prodvana.proto.prodvana.version.source_metadata_pb2.Source.ValueType = ...,
            source_metadata: prodvana.proto.prodvana.version.source_metadata_pb2.SourceMetadata | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "source_metadata", b"source_metadata"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "source", b"source", "source_metadata", b"source_metadata", "version", b"version"]) -> None: ...

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

global___ListServiceConfigVersionsResp = ListServiceConfigVersionsResp

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

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

global___GetServiceConfigReq = GetServiceConfigReq

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

    CONFIG_FIELD_NUMBER: builtins.int
    INPUT_CONFIG_FIELD_NUMBER: builtins.int
    COMPILED_CONFIG_FIELD_NUMBER: builtins.int
    CONFIG_VERSION_FIELD_NUMBER: builtins.int
    CONFIG_VERSION_METADATA_FIELD_NUMBER: builtins.int
    @property
    def config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """deprecated, same as compiled_config"""
    @property
    def input_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig:
        """may be null because input config wasn't stored before 2023-09-25"""
    @property
    def compiled_config(self) -> prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig: ...
    config_version: builtins.str
    """deprecated, use config_version_metadata"""
    @property
    def config_version_metadata(self) -> global___ListServiceConfigVersionsResp.VersionMetadata:
        """next tag: 6"""
    def __init__(
        self,
        *,
        config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        input_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        compiled_config: prodvana.proto.prodvana.service.service_config_pb2.ServiceConfig | None = ...,
        config_version: builtins.str = ...,
        config_version_metadata: global___ListServiceConfigVersionsResp.VersionMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "config", b"config", "config_version_metadata", b"config_version_metadata", "input_config", b"input_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compiled_config", b"compiled_config", "config", b"config", "config_version", b"config_version", "config_version_metadata", b"config_version_metadata", "input_config", b"input_config"]) -> None: ...

global___GetServiceConfigResp = GetServiceConfigResp
