You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

413 lines
17 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/devtools/remoteworkers/v1test2/worker.proto
  3. package remoteworkers // import "google.golang.org/genproto/googleapis/devtools/remoteworkers/v1test2"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. // Reference imports to suppress errors if they are not otherwise used.
  8. var _ = proto.Marshal
  9. var _ = fmt.Errorf
  10. var _ = math.Inf
  11. // This is a compile-time assertion to ensure that this generated file
  12. // is compatible with the proto package it is being compiled against.
  13. // A compilation error at this line likely means your copy of the
  14. // proto package needs to be updated.
  15. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  16. // Describes a worker, which is a list of one or more devices and the
  17. // connections between them. A device could be a computer, a phone, or even an
  18. // accelerator like a GPU; it's up to the farm administrator to decide how to
  19. // model their farm. For example, if a farm only has one type of GPU, the GPU
  20. // could be modelled as a "has_gpu" property on its host computer; if it has
  21. // many subproperties itself, it might be better to model it as a separate
  22. // device.
  23. //
  24. // The first device in the worker is the "primary device" - that is, the device
  25. // running a bot and which is responsible for actually executing commands. All
  26. // other devices are considered to be attached devices, and must be controllable
  27. // by the primary device.
  28. //
  29. // This message (and all its submessages) can be used in two contexts:
  30. //
  31. // * Status: sent by the bot to report the current capabilities of the device to
  32. // allow reservation matching.
  33. // * Request: sent by a client to request a device with certain capabilities in
  34. // a reservation.
  35. //
  36. // Several of the fields in this message have different semantics depending on
  37. // which of which of these contexts it is used. These semantics are described
  38. // below.
  39. //
  40. // Several messages in Worker and its submessages have the concept of keys and
  41. // values, such as `Worker.Property` and `Device.Property`. All keys are simple
  42. // strings, but certain keys are "standard" keys and should be broadly supported
  43. // across farms and implementations; these are listed below each relevant
  44. // message. Bot implementations or farm admins may add *additional* keys, but
  45. // these SHOULD all begin with an underscore so they do not conflict with
  46. // standard keys that may be added in the future.
  47. //
  48. // Keys are not context sensitive.
  49. //
  50. // See http://goo.gl/NurY8g for more information on the Worker message.
  51. type Worker struct {
  52. // A list of devices; the first device is the primary device. See the `Device`
  53. // message for more information.
  54. Devices []*Device `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
  55. // A worker may contain "global" properties. For example, certain machines
  56. // might be reserved for certain types of jobs, like short-running compilation
  57. // versus long-running integration tests. This property is known as a "pool"
  58. // and is not related to any one device within the worker; rather, it applies
  59. // to the worker as a whole.
  60. //
  61. // The behaviour of repeated keys is identical to that of Device.Property.
  62. Properties []*Worker_Property `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
  63. // Bots can be configured in certain ways when accepting leases. For example,
  64. // many leases are executed inside a Docker container. To support this, the
  65. // bot needs to be able to report that it has Docker installed (and knows how
  66. // to execute something inside a container), and the task submitter needs to
  67. // specify which image should be used to start the container. Similarly, a
  68. // lease may be able to run as one of several users on the worker; in such
  69. // cases, the bot needs to report what users are available, and the submitter
  70. // needs to choose one.
  71. //
  72. // Therefore, when this message is reported by the bot to the service, each
  73. // key represents a *type* of configuration that the bot knows how to set,
  74. // while each *value* represents a legal value for that configuration (the
  75. // empty string is interpretted as a wildcard, such as for Docker images).
  76. // When this message is sent by the server to the bot in the context of a
  77. // lease, it represents a command to the bot to apply the setting. Keys may
  78. // be repeated during reporting but not in a lease.
  79. Configs []*Worker_Config `protobuf:"bytes,3,rep,name=configs,proto3" json:"configs,omitempty"`
  80. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  81. XXX_unrecognized []byte `json:"-"`
  82. XXX_sizecache int32 `json:"-"`
  83. }
  84. func (m *Worker) Reset() { *m = Worker{} }
  85. func (m *Worker) String() string { return proto.CompactTextString(m) }
  86. func (*Worker) ProtoMessage() {}
  87. func (*Worker) Descriptor() ([]byte, []int) {
  88. return fileDescriptor_worker_074825d0e633fa97, []int{0}
  89. }
  90. func (m *Worker) XXX_Unmarshal(b []byte) error {
  91. return xxx_messageInfo_Worker.Unmarshal(m, b)
  92. }
  93. func (m *Worker) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  94. return xxx_messageInfo_Worker.Marshal(b, m, deterministic)
  95. }
  96. func (dst *Worker) XXX_Merge(src proto.Message) {
  97. xxx_messageInfo_Worker.Merge(dst, src)
  98. }
  99. func (m *Worker) XXX_Size() int {
  100. return xxx_messageInfo_Worker.Size(m)
  101. }
  102. func (m *Worker) XXX_DiscardUnknown() {
  103. xxx_messageInfo_Worker.DiscardUnknown(m)
  104. }
  105. var xxx_messageInfo_Worker proto.InternalMessageInfo
  106. func (m *Worker) GetDevices() []*Device {
  107. if m != nil {
  108. return m.Devices
  109. }
  110. return nil
  111. }
  112. func (m *Worker) GetProperties() []*Worker_Property {
  113. if m != nil {
  114. return m.Properties
  115. }
  116. return nil
  117. }
  118. func (m *Worker) GetConfigs() []*Worker_Config {
  119. if m != nil {
  120. return m.Configs
  121. }
  122. return nil
  123. }
  124. // A global property; see the `properties` field for more information.
  125. type Worker_Property struct {
  126. // For general information on keys, see the documentation to `Worker`.
  127. //
  128. // The current set of standard keys are:
  129. //
  130. // * pool: different workers can be reserved for different purposes. For
  131. // example, an admin might want to segregate long-running integration tests
  132. // from short-running unit tests, so unit tests will always get some
  133. // throughput. To support this, the server can assign different values for
  134. // `pool` (such as "itest" and "utest") to different workers, and then have
  135. // jobs request workers from those pools.
  136. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  137. // The property's value.
  138. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  139. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  140. XXX_unrecognized []byte `json:"-"`
  141. XXX_sizecache int32 `json:"-"`
  142. }
  143. func (m *Worker_Property) Reset() { *m = Worker_Property{} }
  144. func (m *Worker_Property) String() string { return proto.CompactTextString(m) }
  145. func (*Worker_Property) ProtoMessage() {}
  146. func (*Worker_Property) Descriptor() ([]byte, []int) {
  147. return fileDescriptor_worker_074825d0e633fa97, []int{0, 0}
  148. }
  149. func (m *Worker_Property) XXX_Unmarshal(b []byte) error {
  150. return xxx_messageInfo_Worker_Property.Unmarshal(m, b)
  151. }
  152. func (m *Worker_Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  153. return xxx_messageInfo_Worker_Property.Marshal(b, m, deterministic)
  154. }
  155. func (dst *Worker_Property) XXX_Merge(src proto.Message) {
  156. xxx_messageInfo_Worker_Property.Merge(dst, src)
  157. }
  158. func (m *Worker_Property) XXX_Size() int {
  159. return xxx_messageInfo_Worker_Property.Size(m)
  160. }
  161. func (m *Worker_Property) XXX_DiscardUnknown() {
  162. xxx_messageInfo_Worker_Property.DiscardUnknown(m)
  163. }
  164. var xxx_messageInfo_Worker_Property proto.InternalMessageInfo
  165. func (m *Worker_Property) GetKey() string {
  166. if m != nil {
  167. return m.Key
  168. }
  169. return ""
  170. }
  171. func (m *Worker_Property) GetValue() string {
  172. if m != nil {
  173. return m.Value
  174. }
  175. return ""
  176. }
  177. // A configuration request or report; see the `configs` field for more
  178. // information.
  179. type Worker_Config struct {
  180. // For general information on keys, see the documentation to `Worker`.
  181. //
  182. // The current set of standard keys are:
  183. //
  184. // * DockerImage: the image of the container. When being reported by the
  185. // bot, the empty value should always be included if the bot is able to pull
  186. // its own images; the bot may optionally *also* report images that are
  187. // present in its cache. When being requested in a lease, the value is the
  188. // URI of the image (eg `gcr.io/user/image@sha256:hash`).
  189. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  190. // The configuration's value.
  191. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  192. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  193. XXX_unrecognized []byte `json:"-"`
  194. XXX_sizecache int32 `json:"-"`
  195. }
  196. func (m *Worker_Config) Reset() { *m = Worker_Config{} }
  197. func (m *Worker_Config) String() string { return proto.CompactTextString(m) }
  198. func (*Worker_Config) ProtoMessage() {}
  199. func (*Worker_Config) Descriptor() ([]byte, []int) {
  200. return fileDescriptor_worker_074825d0e633fa97, []int{0, 1}
  201. }
  202. func (m *Worker_Config) XXX_Unmarshal(b []byte) error {
  203. return xxx_messageInfo_Worker_Config.Unmarshal(m, b)
  204. }
  205. func (m *Worker_Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  206. return xxx_messageInfo_Worker_Config.Marshal(b, m, deterministic)
  207. }
  208. func (dst *Worker_Config) XXX_Merge(src proto.Message) {
  209. xxx_messageInfo_Worker_Config.Merge(dst, src)
  210. }
  211. func (m *Worker_Config) XXX_Size() int {
  212. return xxx_messageInfo_Worker_Config.Size(m)
  213. }
  214. func (m *Worker_Config) XXX_DiscardUnknown() {
  215. xxx_messageInfo_Worker_Config.DiscardUnknown(m)
  216. }
  217. var xxx_messageInfo_Worker_Config proto.InternalMessageInfo
  218. func (m *Worker_Config) GetKey() string {
  219. if m != nil {
  220. return m.Key
  221. }
  222. return ""
  223. }
  224. func (m *Worker_Config) GetValue() string {
  225. if m != nil {
  226. return m.Value
  227. }
  228. return ""
  229. }
  230. // Any device, including computers, phones, accelerators (e.g. GPUs), etc. All
  231. // names must be unique.
  232. type Device struct {
  233. // The handle can be thought of as the "name" of the device, and must be
  234. // unique within a Worker.
  235. //
  236. // In the Status context, the handle should be some human-understandable name,
  237. // perhaps corresponding to a label physically written on the device to make
  238. // it easy to locate. In the Request context, the name should be the
  239. // *logical* name expected by the task. The bot is responsible for mapping the
  240. // logical name expected by the task to a machine-readable name that the task
  241. // can actually use, such as a USB address. The method by which this mapping
  242. // is communicated to the task is not covered in this API.
  243. Handle string `protobuf:"bytes,1,opt,name=handle,proto3" json:"handle,omitempty"`
  244. // Properties of this device that don't change based on the tasks that are
  245. // running on it, e.g. OS, CPU architecture, etc.
  246. //
  247. // Keys may be repeated, and have the following interpretation:
  248. //
  249. // * Status context: the device can support *any* the listed values. For
  250. // example, an "ISA" property might include "x86", "x86-64" and "sse4".
  251. //
  252. // * Request context: the device *must* support *all* of the listed values.
  253. Properties []*Device_Property `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
  254. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  255. XXX_unrecognized []byte `json:"-"`
  256. XXX_sizecache int32 `json:"-"`
  257. }
  258. func (m *Device) Reset() { *m = Device{} }
  259. func (m *Device) String() string { return proto.CompactTextString(m) }
  260. func (*Device) ProtoMessage() {}
  261. func (*Device) Descriptor() ([]byte, []int) {
  262. return fileDescriptor_worker_074825d0e633fa97, []int{1}
  263. }
  264. func (m *Device) XXX_Unmarshal(b []byte) error {
  265. return xxx_messageInfo_Device.Unmarshal(m, b)
  266. }
  267. func (m *Device) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  268. return xxx_messageInfo_Device.Marshal(b, m, deterministic)
  269. }
  270. func (dst *Device) XXX_Merge(src proto.Message) {
  271. xxx_messageInfo_Device.Merge(dst, src)
  272. }
  273. func (m *Device) XXX_Size() int {
  274. return xxx_messageInfo_Device.Size(m)
  275. }
  276. func (m *Device) XXX_DiscardUnknown() {
  277. xxx_messageInfo_Device.DiscardUnknown(m)
  278. }
  279. var xxx_messageInfo_Device proto.InternalMessageInfo
  280. func (m *Device) GetHandle() string {
  281. if m != nil {
  282. return m.Handle
  283. }
  284. return ""
  285. }
  286. func (m *Device) GetProperties() []*Device_Property {
  287. if m != nil {
  288. return m.Properties
  289. }
  290. return nil
  291. }
  292. // A device property; see `properties` for more information.
  293. type Device_Property struct {
  294. // For general information on keys, see the documentation to `Worker`.
  295. //
  296. // The current set of standard keys are:
  297. //
  298. // * os: a human-readable description of the OS. Examples include `linux`,
  299. // `ubuntu` and `ubuntu 14.04` (note that a bot may advertise itself as more
  300. // than one). This will be replaced in the future by more well-structured
  301. // keys and values to represent OS variants.
  302. //
  303. // * has-docker: "true" if the bot has Docker installed. This will be
  304. // replaced in the future by a more structured message for Docker support.
  305. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  306. // The property's value.
  307. Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  308. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  309. XXX_unrecognized []byte `json:"-"`
  310. XXX_sizecache int32 `json:"-"`
  311. }
  312. func (m *Device_Property) Reset() { *m = Device_Property{} }
  313. func (m *Device_Property) String() string { return proto.CompactTextString(m) }
  314. func (*Device_Property) ProtoMessage() {}
  315. func (*Device_Property) Descriptor() ([]byte, []int) {
  316. return fileDescriptor_worker_074825d0e633fa97, []int{1, 0}
  317. }
  318. func (m *Device_Property) XXX_Unmarshal(b []byte) error {
  319. return xxx_messageInfo_Device_Property.Unmarshal(m, b)
  320. }
  321. func (m *Device_Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  322. return xxx_messageInfo_Device_Property.Marshal(b, m, deterministic)
  323. }
  324. func (dst *Device_Property) XXX_Merge(src proto.Message) {
  325. xxx_messageInfo_Device_Property.Merge(dst, src)
  326. }
  327. func (m *Device_Property) XXX_Size() int {
  328. return xxx_messageInfo_Device_Property.Size(m)
  329. }
  330. func (m *Device_Property) XXX_DiscardUnknown() {
  331. xxx_messageInfo_Device_Property.DiscardUnknown(m)
  332. }
  333. var xxx_messageInfo_Device_Property proto.InternalMessageInfo
  334. func (m *Device_Property) GetKey() string {
  335. if m != nil {
  336. return m.Key
  337. }
  338. return ""
  339. }
  340. func (m *Device_Property) GetValue() string {
  341. if m != nil {
  342. return m.Value
  343. }
  344. return ""
  345. }
  346. func init() {
  347. proto.RegisterType((*Worker)(nil), "google.devtools.remoteworkers.v1test2.Worker")
  348. proto.RegisterType((*Worker_Property)(nil), "google.devtools.remoteworkers.v1test2.Worker.Property")
  349. proto.RegisterType((*Worker_Config)(nil), "google.devtools.remoteworkers.v1test2.Worker.Config")
  350. proto.RegisterType((*Device)(nil), "google.devtools.remoteworkers.v1test2.Device")
  351. proto.RegisterType((*Device_Property)(nil), "google.devtools.remoteworkers.v1test2.Device.Property")
  352. }
  353. func init() {
  354. proto.RegisterFile("google/devtools/remoteworkers/v1test2/worker.proto", fileDescriptor_worker_074825d0e633fa97)
  355. }
  356. var fileDescriptor_worker_074825d0e633fa97 = []byte{
  357. // 332 bytes of a gzipped FileDescriptorProto
  358. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x92, 0xc1, 0x4a, 0xf3, 0x40,
  359. 0x10, 0xc7, 0x49, 0xca, 0x97, 0x7e, 0x8e, 0x17, 0x59, 0x45, 0x42, 0x4f, 0xa5, 0x50, 0xa8, 0x07,
  360. 0x37, 0x36, 0x8a, 0x17, 0x6f, 0xb5, 0xd0, 0x9b, 0x94, 0xa5, 0xb4, 0xe0, 0x2d, 0xb6, 0xe3, 0x1a,
  361. 0x9a, 0x66, 0xc2, 0x6e, 0x8c, 0xf4, 0x75, 0x3c, 0x8a, 0x6f, 0xe1, 0x83, 0xf8, 0x2a, 0xd2, 0xdd,
  362. 0x04, 0x0c, 0x08, 0x46, 0x3d, 0x25, 0x33, 0xe1, 0xf7, 0x9b, 0xc9, 0x9f, 0x81, 0x50, 0x12, 0xc9,
  363. 0x04, 0x83, 0x15, 0x16, 0x39, 0x51, 0xa2, 0x03, 0x85, 0x1b, 0xca, 0xf1, 0x89, 0xd4, 0x1a, 0x95,
  364. 0x0e, 0x8a, 0x61, 0x8e, 0x3a, 0x0f, 0x03, 0x5b, 0xf3, 0x4c, 0x51, 0x4e, 0xac, 0x6f, 0x19, 0x5e,
  365. 0x31, 0xbc, 0xc6, 0xf0, 0x92, 0xe9, 0xbd, 0xbb, 0xe0, 0x2d, 0x4c, 0x8f, 0x4d, 0xa0, 0xbd, 0xc2,
  366. 0x22, 0x5e, 0xa2, 0xf6, 0x9d, 0x6e, 0x6b, 0xb0, 0x1f, 0x9e, 0xf2, 0x46, 0x0e, 0x3e, 0x36, 0x94,
  367. 0xa8, 0x68, 0x36, 0x07, 0xc8, 0x14, 0x65, 0xa8, 0xf2, 0x18, 0xb5, 0xef, 0x1a, 0xd7, 0x65, 0x43,
  368. 0x97, 0xdd, 0x85, 0x4f, 0x2d, 0xbf, 0x15, 0x9f, 0x4c, 0xec, 0x06, 0xda, 0x4b, 0x4a, 0xef, 0x63,
  369. 0xa9, 0xfd, 0x96, 0x91, 0x5e, 0xfc, 0x4c, 0x7a, 0x6d, 0x60, 0x51, 0x49, 0x3a, 0x21, 0xfc, 0xaf,
  370. 0xe6, 0xb0, 0x03, 0x68, 0xad, 0x71, 0xeb, 0x3b, 0x5d, 0x67, 0xb0, 0x27, 0x76, 0xaf, 0xec, 0x08,
  371. 0xfe, 0x15, 0x51, 0xf2, 0x88, 0xbe, 0x6b, 0x7a, 0xb6, 0xe8, 0x9c, 0x81, 0x67, 0x35, 0x4d, 0x89,
  372. 0xde, 0xab, 0x03, 0x9e, 0x4d, 0x88, 0x1d, 0x83, 0xf7, 0x10, 0xa5, 0xab, 0x04, 0x4b, 0xaa, 0xac,
  373. 0xfe, 0x14, 0x98, 0x55, 0x7f, 0x19, 0xd8, 0x6f, 0x7e, 0x70, 0xf4, 0xe6, 0xc0, 0xc9, 0x92, 0x36,
  374. 0xcd, 0xa6, 0x8f, 0x0e, 0x85, 0x69, 0xdb, 0x80, 0xb5, 0x7d, 0x4c, 0x9d, 0x5b, 0x51, 0xd2, 0x92,
  375. 0x92, 0x28, 0x95, 0x9c, 0x94, 0x0c, 0x24, 0xa6, 0xe6, 0x30, 0x03, 0xfb, 0x29, 0xca, 0x62, 0xfd,
  376. 0xcd, 0x3d, 0x5f, 0xd5, 0xba, 0xcf, 0xae, 0x2b, 0x16, 0x2f, 0x6e, 0x7f, 0x62, 0xcd, 0x63, 0x2c,
  377. 0x66, 0x66, 0xaf, 0xda, 0x02, 0x7c, 0x3e, 0x9c, 0xed, 0xd0, 0x3b, 0xcf, 0xcc, 0x3a, 0xff, 0x08,
  378. 0x00, 0x00, 0xff, 0xff, 0x4e, 0x67, 0x96, 0xee, 0x3a, 0x03, 0x00, 0x00,
  379. }