# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: grid/v1/experiment.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import enum_type_wrapper

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()

from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2

from grid.protos.grid.v1 import datastore_pb2 as grid_dot_v1_dot_datastore__pb2
from grid.protos.grid.v1 import image_pb2 as grid_dot_v1_dot_image__pb2
from grid.protos.grid.v1 import metadata_pb2 as grid_dot_v1_dot_metadata__pb2

DESCRIPTOR = _descriptor.FileDescriptor(
    name='grid/v1/experiment.proto',
    package='grid.v1',
    syntax='proto3',
    serialized_options=b'Z0github.com/gridai/grid/grid-backend/apis/grid/v1',
    create_key=_descriptor._internal_create_key,
    serialized_pb=
    b'\n\x18grid/v1/experiment.proto\x12\x07grid.v1\x1a\x16grid/v1/metadata.proto\x1a\x17grid/v1/datastore.proto\x1a\x13grid/v1/image.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x19google/protobuf/any.proto\"\x9b\x01\n\nExperiment\x12-\n\x08metadata\x18\x01 \x01(\x0b\x32\x11.grid.v1.MetadataR\x08metadata\x12+\n\x04spec\x18\x02 \x01(\x0b\x32\x17.grid.v1.ExperimentSpecR\x04spec\x12\x31\n\x06status\x18\x03 \x01(\x0b\x32\x19.grid.v1.ExperimentStatusR\x06status\"F\n\x0cScratchSpace\x12\x17\n\x07size_gb\x18\x01 \x01(\rR\x06sizeGb\x12\x1d\n\nmount_path\x18\x02 \x01(\tR\tmountPath\"\xc1\x05\n\x0e\x45xperimentSpec\x12\x32\n\x03\x65nv\x18\x01 \x03(\x0b\x32 .grid.v1.ExperimentSpec.EnvEntryR\x03\x65nv\x12\x37\n\x08\x65xecutor\x18\x02 \x01(\x0b\x32\x1b.grid.v1.ExperimentExecutorR\x08\x65xecutor\x12=\n\rdesired_state\x18\x04 \x01(\x0e\x32\x18.grid.v1.ExperimentStateR\x0c\x64\x65siredState\x12\x15\n\x06run_id\x18\x06 \x01(\tR\x05runId\x12\x17\n\x07user_id\x18\x07 \x01(\tR\x06userId\x12>\n\x0bsource_code\x18\x08 \x01(\x0b\x32\x1d.grid.v1.ExperimentSourceCodeR\nsourceCode\x12\x18\n\x07\x63ommand\x18\t \x03(\tR\x07\x63ommand\x12\x30\n\x14relative_working_dir\x18\n \x01(\tR\x12relativeWorkingDir\x12\x44\n\tresources\x18\x0b \x03(\x0b\x32&.grid.v1.ExperimentSpec.ResourcesEntryR\tresources\x12/\n\x06inputs\x18\x0c \x03(\x0b\x32\x17.grid.v1.DatastoreInputR\x06inputs\x12)\n\x10pause_automation\x18\r \x01(\x08R\x0fpauseAutomation\x12/\n\x07scratch\x18\x0e \x03(\x0b\x32\x15.grid.v1.ScratchSpaceR\x07scratch\x1a\x36\n\x08\x45nvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a<\n\x0eResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xb2\x02\n\x12\x45xperimentExecutor\x12\x1d\n\ncluster_id\x18\x01 \x01(\tR\tclusterId\x12\x32\n\x08\x65xternal\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08\x65xternal\x12G\n\nkubernetes\x18\x03 \x01(\x0b\x32%.grid.v1.ExperimentKubernetesExecutorH\x00R\nkubernetes\x12\x38\n\x05slurm\x18\x04 \x01(\x0b\x32 .grid.v1.ExperimentSLURMExecutorH\x00R\x05slurm\x12:\n\tscheduler\x18\x05 \x01(\x0b\x32\x1c.grid.v1.ExperimentSchedulerR\tschedulerB\n\n\x08\x65xecutor\"\x94\x01\n\x13\x45xperimentScheduler\x12\x32\n\x08\x65xternal\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08\x65xternal\x12<\n\x06simple\x18\x02 \x01(\x0b\x32\".grid.v1.SimpleExperimentSchedulerH\x00R\x06simpleB\x0b\n\tscheduler\"J\n\x19SimpleExperimentScheduler\x12-\n\x12\x63\x61ndidate_clusters\x18\x01 \x03(\tR\x11\x63\x61ndidateClusters\"(\n\x14\x45xperimentSourceCode\x12\x10\n\x03\x64sn\x18\x01 \x01(\tR\x03\x64sn\"\x88\x01\n\x1c\x45xperimentKubernetesExecutor\x12#\n\rinstance_type\x18\x01 \x01(\tR\x0cinstanceType\x12\x19\n\x08use_spot\x18\x02 \x01(\x08R\x07useSpot\x12(\n\x05image\x18\x03 \x01(\x0b\x32\x12.grid.v1.ImageSpecR\x05image\"\x19\n\x17\x45xperimentSLURMExecutor\"\xed\x02\n\x10\x45xperimentStatus\x12.\n\x05phase\x18\x01 \x01(\x0e\x32\x18.grid.v1.ExperimentStateR\x05phase\x12\x43\n\x0fstart_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0estartTimestamp\x12\x45\n\x10\x66inish_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0f\x66inishTimestamp\x12J\n\x0f\x65xecutor_status\x18\x04 \x01(\x0b\x32!.grid.v1.ExperimentExecutorStatusR\x0e\x65xecutorStatus\x12\x37\n\x06reason\x18\x05 \x01(\x0e\x32\x1f.grid.v1.ExperimentStatusReasonR\x06reason\x12\x18\n\x07message\x18\x06 \x01(\tR\x07message\"\xe9\x01\n\x18\x45xperimentExecutorStatus\x12\x32\n\x08\x65xternal\x18\x01 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08\x65xternal\x12\x45\n\nkubernetes\x18\x02 \x01(\x0b\x32#.grid.v1.ExperimentKubernetesStatusH\x00R\nkubernetes\x12\x36\n\x05slurm\x18\x03 \x01(\x0b\x32\x1e.grid.v1.ExperimentSLURMStatusH\x00R\x05slurmB\x1a\n\x18\x65xecutor_specific_status\"2\n\x1a\x45xperimentKubernetesStatus\x12\x14\n\x05image\x18\x01 \x01(\tR\x05image\"\x17\n\x15\x45xperimentSLURMStatus*\xc9\x02\n\x0f\x45xperimentState\x12 \n\x1c\x45XPERIMENT_STATE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x45XPERIMENT_STATE_PENDING\x10\x01\x12\x1b\n\x17\x45XPERIMENT_STATE_QUEUED\x10\x02\x12\x1c\n\x18\x45XPERIMENT_STATE_RUNNING\x10\x03\x12\x1e\n\x1a\x45XPERIMENT_STATE_SUCCEEDED\x10\x04\x12\x1b\n\x17\x45XPERIMENT_STATE_FAILED\x10\x05\x12\x1e\n\x1a\x45XPERIMENT_STATE_CANCELLED\x10\x06\x12\x1c\n\x18\x45XPERIMENT_STATE_DELETED\x10\x07\x12\x1b\n\x17\x45XPERIMENT_STATE_PAUSED\x10\x08\x12#\n\x1f\x45XPERIMENT_STATE_IMAGE_BUILDING\x10\t*\xf3\x01\n\x16\x45xperimentStatusReason\x12(\n$EXPERIMENT_STATUS_REASON_UNSPECIFIED\x10\x00\x12)\n%EXPERIMENT_STATUS_REASON_IMAGE_QUEUED\x10\x01\x12+\n\'EXPERIMENT_STATUS_REASON_IMAGE_BUILDING\x10\x02\x12,\n(EXPERIMENT_STATUS_REASON_IMAGE_COMPLETED\x10\x03\x12)\n%EXPERIMENT_STATUS_REASON_IMAGE_FAILED\x10\x04\x42\x32Z0github.com/gridai/grid/grid-backend/apis/grid/v1b\x06proto3',
    dependencies=[
        grid_dot_v1_dot_metadata__pb2.DESCRIPTOR,
        grid_dot_v1_dot_datastore__pb2.DESCRIPTOR,
        grid_dot_v1_dot_image__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,
        google_dot_protobuf_dot_any__pb2.DESCRIPTOR,
    ]
)

