"""
@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 prodvana.proto.prodvana.common_config.env_pb2
import prodvana.proto.prodvana.common_config.program_pb2
import prodvana.proto.prodvana.repo.repo_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 _RegistryType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _RegistryTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RegistryType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN: _RegistryType.ValueType  # 0
    DOCKER_REGISTRY: _RegistryType.ValueType  # 1
    ECR: _RegistryType.ValueType  # 2

class RegistryType(_RegistryType, metaclass=_RegistryTypeEnumTypeWrapper): ...

UNKNOWN: RegistryType.ValueType  # 0
DOCKER_REGISTRY: RegistryType.ValueType  # 1
ECR: RegistryType.ValueType  # 2
global___RegistryType = RegistryType

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

class _RegistryStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RegistryStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNDEFINED: _RegistryStatus.ValueType  # 0
    CONNECTED: _RegistryStatus.ValueType  # 1
    FAILED: _RegistryStatus.ValueType  # 2
    """Augment/replace with UNAUTHENTICATED, UNAVAILABLE, ... in the future"""
    RS_PENDING: _RegistryStatus.ValueType  # 3

class RegistryStatus(_RegistryStatus, metaclass=_RegistryStatusEnumTypeWrapper): ...

UNDEFINED: RegistryStatus.ValueType  # 0
CONNECTED: RegistryStatus.ValueType  # 1
FAILED: RegistryStatus.ValueType  # 2
"""Augment/replace with UNAUTHENTICATED, UNAVAILABLE, ... in the future"""
RS_PENDING: RegistryStatus.ValueType  # 3
global___RegistryStatus = RegistryStatus

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

class _IndexStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IndexStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    IS_UNKNOWN: _IndexStatus.ValueType  # 0
    PENDING: _IndexStatus.ValueType  # 1
    """indexing requested but has not indexed before"""
    INDEXING: _IndexStatus.ValueType  # 2
    """indexing operation in progress"""
    INDEXED: _IndexStatus.ValueType  # 3
    """ steady-state, has been indexed before but no ongoing operation"""

class IndexStatus(_IndexStatus, metaclass=_IndexStatusEnumTypeWrapper): ...

IS_UNKNOWN: IndexStatus.ValueType  # 0
PENDING: IndexStatus.ValueType  # 1
"""indexing requested but has not indexed before"""
INDEXING: IndexStatus.ValueType  # 2
"""indexing operation in progress"""
INDEXED: IndexStatus.ValueType  # 3
""" steady-state, has been indexed before but no ongoing operation"""
global___IndexStatus = IndexStatus

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

    REPOSITORY_FIELD_NUMBER: builtins.int
    LAST_INDEX_FIELD_NUMBER: builtins.int
    INDEX_STATUS_FIELD_NUMBER: builtins.int
    repository: builtins.str
    @property
    def last_index(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    index_status: global___IndexStatus.ValueType
    def __init__(
        self,
        *,
        repository: builtins.str = ...,
        last_index: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        index_status: global___IndexStatus.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["last_index", b"last_index"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["index_status", b"index_status", "last_index", b"last_index", "repository", b"repository"]) -> None: ...

global___TrackedImageRepository = TrackedImageRepository

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

    CREATED_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    TAG_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    url: builtins.str
    tag: builtins.str
    @property
    def commit(self) -> prodvana.proto.prodvana.repo.repo_pb2.Commit: ...
    def __init__(
        self,
        *,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        url: builtins.str = ...,
        tag: builtins.str = ...,
        commit: prodvana.proto.prodvana.repo.repo_pb2.Commit | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["commit", b"commit", "created", b"created"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "created", b"created", "tag", b"tag", "url", b"url"]) -> None: ...

global___RegistryImage = RegistryImage

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

    REPOSITORY_FIELD_NUMBER: builtins.int
    STARTING_REF_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    repository: builtins.str
    starting_ref: builtins.str
    page_token: builtins.str
    page_size: builtins.int
    def __init__(
        self,
        *,
        repository: builtins.str = ...,
        starting_ref: builtins.str = ...,
        page_token: builtins.str = ...,
        page_size: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["page_size", b"page_size", "page_token", b"page_token", "repository", b"repository", "starting_ref", b"starting_ref"]) -> None: ...

global___ListRepoCommitsReq = ListRepoCommitsReq

class ListRepoCommitsResp(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___ListRepoCommitsResp = ListRepoCommitsResp

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

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

        ACCESS_KEY_FIELD_NUMBER: builtins.int
        SECRET_KEY_FIELD_NUMBER: builtins.int
        REGION_FIELD_NUMBER: builtins.int
        ROLE_ARN_FIELD_NUMBER: builtins.int
        access_key: builtins.str
        secret_key: builtins.str
        region: builtins.str
        role_arn: builtins.str
        def __init__(
            self,
            *,
            access_key: builtins.str = ...,
            secret_key: builtins.str = ...,
            region: builtins.str = ...,
            role_arn: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["access_key", b"access_key", "region", b"region", "role_arn", b"role_arn", "secret_key", b"secret_key"]) -> None: ...

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

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

    NAME_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    SECRET_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    ECR_OPTIONS_FIELD_NUMBER: builtins.int
    PUBLIC_REGISTRY_OPTIONS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """readable name for this registry"""
    url: builtins.str
    username: builtins.str
    secret: builtins.str
    type: global___RegistryType.ValueType
    @property
    def ecr_options(self) -> global___CreateContainerRegistryIntegrationReq.ECROptions: ...
    @property
    def public_registry_options(self) -> global___CreateContainerRegistryIntegrationReq.PublicRegistryOptions: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        url: builtins.str = ...,
        username: builtins.str = ...,
        secret: builtins.str = ...,
        type: global___RegistryType.ValueType = ...,
        ecr_options: global___CreateContainerRegistryIntegrationReq.ECROptions | None = ...,
        public_registry_options: global___CreateContainerRegistryIntegrationReq.PublicRegistryOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ecr_options", b"ecr_options", "public_registry_options", b"public_registry_options", "registry_options", b"registry_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ecr_options", b"ecr_options", "name", b"name", "public_registry_options", b"public_registry_options", "registry_options", b"registry_options", "secret", b"secret", "type", b"type", "url", b"url", "username", b"username"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["registry_options", b"registry_options"]) -> typing_extensions.Literal["ecr_options", "public_registry_options"] | None: ...

global___CreateContainerRegistryIntegrationReq = CreateContainerRegistryIntegrationReq

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

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

global___CreateContainerRegistryIntegrationRes = CreateContainerRegistryIntegrationRes

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

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

global___DeleteContainerRegistryIntegrationReq = DeleteContainerRegistryIntegrationReq

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

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

global___DeleteContainerRegistryIntegrationResp = DeleteContainerRegistryIntegrationResp

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

    FETCH_STATUS_FIELD_NUMBER: builtins.int
    fetch_status: builtins.bool
    """if true, verifies connection to registry"""
    def __init__(
        self,
        *,
        fetch_status: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["fetch_status", b"fetch_status"]) -> None: ...

global___ListContainerRegistryIntegrationsReq = ListContainerRegistryIntegrationsReq

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

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

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

    INTEGRATION_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    ECR_INFO_FIELD_NUMBER: builtins.int
    REPOSITORIES_FIELD_NUMBER: builtins.int
    integration_id: builtins.str
    name: builtins.str
    url: builtins.str
    type: builtins.str
    """Implicit from registry_info below"""
    status: global___RegistryStatus.ValueType
    @property
    def ecr_info(self) -> global___ContainerRegistryIntegration.ECRInfo: ...
    @property
    def repositories(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrackedImageRepository]: ...
    def __init__(
        self,
        *,
        integration_id: builtins.str = ...,
        name: builtins.str = ...,
        url: builtins.str = ...,
        type: builtins.str = ...,
        status: global___RegistryStatus.ValueType = ...,
        ecr_info: global___ContainerRegistryIntegration.ECRInfo | None = ...,
        repositories: collections.abc.Iterable[global___TrackedImageRepository] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ecr_info", b"ecr_info", "registry_info", b"registry_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ecr_info", b"ecr_info", "integration_id", b"integration_id", "name", b"name", "registry_info", b"registry_info", "repositories", b"repositories", "status", b"status", "type", b"type", "url", b"url"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["registry_info", b"registry_info"]) -> typing_extensions.Literal["ecr_info"] | None: ...

global___ContainerRegistryIntegration = ContainerRegistryIntegration

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

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

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

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

        INTEGRATION_ID_FIELD_NUMBER: builtins.int
        NAME_FIELD_NUMBER: builtins.int
        URL_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        STATUS_FIELD_NUMBER: builtins.int
        ECR_INFO_FIELD_NUMBER: builtins.int
        integration_id: builtins.str
        name: builtins.str
        url: builtins.str
        type: builtins.str
        """Implicit from registry_info below"""
        status: global___RegistryStatus.ValueType
        @property
        def ecr_info(self) -> global___ListContainerRegistryIntegrationsResp.ECRInfo: ...
        def __init__(
            self,
            *,
            integration_id: builtins.str = ...,
            name: builtins.str = ...,
            url: builtins.str = ...,
            type: builtins.str = ...,
            status: global___RegistryStatus.ValueType = ...,
            ecr_info: global___ListContainerRegistryIntegrationsResp.ECRInfo | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["ecr_info", b"ecr_info", "registry_info", b"registry_info"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["ecr_info", b"ecr_info", "integration_id", b"integration_id", "name", b"name", "registry_info", b"registry_info", "status", b"status", "type", b"type", "url", b"url"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions.Literal["registry_info", b"registry_info"]) -> typing_extensions.Literal["ecr_info"] | None: ...

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

global___ListContainerRegistryIntegrationsResp = ListContainerRegistryIntegrationsResp

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

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

global___GetContainerRegistryIntegrationReq = GetContainerRegistryIntegrationReq

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

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

global___GetContainerRegistryIntegrationResp = GetContainerRegistryIntegrationResp

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

    INTEGRATION_ID_FIELD_NUMBER: builtins.int
    IMAGE_REPOSITORY_FIELD_NUMBER: builtins.int
    SKIP_REGISTRY_CACHE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    integration_id: builtins.str
    image_repository: builtins.str
    skip_registry_cache: builtins.bool
    page_token: builtins.str
    page_size: builtins.int
    def __init__(
        self,
        *,
        integration_id: builtins.str = ...,
        image_repository: builtins.str = ...,
        skip_registry_cache: builtins.bool = ...,
        page_token: builtins.str = ...,
        page_size: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["image_repository", b"image_repository", "integration_id", b"integration_id", "page_size", b"page_size", "page_token", b"page_token", "skip_registry_cache", b"skip_registry_cache"]) -> None: ...

global___GetContainerRegistryImagesReq = GetContainerRegistryImagesReq

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

    IMAGES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def images(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RegistryImage]:
        """will be sorted by creation time, descending"""
    next_page_token: builtins.str
    def __init__(
        self,
        *,
        images: collections.abc.Iterable[global___RegistryImage] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["images", b"images", "next_page_token", b"next_page_token"]) -> None: ...

global___GetContainerRegistryImagesRes = GetContainerRegistryImagesRes

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

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

global___ListTrackedImageRepositoriesReq = ListTrackedImageRepositoriesReq

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

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

global___ListTrackedImageRepositoriesResp = ListTrackedImageRepositoriesResp

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

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

global___GetTrackedImageRepositoryReq = GetTrackedImageRepositoryReq

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

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

global___GetTrackedImageRepositoryResp = GetTrackedImageRepositoryResp

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

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

global___TrackImageRepositoriesReq = TrackImageRepositoriesReq

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

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

global___TrackImageRepositoriesResp = TrackImageRepositoriesResp

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

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

global___StopTrackingImageRepositoryReq = StopTrackingImageRepositoryReq

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

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

global___StopTrackingImageRepositoryResp = StopTrackingImageRepositoryResp

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

    INTEGRATION_ID_FIELD_NUMBER: builtins.int
    REPOSITORY_FIELD_NUMBER: builtins.int
    TAG_FIELD_NUMBER: builtins.int
    IMAGE_FIELD_NUMBER: builtins.int
    integration_id: builtins.str
    repository: builtins.str
    tag: builtins.str
    image: builtins.str
    def __init__(
        self,
        *,
        integration_id: builtins.str = ...,
        repository: builtins.str = ...,
        tag: builtins.str = ...,
        image: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["image", b"image", "image_id_oneof", b"image_id_oneof", "tag", b"tag"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["image", b"image", "image_id_oneof", b"image_id_oneof", "integration_id", b"integration_id", "repository", b"repository", "tag", b"tag"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["image_id_oneof", b"image_id_oneof"]) -> typing_extensions.Literal["tag", "image"] | None: ...

global___GetImageCommitInfoReq = GetImageCommitInfoReq

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

    COMMIT_FIELD_NUMBER: builtins.int
    REPOSITORY_FIELD_NUMBER: builtins.int
    @property
    def commit(self) -> prodvana.proto.prodvana.repo.repo_pb2.Commit:
        """will be null if the image does not have any commit attached, or commit integration is not configured"""
    repository: builtins.str
    def __init__(
        self,
        *,
        commit: prodvana.proto.prodvana.repo.repo_pb2.Commit | None = ...,
        repository: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["commit", b"commit"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "repository", b"repository"]) -> None: ...

global___GetImageCommitInfoResp = GetImageCommitInfoResp

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

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

global___GetCommitInfoReq = GetCommitInfoReq

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

    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def commit(self) -> prodvana.proto.prodvana.repo.repo_pb2.Commit:
        """will be null if commit integration is not configured"""
    def __init__(
        self,
        *,
        commit: prodvana.proto.prodvana.repo.repo_pb2.Commit | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["commit", b"commit"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit"]) -> None: ...

global___GetCommitInfoResp = GetCommitInfoResp

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

    INTEGRATION_ID_FIELD_NUMBER: builtins.int
    REPOSITORY_FIELD_NUMBER: builtins.int
    TAG_FIELD_NUMBER: builtins.int
    IMAGE_FIELD_NUMBER: builtins.int
    SKIP_REGISTRY_CACHE_FIELD_NUMBER: builtins.int
    integration_id: builtins.str
    repository: builtins.str
    tag: builtins.str
    image: builtins.str
    skip_registry_cache: builtins.bool
    def __init__(
        self,
        *,
        integration_id: builtins.str = ...,
        repository: builtins.str = ...,
        tag: builtins.str = ...,
        image: builtins.str = ...,
        skip_registry_cache: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["image", b"image", "image_id_oneof", b"image_id_oneof", "tag", b"tag"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["image", b"image", "image_id_oneof", b"image_id_oneof", "integration_id", b"integration_id", "repository", b"repository", "skip_registry_cache", b"skip_registry_cache", "tag", b"tag"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["image_id_oneof", b"image_id_oneof"]) -> typing_extensions.Literal["tag", "image"] | None: ...

global___GetProgramDefaultsReq = GetProgramDefaultsReq

class ProgramDefaults(google.protobuf.message.Message):
    """when updating this, make sure to also invalidate docker image cache warmer"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class EnvEntry(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) -> prodvana.proto.prodvana.common_config.env_pb2.EnvValue: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: prodvana.proto.prodvana.common_config.env_pb2.EnvValue | 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: ...

    CMD_FIELD_NUMBER: builtins.int
    ENTRYPOINT_FIELD_NUMBER: builtins.int
    ENV_FIELD_NUMBER: builtins.int
    PORTS_FIELD_NUMBER: builtins.int
    @property
    def cmd(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def entrypoint(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def env(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, prodvana.proto.prodvana.common_config.env_pb2.EnvValue]: ...
    @property
    def ports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.common_config.program_pb2.PortConfig]: ...
    def __init__(
        self,
        *,
        cmd: collections.abc.Iterable[builtins.str] | None = ...,
        entrypoint: collections.abc.Iterable[builtins.str] | None = ...,
        env: collections.abc.Mapping[builtins.str, prodvana.proto.prodvana.common_config.env_pb2.EnvValue] | None = ...,
        ports: collections.abc.Iterable[prodvana.proto.prodvana.common_config.program_pb2.PortConfig] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cmd", b"cmd", "entrypoint", b"entrypoint", "env", b"env", "ports", b"ports"]) -> None: ...

global___ProgramDefaults = ProgramDefaults

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

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

global___GetProgramDefaultsResp = GetProgramDefaultsResp

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

    SERVICE_FIELD_NUMBER: builtins.int
    VERSIONS_FIELD_NUMBER: builtins.int
    APPLICATION_FIELD_NUMBER: builtins.int
    service: builtins.str
    @property
    def versions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """omit to get just the latest version"""
    application: builtins.str
    def __init__(
        self,
        *,
        service: builtins.str = ...,
        versions: collections.abc.Iterable[builtins.str] | None = ...,
        application: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["application", b"application", "service", b"service", "versions", b"versions"]) -> None: ...

global___GetServiceImageInfoReq = GetServiceImageInfoReq

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

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

        VERSION_FIELD_NUMBER: builtins.int
        PROGRAM_INFOS_FIELD_NUMBER: builtins.int
        PER_RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
        version: builtins.str
        @property
        def program_infos(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GetServiceImageInfoResp.ProgramInfo]: ...
        @property
        def per_release_channel(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GetServiceImageInfoResp.PerReleaseChannel]: ...
        def __init__(
            self,
            *,
            version: builtins.str = ...,
            program_infos: collections.abc.Iterable[global___GetServiceImageInfoResp.ProgramInfo] | None = ...,
            per_release_channel: collections.abc.Iterable[global___GetServiceImageInfoResp.PerReleaseChannel] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["per_release_channel", b"per_release_channel", "program_infos", b"program_infos", "version", b"version"]) -> None: ...

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

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

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

        RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
        PROGRAM_INFOS_FIELD_NUMBER: builtins.int
        release_channel: builtins.str
        @property
        def program_infos(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GetServiceImageInfoResp.ProgramInfo]: ...
        def __init__(
            self,
            *,
            release_channel: builtins.str = ...,
            program_infos: collections.abc.Iterable[global___GetServiceImageInfoResp.ProgramInfo] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["program_infos", b"program_infos", "release_channel", b"release_channel"]) -> None: ...

    SERVICE_ID_FIELD_NUMBER: builtins.int
    SERVICE_NAME_FIELD_NUMBER: builtins.int
    VERSION_INFOS_FIELD_NUMBER: builtins.int
    service_id: builtins.str
    service_name: builtins.str
    @property
    def version_infos(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GetServiceImageInfoResp.VersionInfo]: ...
    def __init__(
        self,
        *,
        service_id: builtins.str = ...,
        service_name: builtins.str = ...,
        version_infos: collections.abc.Iterable[global___GetServiceImageInfoResp.VersionInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["service_id", b"service_id", "service_name", b"service_name", "version_infos", b"version_infos"]) -> None: ...

global___GetServiceImageInfoResp = GetServiceImageInfoResp

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

    ERROR_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    REDIRECT_URI_FIELD_NUMBER: builtins.int
    error: builtins.str
    code: builtins.str
    redirect_uri: builtins.str
    def __init__(
        self,
        *,
        error: builtins.str = ...,
        code: builtins.str = ...,
        redirect_uri: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "error", b"error", "redirect_uri", b"redirect_uri"]) -> None: ...

global___InstallSlackReq = InstallSlackReq

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

    SUCCESS_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    success: builtins.bool
    message: builtins.str
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
        message: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "success", b"success"]) -> None: ...

