# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: nebius/ai/v1/job.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from nebius.api.buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from nebius.api.nebius import annotations_pb2 as nebius_dot_annotations__pb2
from nebius.api.nebius.common.v1 import metadata_pb2 as nebius_dot_common_dot_v1_dot_metadata__pb2
from nebius.api.nebius.compute.v1 import disk_pb2 as nebius_dot_compute_dot_v1_dot_disk__pb2
from nebius.api.nebius.compute.v1 import instance_pb2 as nebius_dot_compute_dot_v1_dot_instance__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16nebius/ai/v1/job.proto\x12\x0cnebius.ai.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x18nebius/annotations.proto\x1a\x1fnebius/common/v1/metadata.proto\x1a\x1cnebius/compute/v1/disk.proto\x1a nebius/compute/v1/instance.proto\"\xb7\x01\n\x03Job\x12\x46\n\x08metadata\x18\x01 \x01(\x0b\x32\".nebius.common.v1.ResourceMetadataB\x06\xbaH\x03\xc8\x01\x01R\x08metadata\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x15.nebius.ai.v1.JobSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\x12\x35\n\x06status\x18\x03 \x01(\x0b\x32\x17.nebius.ai.v1.JobStatusB\x04\xbaJ\x01\x05R\x06status\"\xb7\r\n\x07JobSpec\x12\x1c\n\x05image\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x05image\x12^\n\x15\x65nvironment_variables\x18\x02 \x03(\x0b\x32).nebius.ai.v1.JobSpec.EnvironmentVariableR\x14\x65nvironmentVariables\x12\x30\n\x05ports\x18\x03 \x03(\x0b\x32\x1a.nebius.ai.v1.JobSpec.PortR\x05ports\x12+\n\x11\x63ontainer_command\x18\x04 \x01(\tR\x10\x63ontainerCommand\x12\x12\n\x04\x61rgs\x18\x05 \x01(\tR\x04\x61rgs\x12)\n\x0bworking_dir\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01R\nworkingDir\x12;\n\x07volumes\x18\x07 \x03(\x0b\x32!.nebius.ai.v1.JobSpec.VolumeMountR\x07volumes\x12\\\n\x14registry_credentials\x18\n \x01(\x0b\x32).nebius.ai.v1.JobSpec.RegistryCredentialsR\x13registryCredentials\x12\"\n\x08platform\x18\x14 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x08platform\x12\x1e\n\x06preset\x18\x15 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x06preset\x12-\n\x0eshm_size_bytes\x18\x16 \x01(\x03\x42\x07\xbaH\x04\"\x02(\x00R\x0cshmSizeBytes\x12:\n\x04\x64isk\x18\x17 \x01(\x0b\x32\x1e.nebius.ai.v1.JobSpec.DiskSpecB\x06\xbaH\x03\xc8\x01\x01R\x04\x64isk\x12\x31\n\tsubnet_id\x18\x18 \x01(\tB\x14\xbaH\x03\xc8\x01\x01\xe2J\x0b\n\tvpcsubnetR\x08subnetId\x12\x1b\n\tpublic_ip\x18\x19 \x01(\x08R\x08publicIp\x12.\n\x13ssh_authorized_keys\x18\x1a \x03(\tR\x11sshAuthorizedKeys\x12;\n\x10restart_attempts\x18\x1e \x01(\x03\x42\x10\xbaH\r\"\x0b(\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01R\x0frestartAttempts\x12\x33\n\x07timeout\x18\x1f \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\x1aL\n\x13\x45nvironmentVariable\x12\x1a\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04name\x12\x19\n\x05value\x18\x02 \x01(\tB\x03\xc0J\x01R\x05value\x1a\xef\x01\n\x04Port\x12\x32\n\x0e\x63ontainer_port\x18\x01 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\xff\xff\x03(\x01R\rcontainerPort\x12(\n\thost_port\x18\x02 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\xff\xff\x03(\x00R\x08hostPort\x12G\n\x08protocol\x18\x03 \x01(\x0e\x32#.nebius.ai.v1.JobSpec.Port.ProtocolB\x06\xbaH\x03\xc8\x01\x01R\x08protocol\"@\n\x08Protocol\x12\x18\n\x14PROTOCOL_UNSPECIFIED\x10\x00\x12\x08\n\x04HTTP\x10\x01\x12\x07\n\x03TCP\x10\x02\x12\x07\n\x03UDP\x10\x03\x1a\x95\x02\n\x0bVolumeMount\x12=\n\x06source\x18\x01 \x01(\tB%\xe2J\"\n\x11\x63omputefilesystem\n\rstoragebucketR\x06source\x12\x1f\n\x0bsource_path\x18\x02 \x01(\tR\nsourcePath\x12%\n\x0e\x63ontainer_path\x18\x03 \x01(\tR\rcontainerPath\x12\x42\n\x04mode\x18\x04 \x01(\x0e\x32&.nebius.ai.v1.JobSpec.VolumeMount.ModeB\x06\xbaH\x03\xc8\x01\x01R\x04mode\";\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0e\n\nREAD_WRITE\x10\x01\x12\r\n\tREAD_ONLY\x10\x02\x1ak\n\x08\x44iskSpec\x12@\n\x04type\x18\x01 \x01(\x0e\x32$.nebius.compute.v1.DiskSpec.DiskTypeB\x06\xbaH\x03\xc8\x01\x01R\x04type\x12\x1d\n\nsize_bytes\x18\x02 \x01(\x03R\tsizeBytes\x1a\x8e\x01\n\x13RegistryCredentials\x12\x1a\n\x08username\x18\x01 \x01(\tR\x08username\x12\x1f\n\x08password\x18\x02 \x01(\tB\x03\xc0J\x01R\x08password\x12:\n\x19mysterybox_secret_version\x18\x03 \x01(\tR\x17mysteryboxSecretVersion\"\xbc\x03\n\tJobStatus\x12+\n\x11private_endpoints\x18\x01 \x03(\tR\x10privateEndpoints\x12)\n\x10public_endpoints\x18\x02 \x03(\tR\x0fpublicEndpoints\x12=\n\tinstances\x18\n \x03(\x0b\x32\x1f.nebius.ai.v1.JobInstanceStatusR\tinstances\x12\x33\n\x05state\x18\x14 \x01(\x0e\x32\x1d.nebius.ai.v1.JobStatus.StateR\x05state\x12\x42\n\rstate_details\x18\x15 \x01(\x0b\x32\x1d.nebius.ai.v1.JobStateDetailsR\x0cstateDetails\"\x9e\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cPROVISIONING\x10\x01\x12\x0c\n\x08STARTING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\x0e\n\nCANCELLING\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\r\n\tCOMPLETED\x10\x06\x12\n\n\x06\x46\x41ILED\x10\x07\x12\r\n\tCANCELLED\x10\x08\x12\t\n\x05\x45RROR\x10\t\"G\n\x0fJobStateDetails\x12\x1a\n\x04\x63ode\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\"\xfa\x03\n\x11JobInstanceStatus\x12\x43\n\x05state\x18\x01 \x01(\x0e\x32%.nebius.ai.v1.JobInstanceStatus.StateB\x06\xbaH\x03\xc8\x01\x01R\x05state\x12\x44\n\x13\x63ompute_instance_id\x18\n \x01(\tB\x14\xe2J\x11\n\x0f\x63omputeinstanceR\x11\x63omputeInstanceId\x12m\n\x16\x63ompute_instance_state\x18\x0b \x01(\x0e\x32/.nebius.compute.v1.InstanceStatus.InstanceStateB\x06\xbaH\x03\xc8\x01\x01R\x14\x63omputeInstanceState\x12\x1d\n\nprivate_ip\x18\x0c \x01(\tR\tprivateIp\x12\x1b\n\tpublic_ip\x18\r \x01(\tR\x08publicIp\"\xae\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cPROVISIONING\x10\x01\x12\x0c\n\x08STARTING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\x0e\n\nCOMPLETING\x10\x04\x12\x0e\n\nCANCELLING\x10\x05\x12\x0c\n\x08\x44\x45LETING\x10\x06\x12\r\n\tCOMPLETED\x10\x07\x12\n\n\x06\x46\x41ILED\x10\x08\x12\r\n\tCANCELLED\x10\t\x12\t\n\x05\x45RROR\x10\nBM\n\x13\x61i.nebius.pub.ai.v1B\x08JobProtoP\x01Z*github.com/nebius/gosdk/proto/nebius/ai/v1b\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'nebius.ai.v1.job_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'\n\023ai.nebius.pub.ai.v1B\010JobProtoP\001Z*github.com/nebius/gosdk/proto/nebius/ai/v1'
  _JOB.fields_by_name['metadata']._options = None
  _JOB.fields_by_name['metadata']._serialized_options = b'\272H\003\310\001\001'
  _JOB.fields_by_name['spec']._options = None
  _JOB.fields_by_name['spec']._serialized_options = b'\272H\003\310\001\001'
  _JOB.fields_by_name['status']._options = None
  _JOB.fields_by_name['status']._serialized_options = b'\272J\001\005'
  _JOBSPEC_ENVIRONMENTVARIABLE.fields_by_name['name']._options = None
  _JOBSPEC_ENVIRONMENTVARIABLE.fields_by_name['name']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC_ENVIRONMENTVARIABLE.fields_by_name['value']._options = None
  _JOBSPEC_ENVIRONMENTVARIABLE.fields_by_name['value']._serialized_options = b'\300J\001'
  _JOBSPEC_PORT.fields_by_name['container_port']._options = None
  _JOBSPEC_PORT.fields_by_name['container_port']._serialized_options = b'\272H\010\032\006\030\377\377\003(\001'
  _JOBSPEC_PORT.fields_by_name['host_port']._options = None
  _JOBSPEC_PORT.fields_by_name['host_port']._serialized_options = b'\272H\010\032\006\030\377\377\003(\000'
  _JOBSPEC_PORT.fields_by_name['protocol']._options = None
  _JOBSPEC_PORT.fields_by_name['protocol']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC_VOLUMEMOUNT.fields_by_name['source']._options = None
  _JOBSPEC_VOLUMEMOUNT.fields_by_name['source']._serialized_options = b'\342J\"\n\021computefilesystem\n\rstoragebucket'
  _JOBSPEC_VOLUMEMOUNT.fields_by_name['mode']._options = None
  _JOBSPEC_VOLUMEMOUNT.fields_by_name['mode']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC_DISKSPEC.fields_by_name['type']._options = None
  _JOBSPEC_DISKSPEC.fields_by_name['type']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC_REGISTRYCREDENTIALS.fields_by_name['password']._options = None
  _JOBSPEC_REGISTRYCREDENTIALS.fields_by_name['password']._serialized_options = b'\300J\001'
  _JOBSPEC.fields_by_name['image']._options = None
  _JOBSPEC.fields_by_name['image']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC.fields_by_name['working_dir']._options = None
  _JOBSPEC.fields_by_name['working_dir']._serialized_options = b'\272H\005r\003\030\200\001'
  _JOBSPEC.fields_by_name['platform']._options = None
  _JOBSPEC.fields_by_name['platform']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC.fields_by_name['preset']._options = None
  _JOBSPEC.fields_by_name['preset']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC.fields_by_name['shm_size_bytes']._options = None
  _JOBSPEC.fields_by_name['shm_size_bytes']._serialized_options = b'\272H\004\"\002(\000'
  _JOBSPEC.fields_by_name['disk']._options = None
  _JOBSPEC.fields_by_name['disk']._serialized_options = b'\272H\003\310\001\001'
  _JOBSPEC.fields_by_name['subnet_id']._options = None
  _JOBSPEC.fields_by_name['subnet_id']._serialized_options = b'\272H\003\310\001\001\342J\013\n\tvpcsubnet'
  _JOBSPEC.fields_by_name['restart_attempts']._options = None
  _JOBSPEC.fields_by_name['restart_attempts']._serialized_options = b'\272H\r\"\013(\377\377\377\377\377\377\377\377\377\001'
  _JOBSTATEDETAILS.fields_by_name['code']._options = None
  _JOBSTATEDETAILS.fields_by_name['code']._serialized_options = b'\272H\003\310\001\001'
  _JOBINSTANCESTATUS.fields_by_name['state']._options = None
  _JOBINSTANCESTATUS.fields_by_name['state']._serialized_options = b'\272H\003\310\001\001'
  _JOBINSTANCESTATUS.fields_by_name['compute_instance_id']._options = None
  _JOBINSTANCESTATUS.fields_by_name['compute_instance_id']._serialized_options = b'\342J\021\n\017computeinstance'
  _JOBINSTANCESTATUS.fields_by_name['compute_instance_state']._options = None
  _JOBINSTANCESTATUS.fields_by_name['compute_instance_state']._serialized_options = b'\272H\003\310\001\001'
  _globals['_JOB']._serialized_start=225
  _globals['_JOB']._serialized_end=408
  _globals['_JOBSPEC']._serialized_start=411
  _globals['_JOBSPEC']._serialized_end=2130
  _globals['_JOBSPEC_ENVIRONMENTVARIABLE']._serialized_start=1278
  _globals['_JOBSPEC_ENVIRONMENTVARIABLE']._serialized_end=1354
  _globals['_JOBSPEC_PORT']._serialized_start=1357
  _globals['_JOBSPEC_PORT']._serialized_end=1596
  _globals['_JOBSPEC_PORT_PROTOCOL']._serialized_start=1532
  _globals['_JOBSPEC_PORT_PROTOCOL']._serialized_end=1596
  _globals['_JOBSPEC_VOLUMEMOUNT']._serialized_start=1599
  _globals['_JOBSPEC_VOLUMEMOUNT']._serialized_end=1876
  _globals['_JOBSPEC_VOLUMEMOUNT_MODE']._serialized_start=1817
  _globals['_JOBSPEC_VOLUMEMOUNT_MODE']._serialized_end=1876
  _globals['_JOBSPEC_DISKSPEC']._serialized_start=1878
  _globals['_JOBSPEC_DISKSPEC']._serialized_end=1985
  _globals['_JOBSPEC_REGISTRYCREDENTIALS']._serialized_start=1988
  _globals['_JOBSPEC_REGISTRYCREDENTIALS']._serialized_end=2130
  _globals['_JOBSTATUS']._serialized_start=2133
  _globals['_JOBSTATUS']._serialized_end=2577
  _globals['_JOBSTATUS_STATE']._serialized_start=2419
  _globals['_JOBSTATUS_STATE']._serialized_end=2577
  _globals['_JOBSTATEDETAILS']._serialized_start=2579
  _globals['_JOBSTATEDETAILS']._serialized_end=2650
  _globals['_JOBINSTANCESTATUS']._serialized_start=2653
  _globals['_JOBINSTANCESTATUS']._serialized_end=3159
  _globals['_JOBINSTANCESTATUS_STATE']._serialized_start=2985
  _globals['_JOBINSTANCESTATUS_STATE']._serialized_end=3159
# @@protoc_insertion_point(module_scope)