_EXPERIMENTSTATE = _descriptor.EnumDescriptor(
    name='ExperimentState',
    full_name='grid.v1.ExperimentState',
    filename=None,
    file=DESCRIPTOR,
    create_key=_descriptor._internal_create_key,
    values=[
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_UNSPECIFIED',
            index=0,
            number=0,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_PENDING',
            index=1,
            number=1,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_QUEUED',
            index=2,
            number=2,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_RUNNING',
            index=3,
            number=3,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_SUCCEEDED',
            index=4,
            number=4,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_FAILED',
            index=5,
            number=5,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_CANCELLED',
            index=6,
            number=6,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_DELETED',
            index=7,
            number=7,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_PAUSED',
            index=8,
            number=8,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATE_IMAGE_BUILDING',
            index=9,
            number=9,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=2531,
    serialized_end=2860,
)
_sym_db.RegisterEnumDescriptor(_EXPERIMENTSTATE)

ExperimentState = enum_type_wrapper.EnumTypeWrapper(_EXPERIMENTSTATE)
_EXPERIMENTSTATUSREASON = _descriptor.EnumDescriptor(
    name='ExperimentStatusReason',
    full_name='grid.v1.ExperimentStatusReason',
    filename=None,
    file=DESCRIPTOR,
    create_key=_descriptor._internal_create_key,
    values=[
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATUS_REASON_UNSPECIFIED',
            index=0,
            number=0,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATUS_REASON_IMAGE_QUEUED',
            index=1,
            number=1,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATUS_REASON_IMAGE_BUILDING',
            index=2,
            number=2,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATUS_REASON_IMAGE_COMPLETED',
            index=3,
            number=3,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.EnumValueDescriptor(
            name='EXPERIMENT_STATUS_REASON_IMAGE_FAILED',
            index=4,
            number=4,
            serialized_options=None,
            type=None,
            create_key=_descriptor._internal_create_key
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=2863,
    serialized_end=3106,
)
_sym_db.RegisterEnumDescriptor(_EXPERIMENTSTATUSREASON)

ExperimentStatusReason = enum_type_wrapper.EnumTypeWrapper(_EXPERIMENTSTATUSREASON)
EXPERIMENT_STATE_UNSPECIFIED = 0
EXPERIMENT_STATE_PENDING = 1
EXPERIMENT_STATE_QUEUED = 2
EXPERIMENT_STATE_RUNNING = 3
EXPERIMENT_STATE_SUCCEEDED = 4
EXPERIMENT_STATE_FAILED = 5
EXPERIMENT_STATE_CANCELLED = 6
EXPERIMENT_STATE_DELETED = 7
EXPERIMENT_STATE_PAUSED = 8
EXPERIMENT_STATE_IMAGE_BUILDING = 9
EXPERIMENT_STATUS_REASON_UNSPECIFIED = 0
EXPERIMENT_STATUS_REASON_IMAGE_QUEUED = 1
EXPERIMENT_STATUS_REASON_IMAGE_BUILDING = 2
EXPERIMENT_STATUS_REASON_IMAGE_COMPLETED = 3
EXPERIMENT_STATUS_REASON_IMAGE_FAILED = 4

_EXPERIMENT = _descriptor.Descriptor(
    name='Experiment',
    full_name='grid.v1.Experiment',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='metadata',
            full_name='grid.v1.Experiment.metadata',
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='metadata',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='spec',
            full_name='grid.v1.Experiment.spec',
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='spec',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='status',
            full_name='grid.v1.Experiment.status',
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='status',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=168,
    serialized_end=323,
)

_SCRATCHSPACE = _descriptor.Descriptor(
    name='ScratchSpace',
    full_name='grid.v1.ScratchSpace',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='size_gb',
            full_name='grid.v1.ScratchSpace.size_gb',
            index=0,
            number=1,
            type=13,
            cpp_type=3,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='sizeGb',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='mount_path',
            full_name='grid.v1.ScratchSpace.mount_path',
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='mountPath',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=325,
    serialized_end=395,
)

_EXPERIMENTSPEC_ENVENTRY = _descriptor.Descriptor(
    name='EnvEntry',
    full_name='grid.v1.ExperimentSpec.EnvEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='key',
            full_name='grid.v1.ExperimentSpec.EnvEntry.key',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='key',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='value',
            full_name='grid.v1.ExperimentSpec.EnvEntry.value',
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='value',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=b'8\001',
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=987,
    serialized_end=1041,
)

_EXPERIMENTSPEC_RESOURCESENTRY = _descriptor.Descriptor(
    name='ResourcesEntry',
    full_name='grid.v1.ExperimentSpec.ResourcesEntry',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='key',
            full_name='grid.v1.ExperimentSpec.ResourcesEntry.key',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='key',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='value',
            full_name='grid.v1.ExperimentSpec.ResourcesEntry.value',
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='value',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=b'8\001',
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=1043,
    serialized_end=1103,
)

_EXPERIMENTSPEC = _descriptor.Descriptor(
    name='ExperimentSpec',
    full_name='grid.v1.ExperimentSpec',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='env',
            full_name='grid.v1.ExperimentSpec.env',
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='env',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='executor',
            full_name='grid.v1.ExperimentSpec.executor',
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='executor',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='desired_state',
            full_name='grid.v1.ExperimentSpec.desired_state',
            index=2,
            number=4,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='desiredState',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='run_id',
            full_name='grid.v1.ExperimentSpec.run_id',
            index=3,
            number=6,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='runId',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='user_id',
            full_name='grid.v1.ExperimentSpec.user_id',
            index=4,
            number=7,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='userId',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='source_code',
            full_name='grid.v1.ExperimentSpec.source_code',
            index=5,
            number=8,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='sourceCode',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='command',
            full_name='grid.v1.ExperimentSpec.command',
            index=6,
            number=9,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='command',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='relative_working_dir',
            full_name='grid.v1.ExperimentSpec.relative_working_dir',
            index=7,
            number=10,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='relativeWorkingDir',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='resources',
            full_name='grid.v1.ExperimentSpec.resources',
            index=8,
            number=11,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='resources',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='inputs',
            full_name='grid.v1.ExperimentSpec.inputs',
            index=9,
            number=12,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='inputs',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='pause_automation',
            full_name='grid.v1.ExperimentSpec.pause_automation',
            index=10,
            number=13,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='pauseAutomation',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='scratch',
            full_name='grid.v1.ExperimentSpec.scratch',
            index=11,
            number=14,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='scratch',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[
        _EXPERIMENTSPEC_ENVENTRY,
        _EXPERIMENTSPEC_RESOURCESENTRY,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=398,
    serialized_end=1103,
)

_EXPERIMENTEXECUTOR = _descriptor.Descriptor(
    name='ExperimentExecutor',
    full_name='grid.v1.ExperimentExecutor',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='cluster_id',
            full_name='grid.v1.ExperimentExecutor.cluster_id',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='clusterId',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='external',
            full_name='grid.v1.ExperimentExecutor.external',
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='external',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='kubernetes',
            full_name='grid.v1.ExperimentExecutor.kubernetes',
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='kubernetes',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='slurm',
            full_name='grid.v1.ExperimentExecutor.slurm',
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='slurm',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='scheduler',
            full_name='grid.v1.ExperimentExecutor.scheduler',
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='scheduler',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name='executor',
            full_name='grid.v1.ExperimentExecutor.executor',
            index=0,
            containing_type=None,
            create_key=_descriptor._internal_create_key,
            fields=[]
        ),
    ],
    serialized_start=1106,
    serialized_end=1412,
)

_EXPERIMENTSCHEDULER = _descriptor.Descriptor(
    name='ExperimentScheduler',
    full_name='grid.v1.ExperimentScheduler',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='external',
            full_name='grid.v1.ExperimentScheduler.external',
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='external',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='simple',
            full_name='grid.v1.ExperimentScheduler.simple',
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='simple',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name='scheduler',
            full_name='grid.v1.ExperimentScheduler.scheduler',
            index=0,
            containing_type=None,
            create_key=_descriptor._internal_create_key,
            fields=[]
        ),
    ],
    serialized_start=1415,
    serialized_end=1563,
)

