github.com/rkt/rkt@v1.30.1-0.20200224141603-171c416fac02/api/v1alpha/docs/docs.md (about) 1 # Protocol Documentation 2 <a name="top"/> 3 4 ## Table of Contents 5 6 - [api.proto](#api.proto) 7 - [App](#v1alpha.App) 8 - [Event](#v1alpha.Event) 9 - [EventFilter](#v1alpha.EventFilter) 10 - [GetInfoRequest](#v1alpha.GetInfoRequest) 11 - [GetInfoResponse](#v1alpha.GetInfoResponse) 12 - [GetLogsRequest](#v1alpha.GetLogsRequest) 13 - [GetLogsResponse](#v1alpha.GetLogsResponse) 14 - [GlobalFlags](#v1alpha.GlobalFlags) 15 - [Image](#v1alpha.Image) 16 - [ImageFilter](#v1alpha.ImageFilter) 17 - [ImageFormat](#v1alpha.ImageFormat) 18 - [Info](#v1alpha.Info) 19 - [InspectImageRequest](#v1alpha.InspectImageRequest) 20 - [InspectImageResponse](#v1alpha.InspectImageResponse) 21 - [InspectPodRequest](#v1alpha.InspectPodRequest) 22 - [InspectPodResponse](#v1alpha.InspectPodResponse) 23 - [KeyValue](#v1alpha.KeyValue) 24 - [ListImagesRequest](#v1alpha.ListImagesRequest) 25 - [ListImagesResponse](#v1alpha.ListImagesResponse) 26 - [ListPodsRequest](#v1alpha.ListPodsRequest) 27 - [ListPodsResponse](#v1alpha.ListPodsResponse) 28 - [ListenEventsRequest](#v1alpha.ListenEventsRequest) 29 - [ListenEventsResponse](#v1alpha.ListenEventsResponse) 30 - [Network](#v1alpha.Network) 31 - [Pod](#v1alpha.Pod) 32 - [PodFilter](#v1alpha.PodFilter) 33 34 - [AppState](#v1alpha.AppState) 35 - [EventType](#v1alpha.EventType) 36 - [ImageType](#v1alpha.ImageType) 37 - [PodState](#v1alpha.PodState) 38 39 40 - [PublicAPI](#v1alpha.PublicAPI) 41 42 43 - [Scalar Value Types](#scalar-value-types) 44 45 46 47 <a name="api.proto"/> 48 <p align="right"><a href="#top">Top</a></p> 49 50 ## api.proto 51 52 53 54 <a name="v1alpha.App"/> 55 56 ### App 57 App describes the information of an app that's running in a pod. 58 59 60 | Field | Type | Label | Description | 61 | ----- | ---- | ----- | ----------- | 62 | name | [string](#string) | | Name of the app, required. | 63 | image | [Image](#v1alpha.Image) | | Image used by the app, required. However, this may only contain the image id if it is returned by ListPods(). | 64 | state | [AppState](#v1alpha.AppState) | | State of the app. optional, non-empty only if it's returned by InspectPod(). | 65 | exit_code | [sint32](#sint32) | | Exit code of the app. optional, only valid if it's returned by InspectPod() and the app has already exited. | 66 | annotations | [KeyValue](#v1alpha.KeyValue) | repeated | Annotations for this app. | 67 68 69 70 71 72 73 <a name="v1alpha.Event"/> 74 75 ### Event 76 Event describes the events that will be received via ListenEvents(). 77 78 79 | Field | Type | Label | Description | 80 | ----- | ---- | ----- | ----------- | 81 | type | [EventType](#v1alpha.EventType) | | Type of the event, required. | 82 | id | [string](#string) | | ID of the subject that causes the event, required. If the event is a pod or app event, the id is the pod's uuid. If the event is an image event, the id is the image's id. | 83 | from | [string](#string) | | Name of the subject that causes the event, required. If the event is a pod event, the name is the pod's name. If the event is an app event, the name is the app's name. If the event is an image event, the name is the image's name. | 84 | time | [int64](#int64) | | Timestamp of when the event happens, it is the seconds since epoch, required. | 85 | data | [KeyValue](#v1alpha.KeyValue) | repeated | Data of the event, in the form of key-value pairs, optional. | 86 87 88 89 90 91 92 <a name="v1alpha.EventFilter"/> 93 94 ### EventFilter 95 EventFilter defines the condition that the returned events needs to satisfy in ListImages(). 96 The condition are combined by 'AND'. 97 98 99 | Field | Type | Label | Description | 100 | ----- | ---- | ----- | ----------- | 101 | types | [EventType](#v1alpha.EventType) | repeated | If not empty, then only returns the events that have the listed types. | 102 | ids | [string](#string) | repeated | If not empty, then only returns the events whose 'id' is included in the listed ids. | 103 | names | [string](#string) | repeated | If not empty, then only returns the events whose 'from' is included in the listed names. | 104 | since_time | [int64](#int64) | | If set, then only returns the events after this timestamp. If the server starts after since_time, then only the events happened after the start of the server will be returned. If since_time is a future timestamp, then no events will be returned until that time. | 105 | until_time | [int64](#int64) | | If set, then only returns the events before this timestamp. If it is a future timestamp, then the event stream will be closed at that moment. | 106 107 108 109 110 111 112 <a name="v1alpha.GetInfoRequest"/> 113 114 ### GetInfoRequest 115 Request for GetInfo(). 116 117 118 119 120 121 122 <a name="v1alpha.GetInfoResponse"/> 123 124 ### GetInfoResponse 125 Response for GetInfo(). 126 127 128 | Field | Type | Label | Description | 129 | ----- | ---- | ----- | ----------- | 130 | info | [Info](#v1alpha.Info) | | Required. | 131 132 133 134 135 136 137 <a name="v1alpha.GetLogsRequest"/> 138 139 ### GetLogsRequest 140 Request for GetLogs(). 141 142 143 | Field | Type | Label | Description | 144 | ----- | ---- | ----- | ----------- | 145 | pod_id | [string](#string) | | ID of the pod which we will get logs from, required. | 146 | app_name | [string](#string) | | Name of the app within the pod which we will get logs from, optional. If not set, then the logs of all the apps within the pod will be returned. | 147 | lines | [int32](#int32) | | Number of most recent lines to return, optional. | 148 | follow | [bool](#bool) | | If true, then a response stream will not be closed, and new log response will be sent via the stream, default is false. | 149 | since_time | [int64](#int64) | | If set, then only the logs after the timestamp will be returned, optional. | 150 | until_time | [int64](#int64) | | If set, then only the logs before the timestamp will be returned, optional. | 151 152 153 154 155 156 157 <a name="v1alpha.GetLogsResponse"/> 158 159 ### GetLogsResponse 160 Response for GetLogs(). 161 162 163 | Field | Type | Label | Description | 164 | ----- | ---- | ----- | ----------- | 165 | lines | [string](#string) | repeated | List of the log lines that returned, optional as the response can contain no logs. | 166 167 168 169 170 171 172 <a name="v1alpha.GlobalFlags"/> 173 174 ### GlobalFlags 175 GlobalFlags describes the flags that passed to rkt api service when it is launched. 176 177 178 | Field | Type | Label | Description | 179 | ----- | ---- | ----- | ----------- | 180 | dir | [string](#string) | | Data directory. | 181 | system_config_dir | [string](#string) | | System configuration directory. | 182 | local_config_dir | [string](#string) | | Local configuration directory. | 183 | user_config_dir | [string](#string) | | User configuration directory. | 184 | insecure_flags | [string](#string) | | Insecure flags configurates what security features to disable. | 185 | trust_keys_from_https | [bool](#bool) | | Whether to automatically trust gpg keys fetched from https | 186 187 188 189 190 191 192 <a name="v1alpha.Image"/> 193 194 ### Image 195 Image describes the image's information. 196 197 198 | Field | Type | Label | Description | 199 | ----- | ---- | ----- | ----------- | 200 | base_format | [ImageFormat](#v1alpha.ImageFormat) | | Base format of the image, required. This indicates the original format for the image as nowadays all the image formats will be transformed to ACI. | 201 | id | [string](#string) | | ID of the image, a string that can be used to uniquely identify the image, e.g. sha512 hash of the ACIs, required. | 202 | name | [string](#string) | | Name of the image in the image manifest, e.g. 'coreos.com/etcd', optional. | 203 | version | [string](#string) | | Version of the image, e.g. 'latest', '2.0.10', optional. | 204 | import_timestamp | [int64](#int64) | | Timestamp of when the image is imported, it is the seconds since epoch, optional. | 205 | manifest | [bytes](#bytes) | | JSON-encoded byte array that represents the image manifest, optional. | 206 | size | [int64](#int64) | | Size is the size in bytes of this image in the store. | 207 | annotations | [KeyValue](#v1alpha.KeyValue) | repeated | Annotations on this image. | 208 | labels | [KeyValue](#v1alpha.KeyValue) | repeated | Labels of this image. | 209 210 211 212 213 214 215 <a name="v1alpha.ImageFilter"/> 216 217 ### ImageFilter 218 ImageFilter defines the condition that the returned images need to satisfy in ListImages(). 219 The conditions are combined by 'AND', and different filters are combined by 'OR'. 220 221 222 | Field | Type | Label | Description | 223 | ----- | ---- | ----- | ----------- | 224 | ids | [string](#string) | repeated | If not empty, the images that have any of the ids will be returned. | 225 | prefixes | [string](#string) | repeated | if not empty, the images that have any of the prefixes in the name will be returned. | 226 | base_names | [string](#string) | repeated | If not empty, the images that have any of the base names will be returned. For example, both 'coreos.com/etcd' and 'k8s.io/etcd' will be returned if 'etcd' is included, however 'k8s.io/etcd-backup' will not be returned. | 227 | keywords | [string](#string) | repeated | If not empty, the images that have any of the keywords in the name will be returned. For example, both 'kubernetes-etcd', 'etcd:latest' will be returned if 'etcd' is included, | 228 | labels | [KeyValue](#v1alpha.KeyValue) | repeated | If not empty, the images that have all of the labels will be returned. | 229 | imported_after | [int64](#int64) | | If set, the images that are imported after this timestamp will be returned. | 230 | imported_before | [int64](#int64) | | If set, the images that are imported before this timestamp will be returned. | 231 | annotations | [KeyValue](#v1alpha.KeyValue) | repeated | If not empty, the images that have all of the annotations will be returned. | 232 | full_names | [string](#string) | repeated | If not empty, the images that have any of the exact full names will be returned. | 233 234 235 236 237 238 239 <a name="v1alpha.ImageFormat"/> 240 241 ### ImageFormat 242 ImageFormat defines the format of the image. 243 244 245 | Field | Type | Label | Description | 246 | ----- | ---- | ----- | ----------- | 247 | type | [ImageType](#v1alpha.ImageType) | | Type of the image, required. | 248 | version | [string](#string) | | Version of the image format, required. | 249 250 251 252 253 254 255 <a name="v1alpha.Info"/> 256 257 ### Info 258 Info describes the information of rkt on the machine. 259 260 261 | Field | Type | Label | Description | 262 | ----- | ---- | ----- | ----------- | 263 | rkt_version | [string](#string) | | Version of rkt, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/). | 264 | appc_version | [string](#string) | | Version of appc, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/). | 265 | api_version | [string](#string) | | Latest version of the api that's supported by the service, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/). | 266 | global_flags | [GlobalFlags](#v1alpha.GlobalFlags) | | The global flags that passed to the rkt api service when it's launched. | 267 268 269 270 271 272 273 <a name="v1alpha.InspectImageRequest"/> 274 275 ### InspectImageRequest 276 Request for InspectImage(). 277 278 279 | Field | Type | Label | Description | 280 | ----- | ---- | ----- | ----------- | 281 | id | [string](#string) | | Required. | 282 283 284 285 286 287 288 <a name="v1alpha.InspectImageResponse"/> 289 290 ### InspectImageResponse 291 Response for InspectImage(). 292 293 294 | Field | Type | Label | Description | 295 | ----- | ---- | ----- | ----------- | 296 | image | [Image](#v1alpha.Image) | | Required. | 297 298 299 300 301 302 303 <a name="v1alpha.InspectPodRequest"/> 304 305 ### InspectPodRequest 306 Request for InspectPod(). 307 308 309 | Field | Type | Label | Description | 310 | ----- | ---- | ----- | ----------- | 311 | id | [string](#string) | | ID of the pod which we are querying status for, required. | 312 313 314 315 316 317 318 <a name="v1alpha.InspectPodResponse"/> 319 320 ### InspectPodResponse 321 Response for InspectPod(). 322 323 324 | Field | Type | Label | Description | 325 | ----- | ---- | ----- | ----------- | 326 | pod | [Pod](#v1alpha.Pod) | | Required. | 327 328 329 330 331 332 333 <a name="v1alpha.KeyValue"/> 334 335 ### KeyValue 336 337 338 339 | Field | Type | Label | Description | 340 | ----- | ---- | ----- | ----------- | 341 | Key | [string](#string) | | Key part of the key-value pair. | 342 | value | [string](#string) | | Value part of the key-value pair. | 343 344 345 346 347 348 349 <a name="v1alpha.ListImagesRequest"/> 350 351 ### ListImagesRequest 352 Request for ListImages(). 353 354 355 | Field | Type | Label | Description | 356 | ----- | ---- | ----- | ----------- | 357 | filters | [ImageFilter](#v1alpha.ImageFilter) | repeated | Optional. | 358 | detail | [bool](#bool) | | Optional. | 359 360 361 362 363 364 365 <a name="v1alpha.ListImagesResponse"/> 366 367 ### ListImagesResponse 368 Response for ListImages(). 369 370 371 | Field | Type | Label | Description | 372 | ----- | ---- | ----- | ----------- | 373 | images | [Image](#v1alpha.Image) | repeated | Required. | 374 375 376 377 378 379 380 <a name="v1alpha.ListPodsRequest"/> 381 382 ### ListPodsRequest 383 Request for ListPods(). 384 385 386 | Field | Type | Label | Description | 387 | ----- | ---- | ----- | ----------- | 388 | filters | [PodFilter](#v1alpha.PodFilter) | repeated | Optional. | 389 | detail | [bool](#bool) | | Optional. | 390 391 392 393 394 395 396 <a name="v1alpha.ListPodsResponse"/> 397 398 ### ListPodsResponse 399 Response for ListPods(). 400 401 402 | Field | Type | Label | Description | 403 | ----- | ---- | ----- | ----------- | 404 | pods | [Pod](#v1alpha.Pod) | repeated | Required. | 405 406 407 408 409 410 411 <a name="v1alpha.ListenEventsRequest"/> 412 413 ### ListenEventsRequest 414 Request for ListenEvents(). 415 416 417 | Field | Type | Label | Description | 418 | ----- | ---- | ----- | ----------- | 419 | filter | [EventFilter](#v1alpha.EventFilter) | | Optional. | 420 421 422 423 424 425 426 <a name="v1alpha.ListenEventsResponse"/> 427 428 ### ListenEventsResponse 429 Response for ListenEvents(). 430 431 432 | Field | Type | Label | Description | 433 | ----- | ---- | ----- | ----------- | 434 | events | [Event](#v1alpha.Event) | repeated | Aggregate multiple events to reduce round trips, optional as the response can contain no events. | 435 436 437 438 439 440 441 <a name="v1alpha.Network"/> 442 443 ### Network 444 Network describes the network information of a pod. 445 446 447 | Field | Type | Label | Description | 448 | ----- | ---- | ----- | ----------- | 449 | name | [string](#string) | | Name of the network that a pod belongs to, required. | 450 | ipv4 | [string](#string) | | Pod's IPv4 address within the network, optional if IPv6 address is given. | 451 | ipv6 | [string](#string) | | Pod's IPv6 address within the network, optional if IPv4 address is given. | 452 453 454 455 456 457 458 <a name="v1alpha.Pod"/> 459 460 ### Pod 461 Pod describes a pod's information. 462 If a pod is in Embryo, Preparing, AbortedPrepare state, 463 only id and state will be returned. 464 465 If a pod is in other states, the pod manifest and 466 apps will be returned when 'detailed' is true in the request. 467 468 A valid pid of the stage1 process of the pod will be returned 469 if the pod is Running has run once. 470 471 Networks are only returned when a pod is in Running. 472 473 474 | Field | Type | Label | Description | 475 | ----- | ---- | ----- | ----------- | 476 | id | [string](#string) | | ID of the pod, in the form of a UUID. | 477 | pid | [sint32](#sint32) | | PID of the stage1 process of the pod. | 478 | state | [PodState](#v1alpha.PodState) | | State of the pod. | 479 | apps | [App](#v1alpha.App) | repeated | List of apps in the pod. | 480 | networks | [Network](#v1alpha.Network) | repeated | Network information of the pod. Note that a pod can be in multiple networks. | 481 | manifest | [bytes](#bytes) | | JSON-encoded byte array that represents the pod manifest of the pod. | 482 | annotations | [KeyValue](#v1alpha.KeyValue) | repeated | Annotations on this pod. | 483 | cgroup | [string](#string) | | Cgroup of the pod, empty if the pod is not running. | 484 | created_at | [int64](#int64) | | Timestamp of when the pod is created, nanoseconds since epoch. Zero if the pod is not created. | 485 | started_at | [int64](#int64) | | Timestamp of when the pod is started, nanoseconds since epoch. Zero if the pod is not started. | 486 | gc_marked_at | [int64](#int64) | | Timestamp of when the pod is moved to exited-garbage/garbage, in nanoseconds since epoch. Zero if the pod is not moved to exited-garbage/garbage yet. | 487 488 489 490 491 492 493 <a name="v1alpha.PodFilter"/> 494 495 ### PodFilter 496 PodFilter defines the condition that the returned pods need to satisfy in ListPods(). 497 The conditions are combined by 'AND', and different filters are combined by 'OR'. 498 499 500 | Field | Type | Label | Description | 501 | ----- | ---- | ----- | ----------- | 502 | ids | [string](#string) | repeated | If not empty, the pods that have any of the ids will be returned. | 503 | states | [PodState](#v1alpha.PodState) | repeated | If not empty, the pods that have any of the states will be returned. | 504 | app_names | [string](#string) | repeated | If not empty, the pods that all of the apps will be returned. | 505 | image_ids | [string](#string) | repeated | If not empty, the pods that have all of the images(in the apps) will be returned | 506 | network_names | [string](#string) | repeated | If not empty, the pods that are in all of the networks will be returned. | 507 | annotations | [KeyValue](#v1alpha.KeyValue) | repeated | If not empty, the pods that have all of the annotations will be returned. | 508 | cgroups | [string](#string) | repeated | If not empty, the pods whose cgroup are listed will be returned. | 509 | pod_sub_cgroups | [string](#string) | repeated | If not empty, the pods whose these cgroup belong to will be returned. i.e. the pod's cgroup is a prefix of the specified cgroup | 510 511 512 513 514 515 516 517 518 <a name="v1alpha.AppState"/> 519 520 ### AppState 521 AppState defines the possible states of the app. 522 523 | Name | Number | Description | 524 | ---- | ------ | ----------- | 525 | APP_STATE_UNDEFINED | 0 | | 526 | APP_STATE_RUNNING | 1 | | 527 | APP_STATE_EXITED | 2 | | 528 529 530 531 <a name="v1alpha.EventType"/> 532 533 ### EventType 534 EventType defines the type of the events that will be received via ListenEvents(). 535 536 | Name | Number | Description | 537 | ---- | ------ | ----------- | 538 | EVENT_TYPE_UNDEFINED | 0 | | 539 | EVENT_TYPE_POD_PREPARED | 1 | Pod events. | 540 | EVENT_TYPE_POD_PREPARE_ABORTED | 2 | | 541 | EVENT_TYPE_POD_STARTED | 3 | | 542 | EVENT_TYPE_POD_EXITED | 4 | | 543 | EVENT_TYPE_POD_GARBAGE_COLLECTED | 5 | | 544 | EVENT_TYPE_APP_STARTED | 6 | App events. | 545 | EVENT_TYPE_APP_EXITED | 7 | (XXX)yifan: Maybe also return exit code in the event object? | 546 | EVENT_TYPE_IMAGE_IMPORTED | 8 | Image events. | 547 | EVENT_TYPE_IMAGE_REMOVED | 9 | | 548 549 550 551 <a name="v1alpha.ImageType"/> 552 553 ### ImageType 554 ImageType defines the supported image type. 555 556 | Name | Number | Description | 557 | ---- | ------ | ----------- | 558 | IMAGE_TYPE_UNDEFINED | 0 | | 559 | IMAGE_TYPE_APPC | 1 | | 560 | IMAGE_TYPE_DOCKER | 2 | | 561 | IMAGE_TYPE_OCI | 3 | | 562 563 564 565 <a name="v1alpha.PodState"/> 566 567 ### PodState 568 PodState defines the possible states of the pod. 569 See https://github.com/rkt/rkt/blob/master/Documentation/devel/pod-lifecycle.md for a detailed 570 explanation of each state. 571 572 | Name | Number | Description | 573 | ---- | ------ | ----------- | 574 | POD_STATE_UNDEFINED | 0 | | 575 | POD_STATE_EMBRYO | 1 | States before the pod is running. Pod is created, ready to entering 'preparing' state. | 576 | POD_STATE_PREPARING | 2 | Pod is being prepared. On success it will become 'prepared', otherwise it will become 'aborted prepared'. | 577 | POD_STATE_PREPARED | 3 | Pod has been successfully prepared, ready to enter 'running' state. it can also enter 'deleting' if it's garbage collected before running. | 578 | POD_STATE_RUNNING | 4 | State that indicates the pod is running. Pod is running, when it exits, it will become 'exited'. | 579 | POD_STATE_ABORTED_PREPARE | 5 | States that indicates the pod is exited, and will never run. Pod failed to prepare, it will only be garbage collected and will never run again. | 580 | POD_STATE_EXITED | 6 | Pod has exited, it now can be garbage collected. | 581 | POD_STATE_DELETING | 7 | Pod is being garbage collected, after that it will enter 'garbage' state. | 582 | POD_STATE_GARBAGE | 8 | Pod is marked as garbage collected, it no longer exists on the machine. | 583 584 585 586 587 588 589 590 <a name="v1alpha.PublicAPI"/> 591 592 ### PublicAPI 593 PublicAPI defines the read-only APIs that will be supported. 594 These will be handled over TCP sockets. 595 596 | Method Name | Request Type | Response Type | Description | 597 | ----------- | ------------ | ------------- | ------------| 598 | GetInfo | [GetInfoRequest](#v1alpha.GetInfoRequest) | [GetInfoResponse](#v1alpha.GetInfoRequest) | GetInfo gets the rkt's information on the machine. | 599 | ListPods | [ListPodsRequest](#v1alpha.ListPodsRequest) | [ListPodsResponse](#v1alpha.ListPodsRequest) | ListPods lists rkt pods on the machine. | 600 | InspectPod | [InspectPodRequest](#v1alpha.InspectPodRequest) | [InspectPodResponse](#v1alpha.InspectPodRequest) | InspectPod gets detailed pod information of the specified pod. | 601 | ListImages | [ListImagesRequest](#v1alpha.ListImagesRequest) | [ListImagesResponse](#v1alpha.ListImagesRequest) | ListImages lists the images on the machine. | 602 | InspectImage | [InspectImageRequest](#v1alpha.InspectImageRequest) | [InspectImageResponse](#v1alpha.InspectImageRequest) | InspectImage gets the detailed image information of the specified image. | 603 | ListenEvents | [ListenEventsRequest](#v1alpha.ListenEventsRequest) | [ListenEventsResponse](#v1alpha.ListenEventsRequest) | ListenEvents listens for the events, it will return a response stream that will contain event objects. | 604 | GetLogs | [GetLogsRequest](#v1alpha.GetLogsRequest) | [GetLogsResponse](#v1alpha.GetLogsRequest) | GetLogs gets the logs for a pod, if the app is also specified, then only the logs of the app will be returned. If 'follow' in the 'GetLogsRequest' is set to 'true', then the response stream will not be closed after the first response, the future logs will be sent via the stream. | 605 606 607 608 609 610 ## Scalar Value Types 611 612 | .proto Type | Notes | C++ Type | Java Type | Python Type | 613 | ----------- | ----- | -------- | --------- | ----------- | 614 | <a name="double" /> double | | double | double | float | 615 | <a name="float" /> float | | float | float | float | 616 | <a name="int32" /> int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | 617 | <a name="int64" /> int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | 618 | <a name="uint32" /> uint32 | Uses variable-length encoding. | uint32 | int | int/long | 619 | <a name="uint64" /> uint64 | Uses variable-length encoding. | uint64 | long | int/long | 620 | <a name="sint32" /> sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | 621 | <a name="sint64" /> sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | 622 | <a name="fixed32" /> fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | 623 | <a name="fixed64" /> fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | 624 | <a name="sfixed32" /> sfixed32 | Always four bytes. | int32 | int | int | 625 | <a name="sfixed64" /> sfixed64 | Always eight bytes. | int64 | long | int/long | 626 | <a name="bool" /> bool | | bool | boolean | boolean | 627 | <a name="string" /> string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | 628 | <a name="bytes" /> bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | 629