Files
docker-cli/components/cli/vendor/github.com/docker/swarmkit/api/snapshot.proto
Nishant Totla 5d9a68e410 Vendor swarmkit 998a47fb9c2b727c8a48d372309af0b3032051e2
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
Upstream-commit: 4ac30da2a9
Component: cli
2017-05-16 15:06:07 -07:00

45 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package docker.swarmkit.v1;
import "objects.proto";
import "raft.proto";
import weak "gogoproto/gogo.proto";
// StoreSnapshot is used to store snapshots of the store.
message StoreSnapshot {
// TODO(aaronl): The current method of assembling a StoreSnapshot
// structure and marshalling it is not optimal. It may be better to
// write out nodes, networks, tasks, etc. one at a time to an io.Writer
// using gogo-protobuf's io.DelimitedWriter. A new value of the version
// field could support this approach.
repeated Node nodes = 1;
repeated Service services = 2;
repeated Network networks = 3;
repeated Task tasks = 4;
repeated Cluster clusters = 5;
repeated Secret secrets = 6;
repeated Resource resources = 7;
repeated Extension extensions = 8;
repeated Config configs = 9;
}
// ClusterSnapshot stores cluster membership information in snapshots.
message ClusterSnapshot {
repeated RaftMember members = 1;
repeated uint64 removed = 2 [packed=false];
}
message Snapshot {
enum Version {
// V0 is the initial version of the StoreSnapshot message.
V0 = 0;
}
Version version = 1;
ClusterSnapshot membership = 2 [(gogoproto.nullable) = false];
StoreSnapshot store = 3 [(gogoproto.nullable) = false];
}