_SIMPLEEXPERIMENTSCHEDULER = _descriptor.Descriptor(
    name='SimpleExperimentScheduler',
    full_name='grid.v1.SimpleExperimentScheduler',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='candidate_clusters',
            full_name='grid.v1.SimpleExperimentScheduler.candidate_clusters',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='candidateClusters',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=1565,
    serialized_end=1639,
)

_EXPERIMENTSOURCECODE = _descriptor.Descriptor(
    name='ExperimentSourceCode',
    full_name='grid.v1.ExperimentSourceCode',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='dsn',
            full_name='grid.v1.ExperimentSourceCode.dsn',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='dsn',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=1641,
    serialized_end=1681,
)

_EXPERIMENTKUBERNETESEXECUTOR = _descriptor.Descriptor(
    name='ExperimentKubernetesExecutor',
    full_name='grid.v1.ExperimentKubernetesExecutor',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='instance_type',
            full_name='grid.v1.ExperimentKubernetesExecutor.instance_type',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='instanceType',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='use_spot',
            full_name='grid.v1.ExperimentKubernetesExecutor.use_spot',
            index=1,
            number=2,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='useSpot',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='image',
            full_name='grid.v1.ExperimentKubernetesExecutor.image',
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='image',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=1684,
    serialized_end=1820,
)

