Update godeps for etcd 3.0.4

This commit is contained in:
Timothy St. Clair
2016-07-22 13:54:40 -05:00
parent 456c43c22d
commit 5f008faa8b
457 changed files with 25492 additions and 10481 deletions

View File

@@ -54,7 +54,9 @@ var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.ProtoPackageIsVersion1
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// ImageType defines the supported image type.
type ImageType int32
@@ -224,7 +226,7 @@ type Image struct {
// 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.
BaseFormat *ImageFormat `protobuf:"bytes,1,opt,name=base_format" json:"base_format,omitempty"`
BaseFormat *ImageFormat `protobuf:"bytes,1,opt,name=base_format,json=baseFormat" json:"base_format,omitempty"`
// ID of the image, a string that can be used to uniquely identify the image,
// e.g. sha512 hash of the ACIs, required.
Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
@@ -233,13 +235,15 @@ type Image struct {
// Version of the image, e.g. 'latest', '2.0.10', optional.
Version string `protobuf:"bytes,4,opt,name=version" json:"version,omitempty"`
// Timestamp of when the image is imported, it is the seconds since epoch, optional.
ImportTimestamp int64 `protobuf:"varint,5,opt,name=import_timestamp" json:"import_timestamp,omitempty"`
ImportTimestamp int64 `protobuf:"varint,5,opt,name=import_timestamp,json=importTimestamp" json:"import_timestamp,omitempty"`
// JSON-encoded byte array that represents the image manifest, optional.
Manifest []byte `protobuf:"bytes,6,opt,name=manifest,proto3" json:"manifest,omitempty"`
// Size is the size in bytes of this image in the store.
Size int64 `protobuf:"varint,7,opt,name=size" json:"size,omitempty"`
// Annotations on this image.
Annotations []*KeyValue `protobuf:"bytes,8,rep,name=annotations" json:"annotations,omitempty"`
// Labels of this image.
Labels []*KeyValue `protobuf:"bytes,9,rep,name=labels" json:"labels,omitempty"`
}
func (m *Image) Reset() { *m = Image{} }
@@ -261,6 +265,13 @@ func (m *Image) GetAnnotations() []*KeyValue {
return nil
}
func (m *Image) GetLabels() []*KeyValue {
if m != nil {
return m.Labels
}
return nil
}
// Network describes the network information of a pod.
type Network struct {
// Name of the network that a pod belongs to, required.
@@ -287,7 +298,7 @@ type App struct {
State AppState `protobuf:"varint,3,opt,name=state,enum=v1alpha.AppState" json:"state,omitempty"`
// Exit code of the app. optional, only valid if it's returned by InspectPod() and
// the app has already exited.
ExitCode int32 `protobuf:"zigzag32,4,opt,name=exit_code" json:"exit_code,omitempty"`
ExitCode int32 `protobuf:"zigzag32,4,opt,name=exit_code,json=exitCode" json:"exit_code,omitempty"`
// Annotations for this app.
Annotations []*KeyValue `protobuf:"bytes,5,rep,name=annotations" json:"annotations,omitempty"`
}
@@ -342,14 +353,14 @@ type Pod struct {
Cgroup string `protobuf:"bytes,8,opt,name=cgroup" json:"cgroup,omitempty"`
// Timestamp of when the pod is created, nanoseconds since epoch.
// Zero if the pod is not created.
CreatedAt int64 `protobuf:"varint,9,opt,name=created_at" json:"created_at,omitempty"`
CreatedAt int64 `protobuf:"varint,9,opt,name=created_at,json=createdAt" json:"created_at,omitempty"`
// Timestamp of when the pod is started, nanoseconds since epoch.
// Zero if the pod is not started.
StartedAt int64 `protobuf:"varint,10,opt,name=started_at" json:"started_at,omitempty"`
StartedAt int64 `protobuf:"varint,10,opt,name=started_at,json=startedAt" json:"started_at,omitempty"`
// 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.
GcMarkedAt int64 `protobuf:"varint,11,opt,name=gc_marked_at" json:"gc_marked_at,omitempty"`
GcMarkedAt int64 `protobuf:"varint,11,opt,name=gc_marked_at,json=gcMarkedAt" json:"gc_marked_at,omitempty"`
}
func (m *Pod) Reset() { *m = Pod{} }
@@ -380,7 +391,7 @@ func (m *Pod) GetAnnotations() []*KeyValue {
type KeyValue struct {
// Key part of the key-value pair.
Key string `protobuf:"bytes,1,opt,name=Key" json:"Key,omitempty"`
Key string `protobuf:"bytes,1,opt,name=Key,json=key" json:"Key,omitempty"`
// Value part of the key-value pair.
Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}
@@ -396,20 +407,20 @@ type PodFilter struct {
// If not empty, the pods that have any of the ids will be returned.
Ids []string `protobuf:"bytes,1,rep,name=ids" json:"ids,omitempty"`
// If not empty, the pods that have any of the states will be returned.
States []PodState `protobuf:"varint,2,rep,name=states,enum=v1alpha.PodState" json:"states,omitempty"`
States []PodState `protobuf:"varint,2,rep,packed,name=states,enum=v1alpha.PodState" json:"states,omitempty"`
// If not empty, the pods that all of the apps will be returned.
AppNames []string `protobuf:"bytes,3,rep,name=app_names" json:"app_names,omitempty"`
AppNames []string `protobuf:"bytes,3,rep,name=app_names,json=appNames" json:"app_names,omitempty"`
// If not empty, the pods that have all of the images(in the apps) will be returned
ImageIds []string `protobuf:"bytes,4,rep,name=image_ids" json:"image_ids,omitempty"`
ImageIds []string `protobuf:"bytes,4,rep,name=image_ids,json=imageIds" json:"image_ids,omitempty"`
// If not empty, the pods that are in all of the networks will be returned.
NetworkNames []string `protobuf:"bytes,5,rep,name=network_names" json:"network_names,omitempty"`
NetworkNames []string `protobuf:"bytes,5,rep,name=network_names,json=networkNames" json:"network_names,omitempty"`
// If not empty, the pods that have all of the annotations will be returned.
Annotations []*KeyValue `protobuf:"bytes,6,rep,name=annotations" json:"annotations,omitempty"`
// If not empty, the pods whose cgroup are listed will be returned.
Cgroups []string `protobuf:"bytes,7,rep,name=cgroups" json:"cgroups,omitempty"`
// 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
PodSubCgroups []string `protobuf:"bytes,8,rep,name=pod_sub_cgroups" json:"pod_sub_cgroups,omitempty"`
PodSubCgroups []string `protobuf:"bytes,8,rep,name=pod_sub_cgroups,json=podSubCgroups" json:"pod_sub_cgroups,omitempty"`
}
func (m *PodFilter) Reset() { *m = PodFilter{} }
@@ -434,20 +445,20 @@ type ImageFilter struct {
// 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.
BaseNames []string `protobuf:"bytes,3,rep,name=base_names" json:"base_names,omitempty"`
BaseNames []string `protobuf:"bytes,3,rep,name=base_names,json=baseNames" json:"base_names,omitempty"`
// 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,
Keywords []string `protobuf:"bytes,4,rep,name=keywords" json:"keywords,omitempty"`
// If not empty, the images that have all of the labels will be returned.
Labels []*KeyValue `protobuf:"bytes,5,rep,name=labels" json:"labels,omitempty"`
// If set, the images that are imported after this timestamp will be returned.
ImportedAfter int64 `protobuf:"varint,6,opt,name=imported_after" json:"imported_after,omitempty"`
ImportedAfter int64 `protobuf:"varint,6,opt,name=imported_after,json=importedAfter" json:"imported_after,omitempty"`
// If set, the images that are imported before this timestamp will be returned.
ImportedBefore int64 `protobuf:"varint,7,opt,name=imported_before" json:"imported_before,omitempty"`
ImportedBefore int64 `protobuf:"varint,7,opt,name=imported_before,json=importedBefore" json:"imported_before,omitempty"`
// If not empty, the images that have all of the annotations will be returned.
Annotations []*KeyValue `protobuf:"bytes,8,rep,name=annotations" json:"annotations,omitempty"`
// If not empty, the images that have any of the exact full names will be returned.
FullNames []string `protobuf:"bytes,9,rep,name=full_names" json:"full_names,omitempty"`
FullNames []string `protobuf:"bytes,9,rep,name=full_names,json=fullNames" json:"full_names,omitempty"`
}
func (m *ImageFilter) Reset() { *m = ImageFilter{} }
@@ -474,15 +485,15 @@ type GlobalFlags struct {
// Data directory.
Dir string `protobuf:"bytes,1,opt,name=dir" json:"dir,omitempty"`
// System configuration directory.
SystemConfigDir string `protobuf:"bytes,2,opt,name=system_config_dir" json:"system_config_dir,omitempty"`
SystemConfigDir string `protobuf:"bytes,2,opt,name=system_config_dir,json=systemConfigDir" json:"system_config_dir,omitempty"`
// Local configuration directory.
LocalConfigDir string `protobuf:"bytes,3,opt,name=local_config_dir" json:"local_config_dir,omitempty"`
LocalConfigDir string `protobuf:"bytes,3,opt,name=local_config_dir,json=localConfigDir" json:"local_config_dir,omitempty"`
// User configuration directory.
UserConfigDir string `protobuf:"bytes,4,opt,name=user_config_dir" json:"user_config_dir,omitempty"`
UserConfigDir string `protobuf:"bytes,4,opt,name=user_config_dir,json=userConfigDir" json:"user_config_dir,omitempty"`
// Insecure flags configurates what security features to disable.
InsecureFlags string `protobuf:"bytes,5,opt,name=insecure_flags" json:"insecure_flags,omitempty"`
InsecureFlags string `protobuf:"bytes,5,opt,name=insecure_flags,json=insecureFlags" json:"insecure_flags,omitempty"`
// Whether to automatically trust gpg keys fetched from https
TrustKeysFromHttps bool `protobuf:"varint,6,opt,name=trust_keys_from_https" json:"trust_keys_from_https,omitempty"`
TrustKeysFromHttps bool `protobuf:"varint,6,opt,name=trust_keys_from_https,json=trustKeysFromHttps" json:"trust_keys_from_https,omitempty"`
}
func (m *GlobalFlags) Reset() { *m = GlobalFlags{} }
@@ -493,13 +504,13 @@ func (*GlobalFlags) Descriptor() ([]byte, []int) { return fileDescriptor0, []int
// Info describes the information of rkt on the machine.
type Info struct {
// Version of rkt, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/).
RktVersion string `protobuf:"bytes,1,opt,name=rkt_version" json:"rkt_version,omitempty"`
RktVersion string `protobuf:"bytes,1,opt,name=rkt_version,json=rktVersion" json:"rkt_version,omitempty"`
// Version of appc, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/).
AppcVersion string `protobuf:"bytes,2,opt,name=appc_version" json:"appc_version,omitempty"`
AppcVersion string `protobuf:"bytes,2,opt,name=appc_version,json=appcVersion" json:"appc_version,omitempty"`
// Latest version of the api that's supported by the service, required, in the form of Semantic Versioning 2.0.0 (http://semver.org/).
ApiVersion string `protobuf:"bytes,3,opt,name=api_version" json:"api_version,omitempty"`
ApiVersion string `protobuf:"bytes,3,opt,name=api_version,json=apiVersion" json:"api_version,omitempty"`
// The global flags that passed to the rkt api service when it's launched.
GlobalFlags *GlobalFlags `protobuf:"bytes,4,opt,name=global_flags" json:"global_flags,omitempty"`
GlobalFlags *GlobalFlags `protobuf:"bytes,4,opt,name=global_flags,json=globalFlags" json:"global_flags,omitempty"`
}
func (m *Info) Reset() { *m = Info{} }
@@ -549,7 +560,7 @@ func (m *Event) GetData() []*KeyValue {
// The condition are combined by 'AND'.
type EventFilter struct {
// If not empty, then only returns the events that have the listed types.
Types []EventType `protobuf:"varint,1,rep,name=types,enum=v1alpha.EventType" json:"types,omitempty"`
Types []EventType `protobuf:"varint,1,rep,packed,name=types,enum=v1alpha.EventType" json:"types,omitempty"`
// If not empty, then only returns the events whose 'id' is included in the listed ids.
Ids []string `protobuf:"bytes,2,rep,name=ids" json:"ids,omitempty"`
// If not empty, then only returns the events whose 'from' is included in the listed names.
@@ -557,10 +568,10 @@ type EventFilter struct {
// 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.
SinceTime int64 `protobuf:"varint,4,opt,name=since_time" json:"since_time,omitempty"`
SinceTime int64 `protobuf:"varint,4,opt,name=since_time,json=sinceTime" json:"since_time,omitempty"`
// 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.
UntilTime int64 `protobuf:"varint,5,opt,name=until_time" json:"until_time,omitempty"`
UntilTime int64 `protobuf:"varint,5,opt,name=until_time,json=untilTime" json:"until_time,omitempty"`
}
func (m *EventFilter) Reset() { *m = EventFilter{} }
@@ -757,11 +768,11 @@ func (m *ListenEventsResponse) GetEvents() []*Event {
// Request for GetLogs().
type GetLogsRequest struct {
// ID of the pod which we will get logs from, required.
PodId string `protobuf:"bytes,1,opt,name=pod_id" json:"pod_id,omitempty"`
PodId string `protobuf:"bytes,1,opt,name=pod_id,json=podId" json:"pod_id,omitempty"`
// 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.
AppName string `protobuf:"bytes,2,opt,name=app_name" json:"app_name,omitempty"`
AppName string `protobuf:"bytes,2,opt,name=app_name,json=appName" json:"app_name,omitempty"`
// Number of most recent lines to return, optional.
Lines int32 `protobuf:"varint,3,opt,name=lines" json:"lines,omitempty"`
// If true, then a response stream will not be closed,
@@ -769,10 +780,10 @@ type GetLogsRequest struct {
Follow bool `protobuf:"varint,4,opt,name=follow" json:"follow,omitempty"`
// If set, then only the logs after the timestamp will
// be returned, optional.
SinceTime int64 `protobuf:"varint,5,opt,name=since_time" json:"since_time,omitempty"`
SinceTime int64 `protobuf:"varint,5,opt,name=since_time,json=sinceTime" json:"since_time,omitempty"`
// If set, then only the logs before the timestamp will
// be returned, optional.
UntilTime int64 `protobuf:"varint,6,opt,name=until_time" json:"until_time,omitempty"`
UntilTime int64 `protobuf:"varint,6,opt,name=until_time,json=untilTime" json:"until_time,omitempty"`
}
func (m *GetLogsRequest) Reset() { *m = GetLogsRequest{} }
@@ -828,6 +839,10 @@ func init() {
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion3
// Client API for PublicAPI service
type PublicAPIClient interface {
@@ -999,64 +1014,94 @@ func RegisterPublicAPIServer(s *grpc.Server, srv PublicAPIServer) {
s.RegisterService(&_PublicAPI_serviceDesc, srv)
}
func _PublicAPI_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
func _PublicAPI_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
out, err := srv.(PublicAPIServer).GetInfo(ctx, in)
if err != nil {
return nil, err
if interceptor == nil {
return srv.(PublicAPIServer).GetInfo(ctx, in)
}
return out, nil
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/v1alpha.PublicAPI/GetInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PublicAPIServer).GetInfo(ctx, req.(*GetInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PublicAPI_ListPods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
func _PublicAPI_ListPods_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPodsRequest)
if err := dec(in); err != nil {
return nil, err
}
out, err := srv.(PublicAPIServer).ListPods(ctx, in)
if err != nil {
return nil, err
if interceptor == nil {
return srv.(PublicAPIServer).ListPods(ctx, in)
}
return out, nil
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/v1alpha.PublicAPI/ListPods",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PublicAPIServer).ListPods(ctx, req.(*ListPodsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PublicAPI_InspectPod_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
func _PublicAPI_InspectPod_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InspectPodRequest)
if err := dec(in); err != nil {
return nil, err
}
out, err := srv.(PublicAPIServer).InspectPod(ctx, in)
if err != nil {
return nil, err
if interceptor == nil {
return srv.(PublicAPIServer).InspectPod(ctx, in)
}
return out, nil
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/v1alpha.PublicAPI/InspectPod",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PublicAPIServer).InspectPod(ctx, req.(*InspectPodRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PublicAPI_ListImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
func _PublicAPI_ListImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListImagesRequest)
if err := dec(in); err != nil {
return nil, err
}
out, err := srv.(PublicAPIServer).ListImages(ctx, in)
if err != nil {
return nil, err
if interceptor == nil {
return srv.(PublicAPIServer).ListImages(ctx, in)
}
return out, nil
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/v1alpha.PublicAPI/ListImages",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PublicAPIServer).ListImages(ctx, req.(*ListImagesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PublicAPI_InspectImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
func _PublicAPI_InspectImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InspectImageRequest)
if err := dec(in); err != nil {
return nil, err
}
out, err := srv.(PublicAPIServer).InspectImage(ctx, in)
if err != nil {
return nil, err
if interceptor == nil {
return srv.(PublicAPIServer).InspectImage(ctx, in)
}
return out, nil
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/v1alpha.PublicAPI/InspectImage",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PublicAPIServer).InspectImage(ctx, req.(*InspectImageRequest))
}
return interceptor(ctx, in, info, handler)
}
func _PublicAPI_ListenEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
@@ -1138,102 +1183,122 @@ var _PublicAPI_serviceDesc = grpc.ServiceDesc{
ServerStreams: true,
},
},
Metadata: fileDescriptor0,
}
func init() { proto.RegisterFile("api.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1492 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x57, 0xcf, 0x6e, 0xdb, 0xc6,
0x13, 0x8e, 0xfe, 0x4b, 0x23, 0x45, 0x96, 0xd6, 0x4e, 0x2c, 0x2b, 0xff, 0x1c, 0xfe, 0x7e, 0x0d,
0x52, 0x1f, 0xdc, 0xd6, 0x49, 0x73, 0x29, 0x50, 0x44, 0xb1, 0x69, 0x43, 0x8d, 0x2d, 0x09, 0x8a,
0x62, 0x34, 0x27, 0x82, 0x92, 0x56, 0x0e, 0x61, 0x8a, 0x64, 0x49, 0xca, 0x89, 0x7b, 0xec, 0xa9,
0xb7, 0x3e, 0x42, 0x1f, 0xa3, 0xc7, 0xde, 0xfb, 0x18, 0x05, 0xfa, 0x1e, 0x9d, 0x5d, 0x2e, 0xc9,
0x25, 0x45, 0x1d, 0x7a, 0xb3, 0x66, 0x66, 0xbf, 0xf9, 0x66, 0x76, 0xe6, 0x5b, 0x1a, 0x6a, 0xba,
0x63, 0x1c, 0x3a, 0xae, 0xed, 0xdb, 0xa4, 0x72, 0xf3, 0x8d, 0x6e, 0x3a, 0x1f, 0x75, 0xe5, 0x35,
0xd4, 0xfb, 0x4b, 0xfd, 0x8a, 0x9e, 0xda, 0xee, 0x52, 0xf7, 0xc9, 0x3e, 0x14, 0xfd, 0x5b, 0x87,
0x76, 0x72, 0xfb, 0xb9, 0xe7, 0xcd, 0x23, 0x72, 0x28, 0xc2, 0x0e, 0x79, 0xcc, 0x04, 0x3d, 0x64,
0x0b, 0x2a, 0x37, 0xd4, 0xf5, 0x0c, 0xdb, 0xea, 0xe4, 0x31, 0xa8, 0xa6, 0xfc, 0x99, 0x83, 0x12,
0x77, 0x93, 0x2f, 0xa1, 0x3e, 0xd5, 0x3d, 0xaa, 0x2d, 0x38, 0x16, 0xc7, 0xa8, 0x1f, 0xed, 0x24,
0x31, 0x44, 0x1e, 0x80, 0xbc, 0x31, 0x0f, 0x00, 0x48, 0x03, 0x8a, 0x96, 0xbe, 0xa4, 0x9d, 0x02,
0xff, 0x25, 0xe1, 0x17, 0xb9, 0xa1, 0x03, 0x2d, 0x63, 0xe9, 0xd8, 0xae, 0xaf, 0xf9, 0xc6, 0x92,
0x7a, 0xbe, 0xbe, 0x74, 0x3a, 0x25, 0xf4, 0x14, 0x48, 0x0b, 0xaa, 0x4b, 0xdd, 0x32, 0x16, 0x68,
0xec, 0x94, 0xd1, 0xd2, 0x60, 0x50, 0x9e, 0xf1, 0x33, 0xed, 0x54, 0xb8, 0xff, 0x19, 0xd4, 0x75,
0xcb, 0xb2, 0x7d, 0xdd, 0x47, 0x34, 0xaf, 0x53, 0xdd, 0x2f, 0x20, 0x9f, 0x76, 0xc4, 0xe7, 0x2d,
0xbd, 0xbd, 0xd4, 0xcd, 0x15, 0x55, 0x5e, 0x40, 0x65, 0x40, 0xfd, 0x4f, 0xb6, 0x7b, 0x1d, 0x71,
0xc9, 0x85, 0xcc, 0x0c, 0xe7, 0xe6, 0x65, 0xcc, 0x13, 0x7f, 0xbd, 0x0a, 0x78, 0x2a, 0xbf, 0xe5,
0xa0, 0xd0, 0x73, 0x9c, 0xd4, 0x89, 0x47, 0x50, 0x32, 0x58, 0x99, 0xfc, 0x48, 0xfd, 0xa8, 0x99,
0x2c, 0x1e, 0xdb, 0x5b, 0xc2, 0x02, 0xfc, 0xa0, 0xd6, 0xa6, 0xc4, 0x05, 0x91, 0xde, 0x31, 0x07,
0x69, 0x43, 0x8d, 0x7e, 0x36, 0x7c, 0x6d, 0x66, 0xcf, 0x29, 0x6f, 0x40, 0x3b, 0x5d, 0x46, 0x69,
0x53, 0x19, 0xbf, 0xe6, 0xa1, 0x30, 0xb2, 0xe7, 0xa2, 0xb7, 0x01, 0x9f, 0x3a, 0x14, 0x1c, 0xd1,
0xe8, 0xf6, 0xe6, 0xec, 0x78, 0x2a, 0xc8, 0xde, 0x85, 0xa2, 0xee, 0x38, 0x1e, 0x26, 0x66, 0x39,
0x1a, 0x32, 0x3d, 0xa2, 0x40, 0xd5, 0x0a, 0xba, 0x14, 0x72, 0x68, 0x45, 0xfe, 0xb0, 0x7d, 0xeb,
0x37, 0x92, 0x22, 0x5f, 0xd9, 0x40, 0x9e, 0x34, 0xa1, 0x3c, 0xbb, 0x72, 0xed, 0x95, 0x83, 0xd7,
0xc4, 0x88, 0x63, 0x15, 0x33, 0x97, 0x22, 0xa7, 0xb9, 0x86, 0xa3, 0x54, 0xe3, 0xf7, 0x89, 0x36,
0xe4, 0xef, 0x0a, 0x1b, 0x70, 0xdb, 0x0e, 0x34, 0xae, 0x66, 0xda, 0x52, 0x77, 0xaf, 0x03, 0x6b,
0x9d, 0x59, 0x95, 0x67, 0x50, 0x8d, 0x90, 0xb1, 0x05, 0xf8, 0xb7, 0xe8, 0xc7, 0x5d, 0x28, 0xdd,
0x30, 0xab, 0x98, 0xdd, 0xbf, 0x72, 0x50, 0xc3, 0xe2, 0x4f, 0x0d, 0xd3, 0xa7, 0x2e, 0x8b, 0x34,
0xe6, 0x1e, 0x46, 0x16, 0x30, 0xf2, 0x29, 0x94, 0x79, 0xb3, 0x3c, 0x0c, 0x2d, 0x64, 0x77, 0xab,
0xcd, 0x36, 0xca, 0xd1, 0xd8, 0xf5, 0x7b, 0xd8, 0x53, 0x76, 0x0a, 0x4d, 0xfc, 0xfe, 0x35, 0x06,
0x54, 0xe4, 0xa6, 0x7b, 0x70, 0x57, 0xf4, 0x4d, 0x44, 0x96, 0xb8, 0x39, 0xd5, 0x98, 0xf2, 0xa6,
0xc6, 0xe0, 0x3e, 0x04, 0x8d, 0x09, 0x9a, 0x57, 0x23, 0xbb, 0xb0, 0xe5, 0xd8, 0x73, 0xcd, 0x5b,
0x4d, 0xb5, 0xd0, 0xc1, 0x26, 0xbb, 0xa6, 0xfc, 0x9d, 0x0b, 0x77, 0x39, 0xa3, 0x1c, 0xbc, 0x19,
0xc7, 0xa5, 0x0b, 0xe3, 0xb3, 0x28, 0x88, 0x77, 0x98, 0x6f, 0xab, 0x4c, 0x1f, 0xa3, 0xae, 0xe9,
0x2d, 0x72, 0x8d, 0xd8, 0x63, 0x1b, 0x4c, 0x7d, 0x4a, 0xcd, 0xcd, 0x73, 0x47, 0xee, 0x43, 0x33,
0x58, 0x50, 0x76, 0x03, 0x0b, 0xcc, 0xcc, 0xaf, 0xbe, 0xc0, 0x88, 0x46, 0xf6, 0x29, 0x45, 0x51,
0xf8, 0x8f, 0x7b, 0xc9, 0x18, 0x2e, 0x56, 0xa6, 0x29, 0x18, 0xd6, 0x78, 0x91, 0xbf, 0x63, 0x91,
0x67, 0xa6, 0x3d, 0xd5, 0xcd, 0x53, 0x53, 0xbf, 0xf2, 0x58, 0x91, 0x73, 0xc3, 0x15, 0xb7, 0xbb,
0x07, 0x6d, 0xef, 0xd6, 0xf3, 0xe9, 0x12, 0xd7, 0xc7, 0x5a, 0x18, 0x57, 0x1a, 0x73, 0xe5, 0x43,
0x15, 0x31, 0xed, 0x99, 0x6e, 0xca, 0x9e, 0x40, 0x70, 0x90, 0xe6, 0xca, 0xa3, 0xae, 0xec, 0x08,
0x84, 0x87, 0xd5, 0x65, 0x79, 0x74, 0xb6, 0x72, 0x51, 0xd2, 0x58, 0x32, 0x2e, 0x3b, 0x6c, 0xc7,
0xef, 0xf9, 0xee, 0xca, 0xf3, 0x35, 0x6c, 0x95, 0xa7, 0x2d, 0x5c, 0x7b, 0xa9, 0x7d, 0xf4, 0x7d,
0xc7, 0xe3, 0x65, 0x57, 0x15, 0x17, 0x8a, 0x7d, 0x6b, 0x61, 0x93, 0x6d, 0xa8, 0xbb, 0xd7, 0xbe,
0x16, 0x8a, 0x59, 0xc0, 0x10, 0xc7, 0x15, 0x47, 0x66, 0xa6, 0x25, 0x24, 0x94, 0x85, 0xa2, 0x34,
0x47, 0xc6, 0x80, 0xd7, 0x01, 0x4e, 0x36, 0x2f, 0x54, 0x24, 0x2f, 0xa6, 0xe4, 0x54, 0xea, 0x02,
0xe6, 0x2c, 0xa9, 0x37, 0xd4, 0xda, 0xac, 0xdf, 0xdc, 0xcb, 0xf5, 0x3b, 0xa5, 0xbc, 0x8c, 0xbe,
0x48, 0x88, 0xbf, 0x98, 0xc2, 0xf2, 0x44, 0x05, 0xf2, 0x04, 0x8a, 0x73, 0xdd, 0xd7, 0x37, 0xcb,
0x8d, 0x0f, 0x75, 0x8e, 0x2a, 0xa6, 0xed, 0x29, 0x94, 0x58, 0xe6, 0x60, 0xde, 0xb2, 0x53, 0x8b,
0x81, 0x0c, 0xc6, 0x0f, 0x37, 0x51, 0x9e, 0x3c, 0xb6, 0xdb, 0x86, 0x35, 0xa3, 0x9a, 0x44, 0x01,
0x6d, 0x2b, 0xcb, 0x37, 0xcc, 0xc0, 0xc6, 0x35, 0x5f, 0x69, 0x41, 0xf3, 0x8c, 0xfa, 0xac, 0xc1,
0x63, 0xfa, 0xd3, 0x0a, 0x75, 0x46, 0x39, 0x84, 0xad, 0xc8, 0xe2, 0x39, 0x38, 0x50, 0x94, 0x3c,
0x40, 0xa5, 0xc6, 0xdf, 0xe2, 0x05, 0xba, 0x1b, 0x8b, 0x30, 0x1a, 0x95, 0x53, 0xd8, 0x3a, 0x37,
0x3c, 0x1f, 0xb7, 0xd8, 0x13, 0x10, 0xe4, 0x7f, 0x50, 0x59, 0xf0, 0x2a, 0x02, 0xf6, 0x75, 0x89,
0x7d, 0xac, 0x0e, 0xa8, 0x50, 0x73, 0xea, 0xeb, 0x86, 0xc9, 0x9b, 0x57, 0xc5, 0xbc, 0xad, 0x18,
0x47, 0x24, 0x46, 0xfd, 0xc4, 0xdd, 0x0c, 0x51, 0x1a, 0x32, 0x8a, 0xf2, 0x04, 0xda, 0x7d, 0xcb,
0x73, 0xe8, 0x8c, 0x1d, 0x09, 0x33, 0x4b, 0x5a, 0xad, 0x7c, 0x05, 0x44, 0x0e, 0x10, 0x90, 0x7b,
0xa8, 0xe0, 0xf6, 0x5c, 0x94, 0x92, 0x44, 0xfc, 0x01, 0xda, 0x8c, 0x01, 0xdf, 0xf9, 0xa8, 0x96,
0x2f, 0xd2, 0xb5, 0xa4, 0x1f, 0xe0, 0xec, 0x6a, 0x5e, 0x02, 0x91, 0xb1, 0x44, 0xf2, 0xc7, 0x50,
0xe6, 0x72, 0x16, 0x62, 0xa5, 0xde, 0x33, 0xe5, 0x29, 0x6c, 0x0b, 0xca, 0xfc, 0x77, 0x56, 0x55,
0xdf, 0xc2, 0x4e, 0x32, 0x44, 0x40, 0x47, 0x2f, 0x65, 0x2e, 0xeb, 0xa5, 0x54, 0xbe, 0x83, 0x6d,
0xc6, 0x87, 0x5a, 0x7c, 0x7c, 0xa2, 0xea, 0xfe, 0x0f, 0xe5, 0xa0, 0xba, 0xb5, 0xaf, 0x0b, 0x69,
0x16, 0x95, 0x57, 0xb0, 0x93, 0x3c, 0x1c, 0x97, 0x43, 0xb9, 0x65, 0xad, 0x1c, 0x1e, 0xa8, 0xdc,
0xf2, 0xe1, 0x3a, 0xb7, 0xaf, 0xa2, 0x7c, 0xd8, 0x26, 0x26, 0xb6, 0xd1, 0x7b, 0x8a, 0x02, 0x19,
0x4a, 0xbe, 0xd8, 0x21, 0x9c, 0x63, 0xd3, 0xb0, 0xf8, 0x1c, 0xe7, 0x9e, 0x97, 0xd8, 0x81, 0x85,
0x6d, 0x9a, 0xf6, 0x27, 0x3e, 0xc3, 0xd5, 0xd4, 0x5c, 0x97, 0x32, 0xe6, 0x9a, 0x8b, 0xa5, 0xb2,
0xcf, 0xa7, 0x38, 0x48, 0x2d, 0xd8, 0x46, 0xc8, 0x5c, 0xc1, 0x0f, 0x28, 0xd4, 0xe2, 0xaf, 0xb0,
0x0e, 0x76, 0xf5, 0xa2, 0x77, 0xa6, 0x6a, 0x93, 0x0f, 0x23, 0x55, 0x7b, 0x3f, 0x38, 0x51, 0x4f,
0xfb, 0x03, 0xf5, 0xa4, 0x75, 0x07, 0xb5, 0x64, 0x4b, 0xf2, 0xf4, 0x46, 0xa3, 0xe3, 0x56, 0x0e,
0xdf, 0xa0, 0xb6, 0x64, 0x3c, 0x19, 0x1e, 0xbf, 0x55, 0xc7, 0xad, 0x3c, 0x12, 0x69, 0x4a, 0xe6,
0xe1, 0x71, 0xbf, 0x55, 0x38, 0x18, 0x41, 0x35, 0xfa, 0x18, 0xd9, 0x85, 0x6d, 0x04, 0xd0, 0xde,
0x4d, 0x7a, 0x93, 0x64, 0x12, 0xc4, 0x8b, 0x1d, 0xe3, 0xf7, 0x83, 0x41, 0x7f, 0x70, 0x86, 0x69,
0x76, 0xa0, 0x15, 0x9b, 0xd5, 0x1f, 0xfb, 0x13, 0x0c, 0xce, 0x1f, 0xfc, 0x93, 0x83, 0x6a, 0xf4,
0x66, 0x22, 0xe4, 0x68, 0x78, 0x92, 0x01, 0x89, 0x67, 0x63, 0x87, 0x7a, 0xf1, 0x66, 0xfc, 0x61,
0x88, 0x88, 0x89, 0xf0, 0xd1, 0x58, 0x1d, 0xf5, 0xc6, 0x2c, 0x55, 0x1e, 0xc5, 0x99, 0xa4, 0x1d,
0x08, 0x53, 0x60, 0xcc, 0x62, 0x7b, 0xc8, 0xac, 0x88, 0xd3, 0xb6, 0x17, 0x9b, 0x7b, 0x6f, 0x86,
0x63, 0xa4, 0x16, 0x1e, 0x6b, 0x95, 0x52, 0xc9, 0x03, 0xe2, 0xe5, 0x64, 0x8e, 0x13, 0xf5, 0x5c,
0x9d, 0x30, 0xb0, 0x4a, 0x32, 0xc7, 0x59, 0x6f, 0xfc, 0x06, 0x5b, 0xd8, 0xaa, 0x1e, 0xfc, 0x91,
0x87, 0x5a, 0x2c, 0x76, 0x78, 0x43, 0xea, 0xa5, 0x3a, 0x98, 0xac, 0xdf, 0xd0, 0x03, 0xd8, 0x95,
0x3c, 0x0c, 0x29, 0xe2, 0x9f, 0xc3, 0xaf, 0xac, 0xc7, 0xd9, 0xce, 0x90, 0x35, 0xd6, 0xde, 0x85,
0xfb, 0xa9, 0x18, 0xa4, 0xc2, 0x7d, 0x05, 0x94, 0x8b, 0x7b, 0x29, 0x9f, 0x28, 0xa7, 0x88, 0xbb,
0xb3, 0x9f, 0x72, 0x09, 0xee, 0xda, 0xf1, 0xf0, 0xfc, 0x5c, 0x3d, 0x66, 0x51, 0xa5, 0x14, 0xb8,
0xb8, 0xce, 0x71, 0xd0, 0x90, 0x24, 0x38, 0xf3, 0x09, 0xf0, 0x0a, 0x6b, 0xb0, 0xe4, 0x0a, 0xa6,
0xaa, 0x7f, 0x31, 0x0a, 0x28, 0x57, 0xc9, 0x43, 0xe8, 0xac, 0xb9, 0xc7, 0xea, 0xc5, 0xf0, 0x12,
0xbd, 0xb5, 0xa3, 0x5f, 0x8a, 0xf8, 0x19, 0xb6, 0x9a, 0x9a, 0xc6, 0xac, 0x37, 0xea, 0x93, 0xef,
0xa1, 0x22, 0x04, 0x9d, 0xec, 0xc6, 0xaf, 0x5d, 0x42, 0xf4, 0xbb, 0x9d, 0x75, 0x47, 0xb0, 0x35,
0xca, 0x1d, 0xd2, 0x83, 0x6a, 0x28, 0xcc, 0x24, 0x8e, 0x4b, 0x69, 0x7e, 0x77, 0x2f, 0xc3, 0x13,
0x41, 0x9c, 0x01, 0xc4, 0x52, 0x4c, 0xba, 0xd2, 0x03, 0x92, 0x12, 0xf0, 0xee, 0x83, 0x4c, 0x9f,
0x0c, 0x14, 0xcb, 0xaa, 0x04, 0xb4, 0xa6, 0xdb, 0x12, 0xd0, 0xba, 0x0e, 0x23, 0xd0, 0x05, 0x34,
0x64, 0x19, 0x25, 0x0f, 0xd3, 0x79, 0x65, 0x01, 0xee, 0x3e, 0xda, 0xe0, 0x8d, 0xe0, 0x86, 0xd0,
0x90, 0x15, 0x52, 0x82, 0xcb, 0x50, 0x5d, 0x09, 0x2e, 0x4b, 0x56, 0x95, 0x3b, 0x5f, 0xe7, 0xc8,
0x6b, 0x7e, 0x69, 0x4c, 0xbf, 0x92, 0x97, 0x26, 0x89, 0x69, 0xf2, 0xd2, 0x64, 0xa9, 0x63, 0x08,
0xd3, 0x32, 0xff, 0xcf, 0xf4, 0xc5, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4a, 0x23, 0xef, 0x15,
0xa6, 0x0e, 0x00, 0x00,
// 1767 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x6e, 0xdb, 0xc6,
0x16, 0x8e, 0xfe, 0xa5, 0x23, 0x59, 0x96, 0xc7, 0x4e, 0xa2, 0x38, 0x3f, 0xd7, 0x97, 0xb9, 0x49,
0x7c, 0x8d, 0x0b, 0xe3, 0xc6, 0x49, 0xdb, 0x4d, 0x10, 0x54, 0x96, 0x69, 0x57, 0x88, 0x2d, 0x09,
0x8c, 0xe2, 0x36, 0xe8, 0x82, 0xa0, 0x24, 0x4a, 0x21, 0x4c, 0x89, 0x2c, 0x49, 0x39, 0x71, 0x97,
0x7d, 0x80, 0xbe, 0x41, 0xbb, 0xea, 0xba, 0xdb, 0x02, 0xdd, 0xf7, 0x51, 0xba, 0xe8, 0x13, 0x74,
0xdb, 0x33, 0x3f, 0x24, 0x87, 0xb4, 0x9c, 0x1a, 0xdd, 0x71, 0xce, 0x77, 0xe6, 0x9b, 0xf3, 0x37,
0xe7, 0x8c, 0x04, 0x15, 0xc3, 0xb5, 0x76, 0x5d, 0xcf, 0x09, 0x1c, 0x52, 0x3a, 0x7f, 0x6a, 0xd8,
0xee, 0x3b, 0x43, 0xe9, 0x41, 0xb5, 0x33, 0x33, 0xa6, 0xe6, 0xa1, 0xe3, 0xcd, 0x8c, 0x80, 0x3c,
0x86, 0x7c, 0x70, 0xe1, 0x9a, 0xcd, 0xcc, 0x56, 0x66, 0xbb, 0xbe, 0x47, 0x76, 0x85, 0xda, 0x2e,
0xd3, 0x19, 0x20, 0xa2, 0x31, 0x9c, 0x34, 0xa1, 0x74, 0x6e, 0x7a, 0xbe, 0xe5, 0xcc, 0x9b, 0x59,
0x54, 0xad, 0x68, 0xe1, 0x52, 0xf9, 0x25, 0x0b, 0x05, 0xa6, 0x4d, 0x3e, 0x81, 0xea, 0xd0, 0xf0,
0x4d, 0x7d, 0xc2, 0xa8, 0x19, 0x65, 0x75, 0x6f, 0x23, 0x49, 0xc9, 0x8f, 0xd5, 0x80, 0x2a, 0x0a,
0x13, 0xea, 0x90, 0xb5, 0xc6, 0x82, 0x15, 0xbf, 0x08, 0x81, 0xfc, 0xdc, 0x98, 0x99, 0xcd, 0x1c,
0x93, 0xb0, 0x6f, 0xf9, 0xf8, 0x7c, 0xe2, 0x78, 0xf2, 0x5f, 0x68, 0x58, 0x33, 0xd7, 0xf1, 0x02,
0x3d, 0xb0, 0x66, 0xa6, 0x1f, 0x18, 0x33, 0xb7, 0x59, 0x40, 0x95, 0x9c, 0xb6, 0xca, 0xe5, 0x83,
0x50, 0x4c, 0x36, 0xa1, 0x3c, 0x33, 0xe6, 0xd6, 0x04, 0x97, 0xcd, 0x22, 0xaa, 0xd4, 0xb4, 0x68,
0x4d, 0x0f, 0xf5, 0xad, 0x6f, 0xcd, 0x66, 0x89, 0x6d, 0x65, 0xdf, 0xe4, 0x19, 0x54, 0x8d, 0xf9,
0xdc, 0x09, 0x8c, 0x00, 0x0f, 0xf2, 0x9b, 0xe5, 0xad, 0x1c, 0xfa, 0xb3, 0x16, 0xf9, 0xf3, 0xca,
0xbc, 0x38, 0x35, 0xec, 0x85, 0xa9, 0xc9, 0x5a, 0x68, 0x4f, 0xd1, 0x36, 0x86, 0xa6, 0xed, 0x37,
0x2b, 0x57, 0xe9, 0x0b, 0x05, 0x45, 0x85, 0x52, 0xd7, 0x0c, 0xde, 0x3b, 0xde, 0x59, 0xe4, 0x73,
0x46, 0xf2, 0x19, 0x65, 0x96, 0x7b, 0xfe, 0x5c, 0x44, 0x86, 0x7d, 0x0b, 0xd9, 0xa7, 0x61, 0x6c,
0xe8, 0xb7, 0xf2, 0x6b, 0x06, 0x72, 0x2d, 0xd7, 0x5d, 0xca, 0xf1, 0x1f, 0x28, 0x58, 0x34, 0xec,
0x8c, 0xa4, 0xba, 0x57, 0x4f, 0x26, 0x43, 0xe3, 0x20, 0x79, 0x02, 0x05, 0x8c, 0x50, 0xc0, 0x43,
0x5e, 0x97, 0x4c, 0x46, 0xda, 0xd7, 0x14, 0xd0, 0x38, 0x4e, 0xee, 0x42, 0xc5, 0xfc, 0x60, 0x05,
0xfa, 0xc8, 0x19, 0x9b, 0x2c, 0x11, 0x6b, 0x5a, 0x99, 0x0a, 0xda, 0xb8, 0x4e, 0x87, 0xab, 0x70,
0x9d, 0x70, 0x29, 0x7f, 0x64, 0x21, 0xd7, 0x77, 0xc6, 0xa2, 0x08, 0x32, 0x51, 0x11, 0x34, 0x20,
0xe7, 0x8a, 0xaa, 0x58, 0xd3, 0xe8, 0xe7, 0xd5, 0x46, 0xe2, 0xf6, 0x84, 0x91, 0x5b, 0x90, 0x37,
0x5c, 0xd7, 0x47, 0xfb, 0xa8, 0x01, 0x35, 0xd9, 0x19, 0x8d, 0x21, 0xe4, 0x7f, 0x50, 0x9e, 0xf3,
0xc0, 0x87, 0x66, 0x36, 0x22, 0x2d, 0x91, 0x11, 0x2d, 0xd2, 0xf8, 0x68, 0xd9, 0xa4, 0x7c, 0x2e,
0x5d, 0xab, 0x44, 0x6e, 0x41, 0x71, 0x34, 0xf5, 0x9c, 0x85, 0x8b, 0x25, 0x45, 0xfd, 0x15, 0x2b,
0x72, 0x1f, 0x60, 0xe4, 0x99, 0xe8, 0xc2, 0x58, 0xc7, 0xeb, 0x53, 0x61, 0x95, 0x58, 0x11, 0x92,
0x56, 0x40, 0x61, 0x74, 0xd0, 0x13, 0x30, 0x70, 0x58, 0x48, 0x10, 0xde, 0x82, 0xda, 0x74, 0xa4,
0xcf, 0x0c, 0xef, 0x8c, 0x2b, 0x54, 0x99, 0x02, 0x4c, 0x47, 0x27, 0x4c, 0xd4, 0x0a, 0x94, 0x3d,
0x28, 0x87, 0x06, 0xd1, 0xf8, 0xe2, 0xb7, 0x08, 0x78, 0xee, 0xcc, 0xbc, 0x20, 0x1b, 0x50, 0x38,
0xa7, 0x90, 0xa8, 0x37, 0xbe, 0x50, 0x7e, 0xcc, 0x42, 0x05, 0x03, 0x7c, 0x68, 0xd9, 0x81, 0xe9,
0xd1, 0x5d, 0xd6, 0xd8, 0xc7, 0x5d, 0x39, 0xba, 0x0b, 0x3f, 0x69, 0xb9, 0xb3, 0xa8, 0xfb, 0xb8,
0x2d, 0xb7, 0x3c, 0x2d, 0x42, 0x81, 0x16, 0x0f, 0x46, 0x5f, 0xa7, 0x75, 0xe9, 0x63, 0x12, 0x29,
0x45, 0x19, 0x05, 0x5d, 0xba, 0xa6, 0x20, 0xab, 0x45, 0x9d, 0xf2, 0xe7, 0x39, 0xc8, 0x04, 0x1d,
0x3c, 0xe4, 0x21, 0xac, 0x88, 0x6c, 0x88, 0xdd, 0x05, 0xa6, 0x50, 0x13, 0x42, 0xce, 0x90, 0x4a,
0x45, 0xf1, 0x5a, 0xa9, 0xc0, 0xbe, 0xc2, 0x83, 0xcf, 0x73, 0x87, 0x7d, 0x45, 0x2c, 0xb1, 0x31,
0xae, 0xba, 0xce, 0x58, 0xf7, 0x17, 0x43, 0x3d, 0xd4, 0x28, 0x33, 0x8d, 0x15, 0x14, 0xbf, 0x5e,
0x0c, 0xdb, 0x5c, 0xa8, 0xfc, 0x96, 0x0d, 0x1b, 0xea, 0x55, 0x21, 0xc2, 0xfa, 0x71, 0x3d, 0x73,
0x62, 0x7d, 0x10, 0x41, 0x42, 0xcf, 0xc2, 0x35, 0xcd, 0x29, 0x6b, 0x99, 0x72, 0x50, 0x2a, 0x54,
0xc2, 0x7d, 0xc2, 0xad, 0x98, 0x1a, 0xf4, 0x31, 0x0e, 0x4a, 0xb8, 0x96, 0x1a, 0x4d, 0xe1, 0x6f,
0x1a, 0x0d, 0x79, 0x04, 0x75, 0xde, 0x0b, 0x69, 0x65, 0x4c, 0xd0, 0x4a, 0x56, 0xc7, 0x39, 0x6d,
0x25, 0x94, 0xb6, 0xa8, 0x10, 0x6f, 0xd8, 0x6a, 0xa4, 0x36, 0x34, 0xb1, 0x8b, 0x87, 0xed, 0x30,
0xda, 0xbd, 0xcf, 0xa4, 0xff, 0xac, 0x31, 0xa2, 0xab, 0x93, 0x85, 0x6d, 0x0b, 0x57, 0x2b, 0xdc,
0x55, 0x2a, 0x61, 0xae, 0x2a, 0x7f, 0x66, 0xa0, 0x7a, 0x64, 0x3b, 0x43, 0xc3, 0x3e, 0xb4, 0x8d,
0xa9, 0x4f, 0xe3, 0x38, 0xb6, 0xbc, 0xb0, 0x40, 0xf1, 0x93, 0xec, 0xc0, 0x9a, 0x7f, 0xe1, 0x07,
0xe6, 0x0c, 0xdb, 0xcf, 0x7c, 0x62, 0x4d, 0x75, 0x8a, 0xf3, 0x62, 0x5d, 0xe5, 0x40, 0x9b, 0xc9,
0x0f, 0x50, 0x77, 0x1b, 0x1a, 0xb6, 0x33, 0x32, 0x6c, 0x59, 0x95, 0xf7, 0xcc, 0x3a, 0x93, 0xc7,
0x9a, 0x98, 0xe7, 0x85, 0x6f, 0x7a, 0xb2, 0x22, 0x9f, 0x30, 0x2b, 0x54, 0x1c, 0xeb, 0xd1, 0x18,
0xce, 0x7d, 0x73, 0xb4, 0xf0, 0x70, 0xc0, 0x51, 0x0b, 0xd9, 0x94, 0x41, 0xb5, 0x50, 0xca, 0xcd,
0x7e, 0x0a, 0x37, 0x03, 0x6f, 0xe1, 0x07, 0x3a, 0xe6, 0xc9, 0xd7, 0x27, 0x9e, 0x33, 0xd3, 0xdf,
0x05, 0x81, 0xeb, 0xb3, 0x88, 0x97, 0x35, 0xc2, 0x40, 0x0c, 0x90, 0x7f, 0x88, 0xd0, 0x17, 0x14,
0x51, 0x7e, 0xca, 0x40, 0xbe, 0x33, 0x9f, 0x38, 0xe4, 0x5f, 0x50, 0xf5, 0xce, 0x02, 0x3d, 0x1c,
0x74, 0xdc, 0x75, 0x40, 0xd1, 0xa9, 0x98, 0x75, 0xff, 0x86, 0x1a, 0x5e, 0x98, 0x91, 0x9e, 0x9c,
0xc4, 0x55, 0x2a, 0x0b, 0x55, 0x90, 0x03, 0x87, 0x7e, 0xa4, 0xc1, 0x7d, 0x06, 0x14, 0x85, 0x0a,
0x9f, 0x61, 0x9b, 0x60, 0x61, 0x16, 0x5e, 0xe4, 0x53, 0x53, 0x5a, 0xca, 0x81, 0x56, 0x9d, 0xc6,
0x0b, 0xe5, 0xfb, 0x0c, 0x14, 0xd4, 0x73, 0x73, 0x7e, 0xf5, 0x9b, 0x81, 0xa1, 0xd2, 0x9b, 0x61,
0xc9, 0x60, 0xa7, 0x01, 0x09, 0x87, 0x17, 0xfd, 0xa6, 0x32, 0x3a, 0xb7, 0x99, 0x19, 0x38, 0x77,
0xe9, 0x37, 0x86, 0x3a, 0x3f, 0x36, 0x02, 0xe3, 0xea, 0xba, 0x66, 0xb0, 0xf2, 0x03, 0x56, 0x0c,
0x3b, 0x52, 0xdc, 0xbc, 0x6d, 0x28, 0xd0, 0x63, 0xf9, 0xdd, 0x5b, 0x6e, 0x17, 0x57, 0x08, 0xef,
0x68, 0x36, 0xbe, 0xa3, 0xd8, 0xfc, 0xe4, 0x2b, 0xc8, 0x17, 0xac, 0xe3, 0x5a, 0xf3, 0x91, 0xa9,
0x4b, 0x26, 0x56, 0x98, 0x84, 0x3e, 0x2a, 0x28, 0xbc, 0x98, 0x07, 0x96, 0xcd, 0x61, 0xfe, 0xe8,
0xa8, 0x30, 0x09, 0x85, 0x95, 0x06, 0xd4, 0x8f, 0xcc, 0x80, 0x66, 0x56, 0x33, 0xbf, 0x59, 0xe0,
0xb4, 0x50, 0x9e, 0xc3, 0x6a, 0x24, 0xf1, 0x5d, 0xbc, 0x14, 0x26, 0xa6, 0x34, 0x6f, 0xe1, 0x5a,
0x3c, 0x96, 0x56, 0xe2, 0xf9, 0x4c, 0x95, 0x18, 0xa4, 0x7c, 0x09, 0xab, 0xc7, 0x96, 0x1f, 0x60,
0x3f, 0xf5, 0x05, 0x11, 0x0e, 0xb0, 0xd2, 0x84, 0x39, 0xcd, 0x9d, 0xad, 0x4a, 0xce, 0x46, 0xcd,
0x5a, 0x0b, 0x55, 0xe8, 0xbc, 0x19, 0x9b, 0x81, 0x61, 0xd9, 0x2c, 0x17, 0x65, 0x4d, 0xac, 0xd0,
0x9c, 0x46, 0x4c, 0x2c, 0xec, 0xc1, 0xe1, 0x89, 0xfd, 0x2d, 0xa4, 0xad, 0xc9, 0xb4, 0x1a, 0x43,
0x94, 0x87, 0xb0, 0xd6, 0x99, 0xfb, 0xae, 0x39, 0xa2, 0x1b, 0x43, 0x83, 0x52, 0xe3, 0x1b, 0xa9,
0x89, 0xac, 0x24, 0xc8, 0x1f, 0xe0, 0x50, 0x77, 0xc6, 0xc2, 0xd7, 0x24, 0x37, 0x05, 0x94, 0xaf,
0x61, 0x8d, 0x1a, 0xc4, 0xda, 0x69, 0xe4, 0xeb, 0x6e, 0xda, 0xd7, 0xf4, 0x8b, 0xf2, 0x9a, 0xde,
0xbe, 0x00, 0x22, 0x93, 0x0b, 0x93, 0x1e, 0x43, 0x91, 0x8d, 0x99, 0x90, 0x3c, 0xfd, 0x42, 0x12,
0xa8, 0xf2, 0x08, 0xd6, 0x85, 0x43, 0x5c, 0x7e, 0x85, 0xdf, 0x2f, 0x60, 0x23, 0xa9, 0x26, 0x8e,
0x89, 0xde, 0x61, 0x99, 0x8f, 0xbc, 0xc3, 0x94, 0x36, 0xac, 0x53, 0x13, 0xcd, 0x39, 0xab, 0x58,
0x29, 0xdb, 0x45, 0xee, 0xdc, 0xa5, 0x27, 0xb5, 0x54, 0xfe, 0x9a, 0xd0, 0x51, 0x5e, 0xc2, 0x46,
0x92, 0x24, 0xf6, 0xd4, 0x64, 0x92, 0x4b, 0x9e, 0x32, 0x45, 0x4d, 0xa0, 0xca, 0xcf, 0x19, 0x56,
0xb7, 0xc7, 0xce, 0x34, 0x32, 0xe0, 0x26, 0x14, 0xe9, 0x2c, 0x8c, 0x3c, 0x2d, 0xe0, 0xaa, 0x33,
0x26, 0x77, 0xa0, 0x1c, 0x0e, 0xf4, 0xf0, 0x47, 0x81, 0x98, 0xe7, 0xf4, 0x3e, 0xd9, 0xd6, 0x9c,
0xdd, 0xa7, 0xcc, 0x76, 0x41, 0xe3, 0x0b, 0x9a, 0x9a, 0x89, 0x63, 0xdb, 0xce, 0x7b, 0x76, 0x97,
0x30, 0x35, 0x7c, 0x95, 0xba, 0x67, 0x85, 0x8f, 0xdf, 0xb3, 0x62, 0xfa, 0x9e, 0x3d, 0x61, 0xb7,
0x8a, 0xdb, 0x2b, 0x7c, 0x8d, 0x8e, 0xe7, 0x63, 0x98, 0x2f, 0x76, 0x4c, 0xa8, 0x44, 0x3f, 0x6b,
0x70, 0xf2, 0x6f, 0x74, 0x4e, 0x5a, 0x47, 0xaa, 0x3e, 0x78, 0xdb, 0x57, 0xf5, 0x37, 0xdd, 0x03,
0xf5, 0xb0, 0xd3, 0x55, 0x0f, 0x1a, 0x37, 0xc8, 0x3a, 0xac, 0x4a, 0x48, 0xab, 0xdf, 0x6f, 0x37,
0x32, 0x18, 0x82, 0x35, 0x49, 0x78, 0xd0, 0x6b, 0xbf, 0x52, 0xb5, 0x46, 0x16, 0xdb, 0x57, 0x5d,
0x12, 0xf7, 0xda, 0x9d, 0x46, 0x6e, 0xa7, 0x0f, 0xe5, 0xf0, 0xdd, 0x4c, 0x6e, 0xc3, 0x3a, 0x12,
0xe8, 0xaf, 0x07, 0xad, 0x41, 0xf2, 0x10, 0xe4, 0x8b, 0x01, 0xed, 0x4d, 0xb7, 0xdb, 0xe9, 0x1e,
0xe1, 0x31, 0x1b, 0xd0, 0x88, 0xc5, 0xea, 0x57, 0x9d, 0x01, 0x2a, 0x67, 0x77, 0x7e, 0xcf, 0x40,
0x39, 0x7c, 0x4e, 0x51, 0xca, 0x7e, 0xef, 0x60, 0x09, 0x25, 0xee, 0x8d, 0x01, 0xf5, 0x64, 0x5f,
0x7b, 0xdb, 0x43, 0xc6, 0x84, 0x7a, 0x5f, 0x53, 0xfb, 0x2d, 0x8d, 0x1e, 0x95, 0xc5, 0x64, 0x90,
0x34, 0x80, 0x34, 0x39, 0x6a, 0x59, 0x2c, 0x0f, 0x2d, 0xcb, 0x63, 0x12, 0xee, 0xc4, 0xe2, 0xd6,
0x7e, 0x4f, 0x43, 0xd3, 0xc2, 0x6d, 0x8d, 0x42, 0xea, 0x70, 0x6e, 0x78, 0x31, 0x79, 0xc6, 0x81,
0x7a, 0xac, 0x0e, 0x28, 0x59, 0x29, 0x79, 0xc6, 0x51, 0x4b, 0xdb, 0xc7, 0x10, 0x36, 0xca, 0x3b,
0xf8, 0x53, 0xb2, 0x12, 0x35, 0x6b, 0x9a, 0x21, 0xf5, 0x54, 0xed, 0x0e, 0x2e, 0x67, 0xe8, 0x2e,
0xdc, 0x96, 0x10, 0xca, 0x14, 0xd9, 0x9f, 0x21, 0x0a, 0x3c, 0x58, 0x0e, 0x86, 0x56, 0xa3, 0xef,
0x9b, 0x70, 0x2b, 0xa5, 0x83, 0xa6, 0x30, 0x2c, 0x87, 0x55, 0x7d, 0x33, 0x85, 0x09, 0x77, 0xf2,
0x78, 0x8b, 0xb7, 0x52, 0x90, 0xb0, 0x5d, 0x6f, 0xf7, 0x8e, 0x8f, 0xd5, 0x36, 0xd5, 0x2a, 0xa4,
0xc8, 0x45, 0x3a, 0x35, 0x1e, 0x90, 0x24, 0x39, 0xc5, 0x04, 0x79, 0x89, 0x06, 0x58, 0x82, 0x78,
0x55, 0x75, 0x4e, 0xfa, 0xdc, 0xe4, 0x32, 0xb9, 0x07, 0xcd, 0x4b, 0xb0, 0xa6, 0x9e, 0xf4, 0x4e,
0x11, 0xad, 0xec, 0x7d, 0x97, 0xc7, 0x67, 0xfa, 0x62, 0x68, 0x5b, 0xa3, 0x56, 0xbf, 0x43, 0x5e,
0x42, 0x49, 0xcc, 0x19, 0x72, 0x3b, 0x1e, 0xec, 0x89, 0x59, 0xb4, 0xd9, 0xbc, 0x0c, 0xf0, 0xcb,
0xa3, 0xdc, 0x20, 0x2d, 0x28, 0x87, 0x83, 0x81, 0xc4, 0x7a, 0xa9, 0x21, 0xb4, 0x79, 0x67, 0x09,
0x12, 0x51, 0x1c, 0x01, 0xc4, 0x03, 0x80, 0x6c, 0x4a, 0x73, 0x2d, 0x35, 0x3a, 0x36, 0xef, 0x2e,
0xc5, 0x64, 0xa2, 0xb8, 0x6d, 0x4b, 0x44, 0x97, 0x06, 0x85, 0x44, 0x74, 0xb9, 0xcf, 0x23, 0xd1,
0x09, 0xd4, 0xe4, 0xd6, 0x4c, 0xee, 0xa5, 0xcf, 0x95, 0x1b, 0xfb, 0xe6, 0xfd, 0x2b, 0xd0, 0x88,
0xae, 0x07, 0x35, 0xb9, 0xcd, 0x4a, 0x74, 0x4b, 0x5a, 0xb8, 0x44, 0xb7, 0xac, 0x37, 0x2b, 0x37,
0xfe, 0x9f, 0x21, 0x9f, 0xb3, 0xa4, 0xd1, 0x36, 0x96, 0x4c, 0x9a, 0xd4, 0x88, 0x93, 0x49, 0x93,
0x3b, 0x1e, 0x65, 0x18, 0x16, 0xd9, 0x5f, 0x3d, 0xcf, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x45,
0x22, 0xcb, 0xca, 0xf7, 0x11, 0x00, 0x00,
}

View File

@@ -74,6 +74,9 @@ message Image {
// Annotations on this image.
repeated KeyValue annotations = 8;
// Labels of this image.
repeated KeyValue labels = 9;
}
// Network describes the network information of a pod.

View File

@@ -17,15 +17,89 @@
package main
import (
"flag"
"fmt"
"io"
"os"
"time"
"github.com/coreos/rkt/api/v1alpha"
"golang.org/x/net/context"
"google.golang.org/grpc"
)
func getLogsWithoutFollow(c v1alpha.PublicAPIClient, p *v1alpha.Pod) {
if len(p.Apps) == 0 {
fmt.Printf("Pod %q has no apps\n", p.Id)
return
}
logsResp, err := c.GetLogs(context.Background(), &v1alpha.GetLogsRequest{
PodId: p.Id,
Follow: false,
AppName: p.Apps[0].Name,
SinceTime: time.Now().Add(-time.Second * 5).Unix(),
Lines: 10,
})
if err != nil {
fmt.Println(err)
os.Exit(1)
}
logsRecvResp, err := logsResp.Recv()
if err == io.EOF {
return
}
if err != nil {
fmt.Println(err)
return
}
for _, l := range logsRecvResp.Lines {
fmt.Println(l)
}
}
func getLogsWithFollow(c v1alpha.PublicAPIClient, p *v1alpha.Pod) {
if len(p.Apps) == 0 {
fmt.Printf("Pod %q has no apps\n", p.Id)
return
}
logsResp, err := c.GetLogs(context.Background(), &v1alpha.GetLogsRequest{
PodId: p.Id,
Follow: true,
AppName: p.Apps[0].Name,
})
if err != nil {
fmt.Println(err)
os.Exit(1)
}
for {
logsRecvResp, err := logsResp.Recv()
if err == io.EOF {
return
}
if err != nil {
fmt.Println(err)
return
}
for _, l := range logsRecvResp.Lines {
fmt.Println(l)
}
}
}
func main() {
followFlag := flag.Bool("follow", false, "enable 'follow' option on GetLogs")
flag.Parse()
conn, err := grpc.Dial("localhost:15441", grpc.WithInsecure())
if err != nil {
fmt.Println(err)
@@ -46,11 +120,17 @@ func main() {
})
if err != nil {
fmt.Println(err)
os.Exit(2)
os.Exit(1)
}
for _, p := range podResp.Pods {
fmt.Printf("Pod %q is running\n", p.Id)
if *followFlag {
fmt.Printf("Pod %q is running. Following logs:\n", p.Id)
getLogsWithFollow(c, p)
} else {
fmt.Printf("Pod %q is running.\n", p.Id)
getLogsWithoutFollow(c, p)
}
}
// List images.
@@ -65,7 +145,7 @@ func main() {
})
if err != nil {
fmt.Println(err)
os.Exit(3)
os.Exit(1)
}
for _, im := range imgResp.Images {