global___InstallSlackResp = InstallSlackResp

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

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

global___GetInstallSlackUrlReq = GetInstallSlackUrlReq

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

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

global___GetInstallSlackUrlResp = GetInstallSlackUrlResp

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

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

global___UninstallSlackReq = UninstallSlackReq

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

    SUCCESS_FIELD_NUMBER: builtins.int
    success: builtins.bool
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["success", b"success"]) -> None: ...

global___UninstallSlackResp = UninstallSlackResp

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

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

global___SlackChannel = SlackChannel

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

    ERROR_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    REDIRECT_URI_FIELD_NUMBER: builtins.int
    error: builtins.str
    code: builtins.str
    redirect_uri: builtins.str
    def __init__(
        self,
        *,
        error: builtins.str = ...,
        code: builtins.str = ...,
        redirect_uri: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "error", b"error", "redirect_uri", b"redirect_uri"]) -> None: ...

global___InstallPagerDutyReq = InstallPagerDutyReq

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

    SUCCESS_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    success: builtins.bool
    message: builtins.str
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
        message: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "success", b"success"]) -> None: ...

global___InstallPagerDutyResp = InstallPagerDutyResp

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

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

global___GetInstallPagerDutyUrlReq = GetInstallPagerDutyUrlReq

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

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

global___GetInstallPagerDutyUrlResp = GetInstallPagerDutyUrlResp

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

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