_EXPERIMENTSLURMEXECUTOR = _descriptor.Descriptor(
    name='ExperimentSLURMExecutor',
    full_name='grid.v1.ExperimentSLURMExecutor',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=1822,
    serialized_end=1847,
)

_EXPERIMENTSTATUS = _descriptor.Descriptor(
    name='ExperimentStatus',
    full_name='grid.v1.ExperimentStatus',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='phase',
            full_name='grid.v1.ExperimentStatus.phase',
            index=0,
            number=1,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='phase',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='start_timestamp',
            full_name='grid.v1.ExperimentStatus.start_timestamp',
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='startTimestamp',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='finish_timestamp',
            full_name='grid.v1.ExperimentStatus.finish_timestamp',
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='finishTimestamp',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='executor_status',
            full_name='grid.v1.ExperimentStatus.executor_status',
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='executorStatus',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='reason',
            full_name='grid.v1.ExperimentStatus.reason',
            index=4,
            number=5,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='reason',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='message',
            full_name='grid.v1.ExperimentStatus.message',
            index=5,
            number=6,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='message',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=1850,
    serialized_end=2215,
)

_EXPERIMENTEXECUTORSTATUS = _descriptor.Descriptor(
    name='ExperimentExecutorStatus',
    full_name='grid.v1.ExperimentExecutorStatus',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='external',
            full_name='grid.v1.ExperimentExecutorStatus.external',
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='external',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='kubernetes',
            full_name='grid.v1.ExperimentExecutorStatus.kubernetes',
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='kubernetes',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
        _descriptor.FieldDescriptor(
            name='slurm',
            full_name='grid.v1.ExperimentExecutorStatus.slurm',
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='slurm',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name='executor_specific_status',
            full_name='grid.v1.ExperimentExecutorStatus.executor_specific_status',
            index=0,
            containing_type=None,
            create_key=_descriptor._internal_create_key,
            fields=[]
        ),
    ],
    serialized_start=2218,
    serialized_end=2451,
)

