From 9734bf3a1208fc9cc962d055c3c158d485e0bf72 Mon Sep 17 00:00:00 2001 From: Igor Bazhitov Date: Thu, 29 Jun 2017 14:45:49 +0300 Subject: [PATCH] feat(*): add annotations to release Annotations is an unstructured key value map stored with a release that may be set by external tools to store and retrieve arbitrary metadata. For example: currently there is no way to tell where the chart, from which a release had been installed, came from (local file, repo, etc.). We can store the chart's origin in the release annotations. In future, when Helm will utilize TPRs or an addon API server to store the release data, these annotations can easily be converted to the k8s API's v1.ObjectMeta.Annotations. --- _proto/hapi/release/release.proto | 4 + _proto/hapi/services/tiller.proto | 6 + pkg/proto/hapi/release/release.pb.go | 49 +++++--- pkg/proto/hapi/services/tiller.pb.go | 180 +++++++++++++++------------ 4 files changed, 144 insertions(+), 95 deletions(-) diff --git a/_proto/hapi/release/release.proto b/_proto/hapi/release/release.proto index 4a6afa0fe..95bc076a3 100644 --- a/_proto/hapi/release/release.proto +++ b/_proto/hapi/release/release.proto @@ -50,4 +50,8 @@ message Release { // Namespace is the kubernetes namespace of the release. string namespace = 8; + + // Annotations is an unstructured key value map stored with a release that + // may be set by external tools to store and retrieve arbitrary metadata. + map annotations = 9; } diff --git a/_proto/hapi/services/tiller.proto b/_proto/hapi/services/tiller.proto index 1fb6a86e9..faffd4bc5 100644 --- a/_proto/hapi/services/tiller.proto +++ b/_proto/hapi/services/tiller.proto @@ -209,6 +209,9 @@ message UpdateReleaseRequest { bool reuse_values = 10; // Force resource update through delete/recreate if needed. bool force = 11; + // Annotations is an unstructured key value map stored with a release that + // may be set by external tools to store and retrieve arbitrary metadata. + map annotations = 12; } // UpdateReleaseResponse is the response to an update request. @@ -271,6 +274,9 @@ message InstallReleaseRequest { // wait, if true, will wait until all Pods, PVCs, and Services are in a ready state // before marking the release as successful. It will wait for as long as timeout bool wait = 9; + // Annotations is an unstructured key value map stored with a release that + // may be set by external tools to store and retrieve arbitrary metadata. + map annotations = 10; } // InstallReleaseResponse is the response from a release installation. diff --git a/pkg/proto/hapi/release/release.pb.go b/pkg/proto/hapi/release/release.pb.go index 47b321b50..9f38ad7e5 100644 --- a/pkg/proto/hapi/release/release.pb.go +++ b/pkg/proto/hapi/release/release.pb.go @@ -35,6 +35,9 @@ type Release struct { Version int32 `protobuf:"varint,7,opt,name=version" json:"version,omitempty"` // Namespace is the kubernetes namespace of the release. Namespace string `protobuf:"bytes,8,opt,name=namespace" json:"namespace,omitempty"` + // Annotations is an unstructured key value map stored with a release that + // may be set by external tools to store and retrieve arbitrary metadata. + Annotations map[string]string `protobuf:"bytes,9,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *Release) Reset() { *m = Release{} } @@ -98,6 +101,13 @@ func (m *Release) GetNamespace() string { return "" } +func (m *Release) GetAnnotations() map[string]string { + if m != nil { + return m.Annotations + } + return nil +} + func init() { proto.RegisterType((*Release)(nil), "hapi.release.Release") } @@ -105,21 +115,26 @@ func init() { func init() { proto.RegisterFile("hapi/release/release.proto", fileDescriptor2) } var fileDescriptor2 = []byte{ - // 256 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xbf, 0x4e, 0xc3, 0x40, - 0x0c, 0xc6, 0x95, 0x36, 0x7f, 0x1a, 0xc3, 0x82, 0x07, 0xb0, 0x22, 0x86, 0x88, 0x01, 0x22, 0x86, - 0x54, 0x82, 0x37, 0x80, 0x05, 0xd6, 0x1b, 0xd9, 0x8e, 0xe8, 0x42, 0x4e, 0xa5, 0xe7, 0x28, 0x17, - 0xf1, 0x2c, 0x3c, 0x2e, 0xba, 0x3f, 0x85, 0x94, 0x2e, 0x4e, 0xec, 0xdf, 0xa7, 0xcf, 0xdf, 0x19, - 0xaa, 0x41, 0x8e, 0x7a, 0x3b, 0xa9, 0x4f, 0x25, 0xad, 0x3a, 0x7c, 0xdb, 0x71, 0xe2, 0x99, 0xf1, - 0xdc, 0xb1, 0x36, 0xce, 0xaa, 0xab, 0x23, 0xe5, 0xc0, 0xbc, 0x0b, 0xb2, 0x7f, 0x40, 0x9b, 0x9e, - 0x8f, 0x40, 0x37, 0xc8, 0x69, 0xde, 0x76, 0x6c, 0x7a, 0xfd, 0x11, 0xc1, 0xe5, 0x12, 0xb8, 0x1a, - 0xe6, 0x37, 0xdf, 0x2b, 0x28, 0x44, 0xf0, 0x41, 0x84, 0xd4, 0xc8, 0xbd, 0xa2, 0xa4, 0x4e, 0x9a, - 0x52, 0xf8, 0x7f, 0xbc, 0x85, 0xd4, 0xd9, 0xd3, 0xaa, 0x4e, 0x9a, 0xb3, 0x07, 0x6c, 0x97, 0xf9, - 0xda, 0x57, 0xd3, 0xb3, 0xf0, 0x1c, 0xef, 0x20, 0xf3, 0xb6, 0xb4, 0xf6, 0xc2, 0x8b, 0x20, 0x0c, - 0x9b, 0x9e, 0x5d, 0x15, 0x81, 0xe3, 0x3d, 0xe4, 0x21, 0x18, 0xa5, 0x4b, 0xcb, 0xa8, 0xf4, 0x44, - 0x44, 0x05, 0x56, 0xb0, 0xd9, 0x4b, 0xa3, 0x7b, 0x65, 0x67, 0xca, 0x7c, 0xa8, 0xdf, 0x1e, 0x1b, - 0xc8, 0xdc, 0x41, 0x2c, 0xe5, 0xf5, 0xfa, 0x34, 0xd9, 0x0b, 0xf3, 0x4e, 0x04, 0x01, 0x12, 0x14, - 0x5f, 0x6a, 0xb2, 0x9a, 0x0d, 0x15, 0x75, 0xd2, 0x64, 0xe2, 0xd0, 0xe2, 0x35, 0x94, 0xee, 0x91, - 0x76, 0x94, 0x9d, 0xa2, 0x8d, 0x5f, 0xf0, 0x37, 0x78, 0x2a, 0xdf, 0x8a, 0x68, 0xf7, 0x9e, 0xfb, - 0x63, 0x3d, 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x8f, 0xec, 0x97, 0xbb, 0x01, 0x00, 0x00, + // 322 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x4f, 0x4f, 0xf2, 0x40, + 0x10, 0xc6, 0x53, 0x4a, 0x29, 0x1d, 0xde, 0x03, 0xef, 0xc4, 0xe8, 0xa6, 0xf1, 0xd0, 0x78, 0xc0, + 0xc6, 0x43, 0x49, 0xf4, 0x62, 0x3c, 0x98, 0xa8, 0x31, 0xc1, 0xeb, 0x1e, 0xbd, 0xad, 0x64, 0x2b, + 0x0d, 0xb0, 0x43, 0xba, 0x2b, 0x09, 0x5f, 0xc7, 0x4f, 0x6a, 0xf6, 0x0f, 0x52, 0xf0, 0xb2, 0xdd, + 0x99, 0xe7, 0xd7, 0x79, 0xa6, 0x4f, 0x21, 0x5f, 0x88, 0x4d, 0x33, 0x6d, 0xe5, 0x4a, 0x0a, 0x2d, + 0xf7, 0xcf, 0x6a, 0xd3, 0x92, 0x21, 0xfc, 0x67, 0xb5, 0x2a, 0xf4, 0xf2, 0x8b, 0x23, 0x72, 0x41, + 0xb4, 0xf4, 0xd8, 0x89, 0xd0, 0xa8, 0x9a, 0x8e, 0x84, 0xf9, 0x42, 0xb4, 0x66, 0x3a, 0x27, 0x55, + 0x37, 0x9f, 0x41, 0x38, 0xef, 0x0a, 0xf6, 0xf4, 0xfd, 0xab, 0xef, 0x18, 0x52, 0xee, 0xe7, 0x20, + 0x42, 0x5f, 0x89, 0xb5, 0x64, 0x51, 0x11, 0x95, 0x19, 0x77, 0x77, 0x9c, 0x40, 0xdf, 0x8e, 0x67, + 0xbd, 0x22, 0x2a, 0x47, 0xb7, 0x58, 0x75, 0xf7, 0xab, 0xde, 0x54, 0x4d, 0xdc, 0xe9, 0x78, 0x0d, + 0x89, 0x1b, 0xcb, 0x62, 0x07, 0xfe, 0xf7, 0xa0, 0x77, 0x7a, 0xb1, 0x27, 0xf7, 0x3a, 0xde, 0xc0, + 0xc0, 0x2f, 0xc6, 0xfa, 0xdd, 0x91, 0x81, 0x74, 0x0a, 0x0f, 0x04, 0xe6, 0x30, 0x5c, 0x0b, 0xd5, + 0xd4, 0x52, 0x1b, 0x96, 0xb8, 0xa5, 0x7e, 0x6b, 0x2c, 0x21, 0xb1, 0x81, 0x68, 0x36, 0x28, 0xe2, + 0xbf, 0x9b, 0xcd, 0x88, 0x96, 0xdc, 0x03, 0xc8, 0x20, 0xdd, 0xca, 0x56, 0x37, 0xa4, 0x58, 0x5a, + 0x44, 0x65, 0xc2, 0xf7, 0x25, 0x5e, 0x42, 0x66, 0x3f, 0x52, 0x6f, 0xc4, 0x5c, 0xb2, 0xa1, 0x33, + 0x38, 0x34, 0x70, 0x06, 0x23, 0xa1, 0x14, 0x19, 0x61, 0x1a, 0x52, 0x9a, 0x65, 0xce, 0x67, 0x72, + 0xec, 0x13, 0xa2, 0xab, 0x9e, 0x0e, 0xe0, 0xab, 0x32, 0xed, 0x8e, 0x77, 0x5f, 0xcd, 0x1f, 0x61, + 0x7c, 0x0a, 0xe0, 0x18, 0xe2, 0xa5, 0xdc, 0x85, 0xac, 0xed, 0x15, 0xcf, 0x20, 0xd9, 0x8a, 0xd5, + 0x97, 0x74, 0x59, 0x67, 0xdc, 0x17, 0x0f, 0xbd, 0xfb, 0xe8, 0x39, 0x7b, 0x4f, 0x83, 0xe1, 0xc7, + 0xc0, 0xfd, 0xb6, 0xbb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x29, 0xd2, 0x2f, 0x45, 0x02, + 0x00, 0x00, } diff --git a/pkg/proto/hapi/services/tiller.pb.go b/pkg/proto/hapi/services/tiller.pb.go index d629320c5..f4d6349a0 100644 --- a/pkg/proto/hapi/services/tiller.pb.go +++ b/pkg/proto/hapi/services/tiller.pb.go @@ -377,6 +377,9 @@ type UpdateReleaseRequest struct { ReuseValues bool `protobuf:"varint,10,opt,name=reuse_values,json=reuseValues" json:"reuse_values,omitempty"` // Force resource update through delete/recreate if needed. Force bool `protobuf:"varint,11,opt,name=force" json:"force,omitempty"` + // Annotations is an unstructured key value map stored with a release that + // may be set by external tools to store and retrieve arbitrary metadata. + Annotations map[string]string `protobuf:"bytes,12,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *UpdateReleaseRequest) Reset() { *m = UpdateReleaseRequest{} } @@ -461,6 +464,13 @@ func (m *UpdateReleaseRequest) GetForce() bool { return false } +func (m *UpdateReleaseRequest) GetAnnotations() map[string]string { + if m != nil { + return m.Annotations + } + return nil +} + // UpdateReleaseResponse is the response to an update request. type UpdateReleaseResponse struct { Release *hapi_release5.Release `protobuf:"bytes,1,opt,name=release" json:"release,omitempty"` @@ -601,6 +611,9 @@ type InstallReleaseRequest struct { // wait, if true, will wait until all Pods, PVCs, and Services are in a ready state // before marking the release as successful. It will wait for as long as timeout Wait bool `protobuf:"varint,9,opt,name=wait" json:"wait,omitempty"` + // Annotations is an unstructured key value map stored with a release that + // may be set by external tools to store and retrieve arbitrary metadata. + Annotations map[string]string `protobuf:"bytes,10,rep,name=annotations" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` } func (m *InstallReleaseRequest) Reset() { *m = InstallReleaseRequest{} } @@ -671,6 +684,13 @@ func (m *InstallReleaseRequest) GetWait() bool { return false } +func (m *InstallReleaseRequest) GetAnnotations() map[string]string { + if m != nil { + return m.Annotations + } + return nil +} + // InstallReleaseResponse is the response from a release installation. type InstallReleaseResponse struct { Release *hapi_release5.Release `protobuf:"bytes,1,opt,name=release" json:"release,omitempty"` @@ -1369,82 +1389,86 @@ var _ReleaseService_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("hapi/services/tiller.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 1217 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xdd, 0x6e, 0xe3, 0xc4, - 0x17, 0xaf, 0xf3, 0x9d, 0x93, 0x36, 0xff, 0x74, 0x9a, 0xb6, 0xae, 0xff, 0x0b, 0x2a, 0x46, 0xb0, - 0xd9, 0x85, 0x4d, 0x21, 0x70, 0x83, 0x84, 0x90, 0xba, 0xdd, 0xa8, 0x2d, 0x94, 0xae, 0xe4, 0x6c, - 0x17, 0x09, 0x01, 0x91, 0x9b, 0x4c, 0x5a, 0xb3, 0x8e, 0x27, 0x78, 0xc6, 0x65, 0x7b, 0xcb, 0x1d, - 0x8f, 0xc2, 0x5b, 0xf0, 0x1e, 0x5c, 0xc2, 0x83, 0x20, 0xcf, 0x87, 0xeb, 0x49, 0xed, 0xd6, 0xf4, - 0x26, 0x9e, 0x99, 0xf3, 0xfd, 0x3b, 0x67, 0xce, 0x9c, 0x80, 0x75, 0xe9, 0x2e, 0xbc, 0x3d, 0x8a, - 0xc3, 0x2b, 0x6f, 0x82, 0xe9, 0x1e, 0xf3, 0x7c, 0x1f, 0x87, 0xfd, 0x45, 0x48, 0x18, 0x41, 0xdd, - 0x98, 0xd6, 0x57, 0xb4, 0xbe, 0xa0, 0x59, 0x5b, 0x5c, 0x62, 0x72, 0xe9, 0x86, 0x4c, 0xfc, 0x0a, - 0x6e, 0x6b, 0x3b, 0x7d, 0x4e, 0x82, 0x99, 0x77, 0x21, 0x09, 0xc2, 0x44, 0x88, 0x7d, 0xec, 0x52, - 0xac, 0xbe, 0x9a, 0x90, 0xa2, 0x79, 0xc1, 0x8c, 0x48, 0xc2, 0xff, 0x35, 0x02, 0xc3, 0x94, 0x8d, - 0xc3, 0x28, 0x90, 0xc4, 0x1d, 0x8d, 0x48, 0x99, 0xcb, 0x22, 0xaa, 0x19, 0xbb, 0xc2, 0x21, 0xf5, - 0x48, 0xa0, 0xbe, 0x82, 0x66, 0xff, 0x59, 0x82, 0x8d, 0x13, 0x8f, 0x32, 0x47, 0x08, 0x52, 0x07, - 0xff, 0x12, 0x61, 0xca, 0x50, 0x17, 0xaa, 0xbe, 0x37, 0xf7, 0x98, 0x69, 0xec, 0x1a, 0xbd, 0xb2, - 0x23, 0x36, 0x68, 0x0b, 0x6a, 0x64, 0x36, 0xa3, 0x98, 0x99, 0xa5, 0x5d, 0xa3, 0xd7, 0x74, 0xe4, - 0x0e, 0x7d, 0x05, 0x75, 0x4a, 0x42, 0x36, 0x3e, 0xbf, 0x36, 0xcb, 0xbb, 0x46, 0xaf, 0x3d, 0xf8, - 0xa0, 0x9f, 0x85, 0x53, 0x3f, 0xb6, 0x34, 0x22, 0x21, 0xeb, 0xc7, 0x3f, 0xcf, 0xaf, 0x9d, 0x1a, - 0xe5, 0xdf, 0x58, 0xef, 0xcc, 0xf3, 0x19, 0x0e, 0xcd, 0x8a, 0xd0, 0x2b, 0x76, 0xe8, 0x10, 0x80, - 0xeb, 0x25, 0xe1, 0x14, 0x87, 0x66, 0x95, 0xab, 0xee, 0x15, 0x50, 0xfd, 0x32, 0xe6, 0x77, 0x9a, - 0x54, 0x2d, 0xd1, 0x97, 0xb0, 0x2a, 0x20, 0x19, 0x4f, 0xc8, 0x14, 0x53, 0xb3, 0xb6, 0x5b, 0xee, - 0xb5, 0x07, 0x3b, 0x42, 0x95, 0x82, 0x7f, 0x24, 0x40, 0x3b, 0x20, 0x53, 0xec, 0xb4, 0x04, 0x7b, - 0xbc, 0xa6, 0xe8, 0x11, 0x34, 0x03, 0x77, 0x8e, 0xe9, 0xc2, 0x9d, 0x60, 0xb3, 0xce, 0x3d, 0xbc, - 0x39, 0xb0, 0x7f, 0x82, 0x86, 0x32, 0x6e, 0x0f, 0xa0, 0x26, 0x42, 0x43, 0x2d, 0xa8, 0x9f, 0x9d, - 0x7e, 0x73, 0xfa, 0xf2, 0xbb, 0xd3, 0xce, 0x0a, 0x6a, 0x40, 0xe5, 0x74, 0xff, 0xdb, 0x61, 0xc7, - 0x40, 0xeb, 0xb0, 0x76, 0xb2, 0x3f, 0x7a, 0x35, 0x76, 0x86, 0x27, 0xc3, 0xfd, 0xd1, 0xf0, 0x45, - 0xa7, 0x64, 0xbf, 0x0b, 0xcd, 0xc4, 0x67, 0x54, 0x87, 0xf2, 0xfe, 0xe8, 0x40, 0x88, 0xbc, 0x18, - 0x8e, 0x0e, 0x3a, 0x86, 0xfd, 0xbb, 0x01, 0x5d, 0x3d, 0x45, 0x74, 0x41, 0x02, 0x8a, 0xe3, 0x1c, - 0x4d, 0x48, 0x14, 0x24, 0x39, 0xe2, 0x1b, 0x84, 0xa0, 0x12, 0xe0, 0xb7, 0x2a, 0x43, 0x7c, 0x1d, - 0x73, 0x32, 0xc2, 0x5c, 0x9f, 0x67, 0xa7, 0xec, 0x88, 0x0d, 0xfa, 0x14, 0x1a, 0x32, 0x74, 0x6a, - 0x56, 0x76, 0xcb, 0xbd, 0xd6, 0x60, 0x53, 0x07, 0x44, 0x5a, 0x74, 0x12, 0x36, 0xfb, 0x10, 0xb6, - 0x0f, 0xb1, 0xf2, 0x44, 0xe0, 0xa5, 0x2a, 0x26, 0xb6, 0xeb, 0xce, 0x31, 0x77, 0x26, 0xb6, 0xeb, - 0xce, 0x31, 0x32, 0xa1, 0x2e, 0xcb, 0x8d, 0xbb, 0x53, 0x75, 0xd4, 0xd6, 0x66, 0x60, 0xde, 0x56, - 0x24, 0xe3, 0xca, 0xd2, 0xf4, 0x21, 0x54, 0xe2, 0x9b, 0xc0, 0xd5, 0xb4, 0x06, 0x48, 0xf7, 0xf3, - 0x38, 0x98, 0x11, 0x87, 0xd3, 0xf5, 0x54, 0x95, 0x97, 0x53, 0x75, 0x94, 0xb6, 0x7a, 0x40, 0x02, - 0x86, 0x03, 0xf6, 0x30, 0xff, 0x4f, 0x60, 0x27, 0x43, 0x93, 0x0c, 0x60, 0x0f, 0xea, 0xd2, 0x35, - 0xae, 0x2d, 0x17, 0x57, 0xc5, 0x65, 0xff, 0x5d, 0x82, 0xee, 0xd9, 0x62, 0xea, 0x32, 0xac, 0x48, - 0x77, 0x38, 0xf5, 0x18, 0xaa, 0xbc, 0xa3, 0x48, 0x2c, 0xd6, 0x85, 0x6e, 0xd1, 0x76, 0x0e, 0xe2, - 0x5f, 0x47, 0xd0, 0xd1, 0x53, 0xa8, 0x5d, 0xb9, 0x7e, 0x84, 0x29, 0x07, 0x22, 0x41, 0x4d, 0x72, - 0xf2, 0x76, 0xe4, 0x48, 0x0e, 0xb4, 0x0d, 0xf5, 0x69, 0x78, 0x1d, 0xf7, 0x13, 0x7e, 0x05, 0x1b, - 0x4e, 0x6d, 0x1a, 0x5e, 0x3b, 0x51, 0x80, 0xde, 0x87, 0xb5, 0xa9, 0x47, 0xdd, 0x73, 0x1f, 0x8f, - 0x2f, 0x09, 0x79, 0x43, 0xf9, 0x2d, 0x6c, 0x38, 0xab, 0xf2, 0xf0, 0x28, 0x3e, 0x43, 0x56, 0x5c, - 0x49, 0x93, 0x10, 0xbb, 0x0c, 0x9b, 0x35, 0x4e, 0x4f, 0xf6, 0x31, 0x86, 0xcc, 0x9b, 0x63, 0x12, - 0x31, 0x7e, 0x75, 0xca, 0x8e, 0xda, 0xa2, 0xf7, 0x60, 0x35, 0xc4, 0x14, 0xb3, 0xb1, 0xf4, 0xb2, - 0xc1, 0x25, 0x5b, 0xfc, 0xec, 0xb5, 0x70, 0x0b, 0x41, 0xe5, 0x57, 0xd7, 0x63, 0x66, 0x93, 0x93, - 0xf8, 0x5a, 0x88, 0x45, 0x14, 0x2b, 0x31, 0x50, 0x62, 0x11, 0xc5, 0x52, 0xac, 0x0b, 0xd5, 0x19, - 0x09, 0x27, 0xd8, 0x6c, 0x71, 0x9a, 0xd8, 0xd8, 0x47, 0xb0, 0xb9, 0x04, 0xf2, 0x43, 0xf3, 0xf5, - 0x8f, 0x01, 0x5b, 0x0e, 0xf1, 0xfd, 0x73, 0x77, 0xf2, 0xa6, 0x40, 0xc6, 0x52, 0xe0, 0x96, 0xee, - 0x06, 0xb7, 0x9c, 0x01, 0x6e, 0xaa, 0x08, 0x2b, 0x5a, 0x11, 0x6a, 0xb0, 0x57, 0xf3, 0x61, 0xaf, - 0xe9, 0xb0, 0x2b, 0x4c, 0xeb, 0x29, 0x4c, 0x13, 0xc0, 0x1a, 0x69, 0xc0, 0xbe, 0x86, 0xed, 0x5b, - 0x51, 0x3e, 0x14, 0xb2, 0x3f, 0x4a, 0xb0, 0x79, 0x1c, 0x50, 0xe6, 0xfa, 0xfe, 0x12, 0x62, 0x49, - 0x3d, 0x1b, 0x85, 0xeb, 0xb9, 0xf4, 0x5f, 0xea, 0xb9, 0xac, 0x41, 0xae, 0xf2, 0x53, 0x49, 0xe5, - 0xa7, 0x50, 0x8d, 0x6b, 0x9d, 0xa5, 0xb6, 0xd4, 0x59, 0xd0, 0x3b, 0x00, 0xa2, 0x28, 0xb9, 0x72, - 0x01, 0x6d, 0x93, 0x9f, 0x9c, 0xca, 0x46, 0xa2, 0xb2, 0xd1, 0xc8, 0xce, 0x46, 0xaa, 0xc2, 0xed, - 0x63, 0xd8, 0x5a, 0x86, 0xea, 0xa1, 0xb0, 0xff, 0x66, 0xc0, 0xf6, 0x59, 0xe0, 0x65, 0x02, 0x9f, - 0x55, 0xaa, 0xb7, 0xa0, 0x28, 0x65, 0x40, 0xd1, 0x85, 0xea, 0x22, 0x0a, 0x2f, 0xb0, 0x84, 0x56, - 0x6c, 0xd2, 0x31, 0x56, 0xb4, 0x18, 0xed, 0x31, 0x98, 0xb7, 0x7d, 0x78, 0x60, 0x44, 0xb1, 0xd7, - 0xc9, 0x4b, 0xd0, 0x14, 0x5d, 0xdf, 0xde, 0x80, 0xf5, 0x43, 0xcc, 0x5e, 0x8b, 0x6b, 0x21, 0xc3, - 0xb3, 0x87, 0x80, 0xd2, 0x87, 0x37, 0xf6, 0xe4, 0x91, 0x6e, 0x4f, 0x8d, 0x45, 0x8a, 0x5f, 0x71, - 0xd9, 0x5f, 0x70, 0xdd, 0x47, 0x1e, 0x65, 0x24, 0xbc, 0xbe, 0x0b, 0xba, 0x0e, 0x94, 0xe7, 0xee, - 0x5b, 0xf9, 0x50, 0xc4, 0x4b, 0xfb, 0x90, 0x7b, 0x90, 0x88, 0x4a, 0x0f, 0xd2, 0xcf, 0xae, 0x51, - 0xec, 0xd9, 0xfd, 0x01, 0xd0, 0x2b, 0x9c, 0x4c, 0x00, 0xf7, 0xbc, 0x58, 0x2a, 0x09, 0x25, 0xbd, - 0xd0, 0x4c, 0xa8, 0x4f, 0x7c, 0xec, 0x06, 0xd1, 0x42, 0xa6, 0x4d, 0x6d, 0xed, 0x1f, 0x61, 0x43, - 0xd3, 0x2e, 0xfd, 0x8c, 0xe3, 0xa1, 0x17, 0x52, 0x7b, 0xbc, 0x44, 0x9f, 0x43, 0x4d, 0x8c, 0x45, - 0x5c, 0x77, 0x7b, 0xf0, 0x48, 0xf7, 0x9b, 0x2b, 0x89, 0x02, 0x39, 0x47, 0x39, 0x92, 0x77, 0xf0, - 0x57, 0x03, 0xda, 0xea, 0xa1, 0x17, 0x43, 0x1b, 0xf2, 0x60, 0x35, 0x3d, 0xd1, 0xa0, 0x27, 0xf9, - 0x33, 0xdd, 0xd2, 0x60, 0x6a, 0x3d, 0x2d, 0xc2, 0x2a, 0x22, 0xb0, 0x57, 0x3e, 0x31, 0x10, 0x85, - 0xce, 0xf2, 0xa0, 0x81, 0x9e, 0x65, 0xeb, 0xc8, 0x99, 0x6c, 0xac, 0x7e, 0x51, 0x76, 0x65, 0x16, - 0x5d, 0xf1, 0x9a, 0xd1, 0xa7, 0x03, 0x74, 0xaf, 0x1a, 0x7d, 0x20, 0xb1, 0xf6, 0x0a, 0xf3, 0x27, - 0x76, 0x7f, 0x86, 0x35, 0xed, 0x85, 0x43, 0x39, 0x68, 0x65, 0xcd, 0x1a, 0xd6, 0x47, 0x85, 0x78, - 0x13, 0x5b, 0x73, 0x68, 0xeb, 0x4d, 0x0a, 0xe5, 0x28, 0xc8, 0xec, 0xfa, 0xd6, 0xc7, 0xc5, 0x98, - 0x13, 0x73, 0x14, 0x3a, 0xcb, 0x3d, 0x24, 0x2f, 0x8f, 0x39, 0xfd, 0x2e, 0x2f, 0x8f, 0x79, 0xad, - 0xc9, 0x5e, 0x41, 0x2e, 0xc0, 0x4d, 0x0b, 0x41, 0x8f, 0x73, 0x13, 0xa2, 0x77, 0x1e, 0xab, 0x77, - 0x3f, 0x63, 0x62, 0x62, 0x01, 0xff, 0x5b, 0x7a, 0x63, 0x51, 0x0e, 0x34, 0xd9, 0x03, 0x87, 0xf5, - 0xac, 0x20, 0xf7, 0x52, 0x50, 0xb2, 0x2b, 0xdd, 0x11, 0x94, 0xde, 0xf2, 0xee, 0x08, 0x6a, 0xa9, - 0xc1, 0xd9, 0x2b, 0xc8, 0x83, 0xb6, 0x13, 0x05, 0xd2, 0x74, 0xdc, 0x16, 0x50, 0x8e, 0xf4, 0xed, - 0xae, 0x66, 0x3d, 0x29, 0xc0, 0x79, 0x73, 0xbf, 0x9f, 0xc3, 0xf7, 0x0d, 0xc5, 0x7a, 0x5e, 0xe3, - 0xff, 0x69, 0x3f, 0xfb, 0x37, 0x00, 0x00, 0xff, 0xff, 0xf3, 0x7c, 0x9c, 0x49, 0xc1, 0x0f, 0x00, - 0x00, + // 1292 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x5b, 0x73, 0xdb, 0x44, + 0x14, 0x8e, 0x2c, 0x5f, 0x8f, 0xd3, 0xe0, 0x6e, 0xdd, 0x44, 0x15, 0x85, 0x09, 0x62, 0xa0, 0x6e, + 0x4b, 0x1d, 0x30, 0x3c, 0x70, 0xe9, 0x74, 0x26, 0x4d, 0x3d, 0x49, 0x21, 0xa4, 0x33, 0x72, 0x5b, + 0x66, 0x18, 0x5a, 0x8f, 0x62, 0xaf, 0x53, 0x51, 0x59, 0x6b, 0xb4, 0xab, 0x50, 0xbf, 0xf2, 0xc6, + 0xbf, 0xe2, 0x95, 0xdf, 0xc0, 0x2b, 0x3f, 0x84, 0xd1, 0x5e, 0x14, 0xad, 0x22, 0xa7, 0x6a, 0x66, + 0x78, 0xb1, 0xb4, 0x7b, 0xee, 0xe7, 0x3b, 0xe7, 0xe8, 0x8c, 0xc1, 0x7e, 0xe5, 0x2d, 0xfc, 0x1d, + 0x8a, 0xa3, 0x53, 0x7f, 0x82, 0xe9, 0x0e, 0xf3, 0x83, 0x00, 0x47, 0xfd, 0x45, 0x44, 0x18, 0x41, + 0xdd, 0x84, 0xd6, 0x57, 0xb4, 0xbe, 0xa0, 0xd9, 0x9b, 0x5c, 0x62, 0xf2, 0xca, 0x8b, 0x98, 0xf8, + 0x15, 0xdc, 0xf6, 0x56, 0xf6, 0x9e, 0x84, 0x33, 0xff, 0x44, 0x12, 0x84, 0x89, 0x08, 0x07, 0xd8, + 0xa3, 0x58, 0x3d, 0x35, 0x21, 0x45, 0xf3, 0xc3, 0x19, 0x91, 0x84, 0xf7, 0x35, 0x02, 0xc3, 0x94, + 0x8d, 0xa3, 0x38, 0x94, 0xc4, 0x1b, 0x1a, 0x91, 0x32, 0x8f, 0xc5, 0x54, 0x33, 0x76, 0x8a, 0x23, + 0xea, 0x93, 0x50, 0x3d, 0x05, 0xcd, 0xf9, 0xab, 0x02, 0xd7, 0x0e, 0x7d, 0xca, 0x5c, 0x21, 0x48, + 0x5d, 0xfc, 0x5b, 0x8c, 0x29, 0x43, 0x5d, 0xa8, 0x05, 0xfe, 0xdc, 0x67, 0x96, 0xb1, 0x6d, 0xf4, + 0x4c, 0x57, 0x1c, 0xd0, 0x26, 0xd4, 0xc9, 0x6c, 0x46, 0x31, 0xb3, 0x2a, 0xdb, 0x46, 0xaf, 0xe5, + 0xca, 0x13, 0x7a, 0x00, 0x0d, 0x4a, 0x22, 0x36, 0x3e, 0x5e, 0x5a, 0xe6, 0xb6, 0xd1, 0xdb, 0x18, + 0x7c, 0xd2, 0x2f, 0xca, 0x53, 0x3f, 0xb1, 0x34, 0x22, 0x11, 0xeb, 0x27, 0x3f, 0x0f, 0x97, 0x6e, + 0x9d, 0xf2, 0x67, 0xa2, 0x77, 0xe6, 0x07, 0x0c, 0x47, 0x56, 0x55, 0xe8, 0x15, 0x27, 0xb4, 0x0f, + 0xc0, 0xf5, 0x92, 0x68, 0x8a, 0x23, 0xab, 0xc6, 0x55, 0xf7, 0x4a, 0xa8, 0x7e, 0x92, 0xf0, 0xbb, + 0x2d, 0xaa, 0x5e, 0xd1, 0x7d, 0x58, 0x17, 0x29, 0x19, 0x4f, 0xc8, 0x14, 0x53, 0xab, 0xbe, 0x6d, + 0xf6, 0x36, 0x06, 0x37, 0x84, 0x2a, 0x95, 0xfe, 0x91, 0x48, 0xda, 0x1e, 0x99, 0x62, 0xb7, 0x2d, + 0xd8, 0x93, 0x77, 0x8a, 0x6e, 0x42, 0x2b, 0xf4, 0xe6, 0x98, 0x2e, 0xbc, 0x09, 0xb6, 0x1a, 0xdc, + 0xc3, 0xb3, 0x0b, 0xe7, 0x25, 0x34, 0x95, 0x71, 0x67, 0x00, 0x75, 0x11, 0x1a, 0x6a, 0x43, 0xe3, + 0xd9, 0xd1, 0x0f, 0x47, 0x4f, 0x7e, 0x3a, 0xea, 0xac, 0xa1, 0x26, 0x54, 0x8f, 0x76, 0x7f, 0x1c, + 0x76, 0x0c, 0x74, 0x15, 0xae, 0x1c, 0xee, 0x8e, 0x9e, 0x8e, 0xdd, 0xe1, 0xe1, 0x70, 0x77, 0x34, + 0x7c, 0xd4, 0xa9, 0x38, 0x1f, 0x42, 0x2b, 0xf5, 0x19, 0x35, 0xc0, 0xdc, 0x1d, 0xed, 0x09, 0x91, + 0x47, 0xc3, 0xd1, 0x5e, 0xc7, 0x70, 0xfe, 0x34, 0xa0, 0xab, 0x43, 0x44, 0x17, 0x24, 0xa4, 0x38, + 0xc1, 0x68, 0x42, 0xe2, 0x30, 0xc5, 0x88, 0x1f, 0x10, 0x82, 0x6a, 0x88, 0xdf, 0x28, 0x84, 0xf8, + 0x7b, 0xc2, 0xc9, 0x08, 0xf3, 0x02, 0x8e, 0x8e, 0xe9, 0x8a, 0x03, 0xfa, 0x02, 0x9a, 0x32, 0x74, + 0x6a, 0x55, 0xb7, 0xcd, 0x5e, 0x7b, 0x70, 0x5d, 0x4f, 0x88, 0xb4, 0xe8, 0xa6, 0x6c, 0xce, 0x3e, + 0x6c, 0xed, 0x63, 0xe5, 0x89, 0xc8, 0x97, 0xaa, 0x98, 0xc4, 0xae, 0x37, 0xc7, 0xdc, 0x99, 0xc4, + 0xae, 0x37, 0xc7, 0xc8, 0x82, 0x86, 0x2c, 0x37, 0xee, 0x4e, 0xcd, 0x55, 0x47, 0x87, 0x81, 0x75, + 0x5e, 0x91, 0x8c, 0xab, 0x48, 0xd3, 0xa7, 0x50, 0x4d, 0x3a, 0x81, 0xab, 0x69, 0x0f, 0x90, 0xee, + 0xe7, 0xe3, 0x70, 0x46, 0x5c, 0x4e, 0xd7, 0xa1, 0x32, 0xf3, 0x50, 0x1d, 0x64, 0xad, 0xee, 0x91, + 0x90, 0xe1, 0x90, 0x5d, 0xce, 0xff, 0x43, 0xb8, 0x51, 0xa0, 0x49, 0x06, 0xb0, 0x03, 0x0d, 0xe9, + 0x1a, 0xd7, 0xb6, 0x32, 0xaf, 0x8a, 0xcb, 0xf9, 0xa3, 0x0a, 0xdd, 0x67, 0x8b, 0xa9, 0xc7, 0xb0, + 0x22, 0x5d, 0xe0, 0xd4, 0x2d, 0xa8, 0xf1, 0x89, 0x22, 0x73, 0x71, 0x55, 0xe8, 0x16, 0x63, 0x67, + 0x2f, 0xf9, 0x75, 0x05, 0x1d, 0xdd, 0x81, 0xfa, 0xa9, 0x17, 0xc4, 0x98, 0xf2, 0x44, 0xa4, 0x59, + 0x93, 0x9c, 0x7c, 0x1c, 0xb9, 0x92, 0x03, 0x6d, 0x41, 0x63, 0x1a, 0x2d, 0x93, 0x79, 0xc2, 0x5b, + 0xb0, 0xe9, 0xd6, 0xa7, 0xd1, 0xd2, 0x8d, 0x43, 0xf4, 0x31, 0x5c, 0x99, 0xfa, 0xd4, 0x3b, 0x0e, + 0xf0, 0xf8, 0x15, 0x21, 0xaf, 0x29, 0xef, 0xc2, 0xa6, 0xbb, 0x2e, 0x2f, 0x0f, 0x92, 0x3b, 0x64, + 0x27, 0x95, 0x34, 0x89, 0xb0, 0xc7, 0xb0, 0x55, 0xe7, 0xf4, 0xf4, 0x9c, 0xe4, 0x90, 0xf9, 0x73, + 0x4c, 0x62, 0xc6, 0x5b, 0xc7, 0x74, 0xd5, 0x11, 0x7d, 0x04, 0xeb, 0x11, 0xa6, 0x98, 0x8d, 0xa5, + 0x97, 0x4d, 0x2e, 0xd9, 0xe6, 0x77, 0xcf, 0x85, 0x5b, 0x08, 0xaa, 0xbf, 0x7b, 0x3e, 0xb3, 0x5a, + 0x9c, 0xc4, 0xdf, 0x85, 0x58, 0x4c, 0xb1, 0x12, 0x03, 0x25, 0x16, 0x53, 0x2c, 0xc5, 0xba, 0x50, + 0x9b, 0x91, 0x68, 0x82, 0xad, 0x36, 0xa7, 0x89, 0x03, 0x7a, 0x01, 0x6d, 0x2f, 0x0c, 0x09, 0xf3, + 0x98, 0x4f, 0x42, 0x6a, 0xad, 0xf3, 0x92, 0xff, 0xae, 0x78, 0x9c, 0x14, 0xa1, 0xd1, 0xdf, 0x3d, + 0x93, 0x1e, 0x86, 0x2c, 0x5a, 0xba, 0x59, 0x7d, 0xf6, 0x03, 0xe8, 0xe4, 0x19, 0x50, 0x07, 0xcc, + 0xd7, 0x78, 0x29, 0xe1, 0x4b, 0x5e, 0x13, 0xd7, 0xb8, 0xdf, 0xb2, 0x3f, 0xc5, 0xe1, 0xdb, 0xca, + 0xd7, 0x86, 0x73, 0x00, 0xd7, 0x73, 0x56, 0x2f, 0x5b, 0x4e, 0xff, 0x1a, 0xb0, 0xe9, 0x92, 0x20, + 0x38, 0xf6, 0x26, 0xaf, 0x4b, 0x14, 0x54, 0x06, 0xfb, 0xca, 0xc5, 0xd8, 0x9b, 0x05, 0xd8, 0x67, + 0x7a, 0xa4, 0xaa, 0xf5, 0x88, 0x56, 0x15, 0xb5, 0xd5, 0x55, 0x51, 0xd7, 0xab, 0x42, 0x41, 0xde, + 0xc8, 0x40, 0x9e, 0xe2, 0xd9, 0xcc, 0xe0, 0xe9, 0x7c, 0x0f, 0x5b, 0xe7, 0xa2, 0xbc, 0x6c, 0xca, + 0xfe, 0x36, 0xe1, 0xfa, 0xe3, 0x90, 0x32, 0x2f, 0x08, 0x72, 0x19, 0x4b, 0xdb, 0xcd, 0x28, 0xdd, + 0x6e, 0x95, 0x77, 0x69, 0x37, 0x53, 0x4b, 0xb9, 0xc2, 0xa7, 0x9a, 0xc1, 0xa7, 0x54, 0x0b, 0x6a, + 0x83, 0xaf, 0x9e, 0x1b, 0x7c, 0xe8, 0x03, 0x00, 0xd1, 0x33, 0x5c, 0xb9, 0x48, 0x6d, 0x8b, 0xdf, + 0x1c, 0xc9, 0x39, 0xa7, 0xd0, 0x68, 0x16, 0xa3, 0x91, 0x6d, 0xc0, 0x97, 0x7a, 0x1f, 0x01, 0xef, + 0xa3, 0xfb, 0xc5, 0x7d, 0x54, 0x98, 0xd3, 0xff, 0xb9, 0x91, 0x1e, 0xc3, 0x66, 0xde, 0xec, 0xa5, + 0x07, 0xb3, 0x01, 0x5b, 0xcf, 0x42, 0xbf, 0xb0, 0x30, 0x8a, 0x5a, 0xe9, 0x1c, 0x54, 0x95, 0x02, + 0xa8, 0xba, 0x50, 0x5b, 0xc4, 0xd1, 0x09, 0x96, 0xd0, 0x8b, 0x43, 0x16, 0x83, 0xaa, 0x86, 0x81, + 0x33, 0x06, 0xeb, 0xbc, 0x0f, 0x97, 0x8c, 0x28, 0xf1, 0x3a, 0xfd, 0x90, 0xb6, 0xc4, 0x47, 0xd3, + 0xb9, 0x06, 0x57, 0xf7, 0x31, 0x7b, 0x2e, 0xda, 0x56, 0x86, 0xe7, 0x0c, 0x01, 0x65, 0x2f, 0xcf, + 0xec, 0xc9, 0x2b, 0xdd, 0x9e, 0xda, 0x2a, 0x15, 0xbf, 0xe2, 0x72, 0xbe, 0xe1, 0xba, 0x0f, 0x7c, + 0xca, 0x48, 0xb4, 0xbc, 0x28, 0x75, 0x1d, 0x30, 0xe7, 0xde, 0x1b, 0xf9, 0x9d, 0x4d, 0x5e, 0x9d, + 0x7d, 0xee, 0x41, 0x2a, 0x2a, 0x3d, 0xc8, 0x6e, 0x2d, 0x46, 0xb9, 0xad, 0xe5, 0x17, 0x40, 0x4f, + 0x71, 0xba, 0x40, 0xbd, 0xe5, 0x83, 0xaf, 0x40, 0xa8, 0xe8, 0x8d, 0x60, 0x41, 0x63, 0x12, 0x60, + 0x2f, 0x8c, 0x17, 0x12, 0x36, 0x75, 0x74, 0x5e, 0xc0, 0x35, 0x4d, 0xbb, 0xf4, 0x33, 0x89, 0x87, + 0x9e, 0xa8, 0x8a, 0x9d, 0xd3, 0x13, 0xf4, 0x15, 0xd4, 0xc5, 0x56, 0xc9, 0x75, 0x6f, 0x0c, 0x6e, + 0xea, 0x7e, 0x73, 0x25, 0x71, 0x28, 0xd7, 0x50, 0x57, 0xf2, 0x0e, 0xfe, 0x69, 0xc2, 0x86, 0xda, + 0x93, 0x44, 0x73, 0x21, 0x1f, 0xd6, 0xb3, 0x0b, 0x21, 0xba, 0xbd, 0x7a, 0x25, 0xce, 0xed, 0xf5, + 0xf6, 0x9d, 0x32, 0xac, 0x22, 0x02, 0x67, 0xed, 0x73, 0x03, 0x51, 0xe8, 0xe4, 0xf7, 0x34, 0x74, + 0xaf, 0x58, 0xc7, 0x8a, 0xc5, 0xd0, 0xee, 0x97, 0x65, 0x57, 0x66, 0xd1, 0x29, 0xaf, 0x19, 0x7d, + 0xb9, 0x42, 0x6f, 0x55, 0xa3, 0xef, 0x73, 0xf6, 0x4e, 0x69, 0xfe, 0xd4, 0xee, 0xaf, 0x70, 0x45, + 0xfb, 0x02, 0xa3, 0x3b, 0xe5, 0x97, 0x03, 0xfb, 0x6e, 0x29, 0xde, 0xd4, 0xd6, 0x1c, 0x36, 0xf4, + 0x21, 0x85, 0xee, 0xbe, 0xc3, 0x04, 0xb5, 0x3f, 0x2b, 0xc7, 0x9c, 0x9a, 0xa3, 0xd0, 0xc9, 0xcf, + 0x90, 0x55, 0x38, 0xae, 0x98, 0x77, 0xab, 0x70, 0x5c, 0x35, 0x9a, 0x9c, 0x35, 0xe4, 0x01, 0x9c, + 0x8d, 0x10, 0x74, 0x6b, 0x25, 0x20, 0xfa, 0xe4, 0xb1, 0x7b, 0x6f, 0x67, 0x4c, 0x4d, 0x2c, 0xe0, + 0xbd, 0xdc, 0x0e, 0x80, 0x56, 0xa4, 0xa6, 0x78, 0x21, 0xb2, 0xef, 0x95, 0xe4, 0xce, 0x05, 0x25, + 0xa7, 0xd2, 0x05, 0x41, 0xe9, 0x23, 0xef, 0x82, 0xa0, 0x72, 0x03, 0xce, 0x59, 0x43, 0x3e, 0x6c, + 0xb8, 0x71, 0x28, 0x4d, 0x27, 0x63, 0x01, 0xad, 0x90, 0x3e, 0x3f, 0xd5, 0xec, 0xdb, 0x25, 0x38, + 0xcf, 0xfa, 0xfb, 0x21, 0xfc, 0xdc, 0x54, 0xac, 0xc7, 0x75, 0xfe, 0x97, 0xc0, 0x97, 0xff, 0x05, + 0x00, 0x00, 0xff, 0xff, 0xde, 0xd5, 0x38, 0x1a, 0x00, 0x11, 0x00, 0x00, }