global___UninstallPagerDutyReq = UninstallPagerDutyReq

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

    SUCCESS_FIELD_NUMBER: builtins.int
    success: builtins.bool
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["success", b"success"]) -> None: ...

global___UninstallPagerDutyResp = UninstallPagerDutyResp

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

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

global___PagerDutyService = PagerDutyService

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

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

global___InstallGrafanaReq = InstallGrafanaReq

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

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

global___InstallGrafanaResp = InstallGrafanaResp

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

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

global___UninstallGrafanaReq = UninstallGrafanaReq

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

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

global___UninstallGrafanaResp = UninstallGrafanaResp

class GetGrafanaInstallationReq(google.protobuf.message.Message):
    """TODO(rohit): Should this get refactored into a generic GET endpoint for all types of integrations?"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetGrafanaInstallationReq = GetGrafanaInstallationReq

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

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

global___GetGrafanaInstallationResp = GetGrafanaInstallationResp

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

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

global___ListHoneycombEnvironmentsReq = ListHoneycombEnvironmentsReq

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

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

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

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

global___ListHoneycombEnvironmentsResp = ListHoneycombEnvironmentsResp

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

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

global___AddHoneycombEnvironmentReq = AddHoneycombEnvironmentReq

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

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

global___AddHoneycombEnvironmentResp = AddHoneycombEnvironmentResp

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

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

global___UpdateHoneycombEnvironmentReq = UpdateHoneycombEnvironmentReq

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

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

global___UpdateHoneycombEnvironmentResp = UpdateHoneycombEnvironmentResp

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

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

global___DeleteHoneycombEnvironmentReq = DeleteHoneycombEnvironmentReq

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

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

global___DeleteHoneycombEnvironmentResp = DeleteHoneycombEnvironmentResp

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

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

global___UninstallHoneycombReq = UninstallHoneycombReq

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

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

global___UninstallHoneycombResp = UninstallHoneycombResp

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

    APP_ID_FIELD_NUMBER: builtins.int
    PRIVATE_KEY_FIELD_NUMBER: builtins.int
    CLIENT_SECRET_FIELD_NUMBER: builtins.int
    WEBHOOK_SECRET_FIELD_NUMBER: builtins.int
    GITHUB_ORGANIZATION_FIELD_NUMBER: builtins.int
    app_id: builtins.int
    private_key: builtins.str
    client_secret: builtins.str
    webhook_secret: builtins.str
    github_organization: builtins.str
    def __init__(
        self,
        *,
        app_id: builtins.int = ...,
        private_key: builtins.str = ...,
        client_secret: builtins.str = ...,
        webhook_secret: builtins.str = ...,
        github_organization: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["app_id", b"app_id", "client_secret", b"client_secret", "github_organization", b"github_organization", "private_key", b"private_key", "webhook_secret", b"webhook_secret"]) -> None: ...

global___CreateGitHubAppReq = CreateGitHubAppReq

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

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

global___CreateGitHubAppResp = CreateGitHubAppResp

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

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

global___InstallGitHubReq = InstallGitHubReq

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

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

global___InstallGitHubResp = InstallGitHubResp

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    type: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "name", b"name", "type", b"type"]) -> None: ...

global___Integration = Integration

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

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

global___ListIntegrationsReq = ListIntegrationsReq

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

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

global___ListIntegrationsResp = ListIntegrationsResp

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

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

global___DeleteIntegrationReq = DeleteIntegrationReq

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

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

global___DeleteIntegrationResp = DeleteIntegrationResp

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

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

global___GetInstallGitHubUrlReq = GetInstallGitHubUrlReq

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

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

global___GetInstallGitHubUrlResp = GetInstallGitHubUrlResp