_EXPERIMENTKUBERNETESSTATUS = _descriptor.Descriptor(
    name='ExperimentKubernetesStatus',
    full_name='grid.v1.ExperimentKubernetesStatus',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
        _descriptor.FieldDescriptor(
            name='image',
            full_name='grid.v1.ExperimentKubernetesStatus.image',
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=b"".decode('utf-8'),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            json_name='image',
            file=DESCRIPTOR,
            create_key=_descriptor._internal_create_key
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=2453,
    serialized_end=2503,
)

_EXPERIMENTSLURMSTATUS = _descriptor.Descriptor(
    name='ExperimentSLURMStatus',
    full_name='grid.v1.ExperimentSLURMStatus',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[],
    serialized_start=2505,
    serialized_end=2528,
)

_EXPERIMENT.fields_by_name['metadata'].message_type = grid_dot_v1_dot_metadata__pb2._METADATA
_EXPERIMENT.fields_by_name['spec'].message_type = _EXPERIMENTSPEC
_EXPERIMENT.fields_by_name['status'].message_type = _EXPERIMENTSTATUS
_EXPERIMENTSPEC_ENVENTRY.containing_type = _EXPERIMENTSPEC
_EXPERIMENTSPEC_RESOURCESENTRY.containing_type = _EXPERIMENTSPEC
_EXPERIMENTSPEC.fields_by_name['env'].message_type = _EXPERIMENTSPEC_ENVENTRY
_EXPERIMENTSPEC.fields_by_name['executor'].message_type = _EXPERIMENTEXECUTOR
_EXPERIMENTSPEC.fields_by_name['desired_state'].enum_type = _EXPERIMENTSTATE
_EXPERIMENTSPEC.fields_by_name['source_code'].message_type = _EXPERIMENTSOURCECODE
_EXPERIMENTSPEC.fields_by_name['resources'].message_type = _EXPERIMENTSPEC_RESOURCESENTRY
_EXPERIMENTSPEC.fields_by_name['inputs'].message_type = grid_dot_v1_dot_datastore__pb2._DATASTOREINPUT
_EXPERIMENTSPEC.fields_by_name['scratch'].message_type = _SCRATCHSPACE
_EXPERIMENTEXECUTOR.fields_by_name['external'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_EXPERIMENTEXECUTOR.fields_by_name['kubernetes'].message_type = _EXPERIMENTKUBERNETESEXECUTOR
_EXPERIMENTEXECUTOR.fields_by_name['slurm'].message_type = _EXPERIMENTSLURMEXECUTOR
_EXPERIMENTEXECUTOR.fields_by_name['scheduler'].message_type = _EXPERIMENTSCHEDULER
_EXPERIMENTEXECUTOR.oneofs_by_name['executor'].fields.append(_EXPERIMENTEXECUTOR.fields_by_name['external'])
_EXPERIMENTEXECUTOR.fields_by_name['external'].containing_oneof = _EXPERIMENTEXECUTOR.oneofs_by_name['executor']
_EXPERIMENTEXECUTOR.oneofs_by_name['executor'].fields.append(_EXPERIMENTEXECUTOR.fields_by_name['kubernetes'])
_EXPERIMENTEXECUTOR.fields_by_name['kubernetes'].containing_oneof = _EXPERIMENTEXECUTOR.oneofs_by_name['executor']
_EXPERIMENTEXECUTOR.oneofs_by_name['executor'].fields.append(_EXPERIMENTEXECUTOR.fields_by_name['slurm'])
_EXPERIMENTEXECUTOR.fields_by_name['slurm'].containing_oneof = _EXPERIMENTEXECUTOR.oneofs_by_name['executor']
_EXPERIMENTSCHEDULER.fields_by_name['external'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_EXPERIMENTSCHEDULER.fields_by_name['simple'].message_type = _SIMPLEEXPERIMENTSCHEDULER
_EXPERIMENTSCHEDULER.oneofs_by_name['scheduler'].fields.append(_EXPERIMENTSCHEDULER.fields_by_name['external'])
_EXPERIMENTSCHEDULER.fields_by_name['external'].containing_oneof = _EXPERIMENTSCHEDULER.oneofs_by_name['scheduler']
_EXPERIMENTSCHEDULER.oneofs_by_name['scheduler'].fields.append(_EXPERIMENTSCHEDULER.fields_by_name['simple'])
_EXPERIMENTSCHEDULER.fields_by_name['simple'].containing_oneof = _EXPERIMENTSCHEDULER.oneofs_by_name['scheduler']
_EXPERIMENTKUBERNETESEXECUTOR.fields_by_name['image'].message_type = grid_dot_v1_dot_image__pb2._IMAGESPEC
_EXPERIMENTSTATUS.fields_by_name['phase'].enum_type = _EXPERIMENTSTATE
_EXPERIMENTSTATUS.fields_by_name['start_timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_EXPERIMENTSTATUS.fields_by_name['finish_timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_EXPERIMENTSTATUS.fields_by_name['executor_status'].message_type = _EXPERIMENTEXECUTORSTATUS
_EXPERIMENTSTATUS.fields_by_name['reason'].enum_type = _EXPERIMENTSTATUSREASON
_EXPERIMENTEXECUTORSTATUS.fields_by_name['external'].message_type = google_dot_protobuf_dot_any__pb2._ANY
_EXPERIMENTEXECUTORSTATUS.fields_by_name['kubernetes'].message_type = _EXPERIMENTKUBERNETESSTATUS
_EXPERIMENTEXECUTORSTATUS.fields_by_name['slurm'].message_type = _EXPERIMENTSLURMSTATUS
_EXPERIMENTEXECUTORSTATUS.oneofs_by_name['executor_specific_status'].fields.append(
    _EXPERIMENTEXECUTORSTATUS.fields_by_name['external']
)
_EXPERIMENTEXECUTORSTATUS.fields_by_name['external'].containing_oneof = _EXPERIMENTEXECUTORSTATUS.oneofs_by_name[
    'executor_specific_status']
_EXPERIMENTEXECUTORSTATUS.oneofs_by_name['executor_specific_status'].fields.append(
    _EXPERIMENTEXECUTORSTATUS.fields_by_name['kubernetes']
)
_EXPERIMENTEXECUTORSTATUS.fields_by_name['kubernetes'].containing_oneof = _EXPERIMENTEXECUTORSTATUS.oneofs_by_name[
    'executor_specific_status']
_EXPERIMENTEXECUTORSTATUS.oneofs_by_name['executor_specific_status'].fields.append(
    _EXPERIMENTEXECUTORSTATUS.fields_by_name['slurm']
)
_EXPERIMENTEXECUTORSTATUS.fields_by_name['slurm'].containing_oneof = _EXPERIMENTEXECUTORSTATUS.oneofs_by_name[
    'executor_specific_status']
DESCRIPTOR.message_types_by_name['Experiment'] = _EXPERIMENT
DESCRIPTOR.message_types_by_name['ScratchSpace'] = _SCRATCHSPACE
DESCRIPTOR.message_types_by_name['ExperimentSpec'] = _EXPERIMENTSPEC
DESCRIPTOR.message_types_by_name['ExperimentExecutor'] = _EXPERIMENTEXECUTOR
DESCRIPTOR.message_types_by_name['ExperimentScheduler'] = _EXPERIMENTSCHEDULER
DESCRIPTOR.message_types_by_name['SimpleExperimentScheduler'] = _SIMPLEEXPERIMENTSCHEDULER
DESCRIPTOR.message_types_by_name['ExperimentSourceCode'] = _EXPERIMENTSOURCECODE
DESCRIPTOR.message_types_by_name['ExperimentKubernetesExecutor'] = _EXPERIMENTKUBERNETESEXECUTOR
DESCRIPTOR.message_types_by_name['ExperimentSLURMExecutor'] = _EXPERIMENTSLURMEXECUTOR
DESCRIPTOR.message_types_by_name['ExperimentStatus'] = _EXPERIMENTSTATUS
DESCRIPTOR.message_types_by_name['ExperimentExecutorStatus'] = _EXPERIMENTEXECUTORSTATUS
DESCRIPTOR.message_types_by_name['ExperimentKubernetesStatus'] = _EXPERIMENTKUBERNETESSTATUS
DESCRIPTOR.message_types_by_name['ExperimentSLURMStatus'] = _EXPERIMENTSLURMSTATUS
DESCRIPTOR.enum_types_by_name['ExperimentState'] = _EXPERIMENTSTATE
DESCRIPTOR.enum_types_by_name['ExperimentStatusReason'] = _EXPERIMENTSTATUSREASON
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Experiment = _reflection.GeneratedProtocolMessageType(
    'Experiment',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENT,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.Experiment)
    }
)
_sym_db.RegisterMessage(Experiment)

ScratchSpace = _reflection.GeneratedProtocolMessageType(
    'ScratchSpace',
    (_message.Message, ),
    {
        'DESCRIPTOR': _SCRATCHSPACE,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ScratchSpace)
    }
)
_sym_db.RegisterMessage(ScratchSpace)

ExperimentSpec = _reflection.GeneratedProtocolMessageType(
    'ExperimentSpec',
    (_message.Message, ),
    {
        'EnvEntry':
        _reflection.GeneratedProtocolMessageType(
            'EnvEntry',
            (_message.Message, ),
            {
                'DESCRIPTOR': _EXPERIMENTSPEC_ENVENTRY,
                '__module__': 'grid.v1.experiment_pb2'
                # @@protoc_insertion_point(class_scope:grid.v1.ExperimentSpec.EnvEntry)
            }
        ),
        'ResourcesEntry':
        _reflection.GeneratedProtocolMessageType(
            'ResourcesEntry',
            (_message.Message, ),
            {
                'DESCRIPTOR': _EXPERIMENTSPEC_RESOURCESENTRY,
                '__module__': 'grid.v1.experiment_pb2'
                # @@protoc_insertion_point(class_scope:grid.v1.ExperimentSpec.ResourcesEntry)
            }
        ),
        'DESCRIPTOR':
        _EXPERIMENTSPEC,
        '__module__':
        'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentSpec)
    }
)
_sym_db.RegisterMessage(ExperimentSpec)
_sym_db.RegisterMessage(ExperimentSpec.EnvEntry)
_sym_db.RegisterMessage(ExperimentSpec.ResourcesEntry)

ExperimentExecutor = _reflection.GeneratedProtocolMessageType(
    'ExperimentExecutor',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTEXECUTOR,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentExecutor)
    }
)
_sym_db.RegisterMessage(ExperimentExecutor)

