protobuf/peloton/api/v0/peloton.proto (106 lines of code) (raw):

/** * This file defines the common types in Peloton API that are imported * by different subpackages. */ syntax = "proto3"; package peloton.api.v0.peloton; option go_package = "peloton/api/v0/peloton"; option java_package = "peloton.api.v0"; import "google/protobuf/timestamp.proto"; /** * A unique ID assigned to a Job. This is a UUID in RFC4122 format. */ message JobID { string value = 1; } /** * A unique ID assigned to a Task (aka job instance). The task ID is in * the format of JobID-<InstanceID>. */ message TaskID { string value = 1; } /** * A unique ID assigned to a Volume. This is a UUID in RFC4122 format. */ message VolumeID { string value = 1; } /** * A unique ID assigned to a Resource Pool. This is a UUID in RFC4122 format. */ message ResourcePoolID { string value = 1; } /** * A unique ID assigned to a Secret. This is a UUID in RFC4122 format. */ message SecretID { string value = 1; } /** * A unique ID assigned to a update. */ message UpdateID { string value = 1; } /** * A unique ID assigned to offers from a host. */ message HostOfferID { string value = 1; } /** * Opaque data passed to Peloton from the client. */ message OpaqueData { string data = 1; } /** * Change log of an entity info, such as Job config etc. */ message ChangeLog { /** * Version number of the entity info which is monotonically increasing. * Clients can use this to guide against race conditions using MVCC. */ uint64 version = 1; // The timestamp when the entity info is created uint64 createdAt = 2; // The timestamp when the entity info is updated uint64 updatedAt = 3; // The user or service that updated the entity info string updatedBy = 4; } /** * Key, value pair used to store free form user-data. */ message Label { string key = 1; string value = 2; } /** * Time range specified by min and max timestamps. * Time range is left closed and right open: [min, max) */ message TimeRange { google.protobuf.Timestamp min = 1; google.protobuf.Timestamp max = 2; } /** * Secret is used to store secrets per job and contains * ID, absolute container mount path and base64 encoded secret data */ message Secret { message Value { // Secret data as byte array bytes data = 1; } // UUID of the secret SecretID id = 1; // Path at which the secret file will be mounted in the container string path = 2; // Secret value Value value = 3; }