ExperimentScheduler = _reflection.GeneratedProtocolMessageType(
    'ExperimentScheduler',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTSCHEDULER,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentScheduler)
    }
)
_sym_db.RegisterMessage(ExperimentScheduler)

SimpleExperimentScheduler = _reflection.GeneratedProtocolMessageType(
    'SimpleExperimentScheduler',
    (_message.Message, ),
    {
        'DESCRIPTOR': _SIMPLEEXPERIMENTSCHEDULER,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.SimpleExperimentScheduler)
    }
)
_sym_db.RegisterMessage(SimpleExperimentScheduler)

ExperimentSourceCode = _reflection.GeneratedProtocolMessageType(
    'ExperimentSourceCode',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTSOURCECODE,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentSourceCode)
    }
)
_sym_db.RegisterMessage(ExperimentSourceCode)

ExperimentKubernetesExecutor = _reflection.GeneratedProtocolMessageType(
    'ExperimentKubernetesExecutor',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTKUBERNETESEXECUTOR,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentKubernetesExecutor)
    }
)
_sym_db.RegisterMessage(ExperimentKubernetesExecutor)

ExperimentSLURMExecutor = _reflection.GeneratedProtocolMessageType(
    'ExperimentSLURMExecutor',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTSLURMEXECUTOR,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentSLURMExecutor)
    }
)
_sym_db.RegisterMessage(ExperimentSLURMExecutor)

ExperimentStatus = _reflection.GeneratedProtocolMessageType(
    'ExperimentStatus',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTSTATUS,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentStatus)
    }
)
_sym_db.RegisterMessage(ExperimentStatus)

ExperimentExecutorStatus = _reflection.GeneratedProtocolMessageType(
    'ExperimentExecutorStatus',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTEXECUTORSTATUS,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentExecutorStatus)
    }
)
_sym_db.RegisterMessage(ExperimentExecutorStatus)

ExperimentKubernetesStatus = _reflection.GeneratedProtocolMessageType(
    'ExperimentKubernetesStatus',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTKUBERNETESSTATUS,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentKubernetesStatus)
    }
)
_sym_db.RegisterMessage(ExperimentKubernetesStatus)

ExperimentSLURMStatus = _reflection.GeneratedProtocolMessageType(
    'ExperimentSLURMStatus',
    (_message.Message, ),
    {
        'DESCRIPTOR': _EXPERIMENTSLURMSTATUS,
        '__module__': 'grid.v1.experiment_pb2'
        # @@protoc_insertion_point(class_scope:grid.v1.ExperimentSLURMStatus)
    }
)
_sym_db.RegisterMessage(ExperimentSLURMStatus)

DESCRIPTOR._options = None
_EXPERIMENTSPEC_ENVENTRY._options = None
_EXPERIMENTSPEC_RESOURCESENTRY._options = None
# @@protoc_insertion_point(module_scope)
