blob: 586690522a49ece9ae8f5afc8d0422430939b426 [file] [log] [blame]
khenaidooefff76e2021-12-15 16:51:30 -05001// Protocol Buffers - Google's data interchange format
2// Copyright 2008 Google Inc. All rights reserved.
3// https://developers.google.com/protocol-buffers/
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are
7// met:
8//
9// * Redistributions of source code must retain the above copyright
10// notice, this list of conditions and the following disclaimer.
11// * Redistributions in binary form must reproduce the above
12// copyright notice, this list of conditions and the following disclaimer
13// in the documentation and/or other materials provided with the
14// distribution.
15// * Neither the name of Google Inc. nor the names of its
16// contributors may be used to endorse or promote products derived from
17// this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31// Code generated by protoc-gen-go. DO NOT EDIT.
32// source: google/protobuf/struct.proto
33
34// Package structpb contains generated types for google/protobuf/struct.proto.
35//
36// The messages (i.e., Value, Struct, and ListValue) defined in struct.proto are
37// used to represent arbitrary JSON. The Value message represents a JSON value,
38// the Struct message represents a JSON object, and the ListValue message
39// represents a JSON array. See https://json.org for more information.
40//
41// The Value, Struct, and ListValue types have generated MarshalJSON and
42// UnmarshalJSON methods such that they serialize JSON equivalent to what the
43// messages themselves represent. Use of these types with the
44// "google.golang.org/protobuf/encoding/protojson" package
45// ensures that they will be serialized as their JSON equivalent.
46//
47//
48// Conversion to and from a Go interface
49//
50// The standard Go "encoding/json" package has functionality to serialize
51// arbitrary types to a large degree. The Value.AsInterface, Struct.AsMap, and
52// ListValue.AsSlice methods can convert the protobuf message representation into
53// a form represented by interface{}, map[string]interface{}, and []interface{}.
54// This form can be used with other packages that operate on such data structures
55// and also directly with the standard json package.
56//
57// In order to convert the interface{}, map[string]interface{}, and []interface{}
58// forms back as Value, Struct, and ListValue messages, use the NewStruct,
59// NewList, and NewValue constructor functions.
60//
61//
62// Example usage
63//
64// Consider the following example JSON object:
65//
66// {
67// "firstName": "John",
68// "lastName": "Smith",
69// "isAlive": true,
70// "age": 27,
71// "address": {
72// "streetAddress": "21 2nd Street",
73// "city": "New York",
74// "state": "NY",
75// "postalCode": "10021-3100"
76// },
77// "phoneNumbers": [
78// {
79// "type": "home",
80// "number": "212 555-1234"
81// },
82// {
83// "type": "office",
84// "number": "646 555-4567"
85// }
86// ],
87// "children": [],
88// "spouse": null
89// }
90//
91// To construct a Value message representing the above JSON object:
92//
93// m, err := structpb.NewValue(map[string]interface{}{
94// "firstName": "John",
95// "lastName": "Smith",
96// "isAlive": true,
97// "age": 27,
98// "address": map[string]interface{}{
99// "streetAddress": "21 2nd Street",
100// "city": "New York",
101// "state": "NY",
102// "postalCode": "10021-3100",
103// },
104// "phoneNumbers": []interface{}{
105// map[string]interface{}{
106// "type": "home",
107// "number": "212 555-1234",
108// },
109// map[string]interface{}{
110// "type": "office",
111// "number": "646 555-4567",
112// },
113// },
114// "children": []interface{}{},
115// "spouse": nil,
116// })
117// if err != nil {
118// ... // handle error
119// }
120// ... // make use of m as a *structpb.Value
121//
122package structpb
123
124import (
125 base64 "encoding/base64"
126 protojson "google.golang.org/protobuf/encoding/protojson"
127 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
128 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
129 math "math"
130 reflect "reflect"
131 sync "sync"
132 utf8 "unicode/utf8"
133)
134
135// `NullValue` is a singleton enumeration to represent the null value for the
136// `Value` type union.
137//
138// The JSON representation for `NullValue` is JSON `null`.
139type NullValue int32
140
141const (
142 // Null value.
143 NullValue_NULL_VALUE NullValue = 0
144)
145
146// Enum value maps for NullValue.
147var (
148 NullValue_name = map[int32]string{
149 0: "NULL_VALUE",
150 }
151 NullValue_value = map[string]int32{
152 "NULL_VALUE": 0,
153 }
154)
155
156func (x NullValue) Enum() *NullValue {
157 p := new(NullValue)
158 *p = x
159 return p
160}
161
162func (x NullValue) String() string {
163 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
164}
165
166func (NullValue) Descriptor() protoreflect.EnumDescriptor {
167 return file_google_protobuf_struct_proto_enumTypes[0].Descriptor()
168}
169
170func (NullValue) Type() protoreflect.EnumType {
171 return &file_google_protobuf_struct_proto_enumTypes[0]
172}
173
174func (x NullValue) Number() protoreflect.EnumNumber {
175 return protoreflect.EnumNumber(x)
176}
177
178// Deprecated: Use NullValue.Descriptor instead.
179func (NullValue) EnumDescriptor() ([]byte, []int) {
180 return file_google_protobuf_struct_proto_rawDescGZIP(), []int{0}
181}
182
183// `Struct` represents a structured data value, consisting of fields
184// which map to dynamically typed values. In some languages, `Struct`
185// might be supported by a native representation. For example, in
186// scripting languages like JS a struct is represented as an
187// object. The details of that representation are described together
188// with the proto support for the language.
189//
190// The JSON representation for `Struct` is JSON object.
191type Struct struct {
192 state protoimpl.MessageState
193 sizeCache protoimpl.SizeCache
194 unknownFields protoimpl.UnknownFields
195
196 // Unordered map of dynamically typed values.
197 Fields map[string]*Value `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
198}
199
200// NewStruct constructs a Struct from a general-purpose Go map.
201// The map keys must be valid UTF-8.
202// The map values are converted using NewValue.
203func NewStruct(v map[string]interface{}) (*Struct, error) {
204 x := &Struct{Fields: make(map[string]*Value, len(v))}
205 for k, v := range v {
206 if !utf8.ValidString(k) {
207 return nil, protoimpl.X.NewError("invalid UTF-8 in string: %q", k)
208 }
209 var err error
210 x.Fields[k], err = NewValue(v)
211 if err != nil {
212 return nil, err
213 }
214 }
215 return x, nil
216}
217
218// AsMap converts x to a general-purpose Go map.
219// The map values are converted by calling Value.AsInterface.
220func (x *Struct) AsMap() map[string]interface{} {
221 vs := make(map[string]interface{})
222 for k, v := range x.GetFields() {
223 vs[k] = v.AsInterface()
224 }
225 return vs
226}
227
228func (x *Struct) MarshalJSON() ([]byte, error) {
229 return protojson.Marshal(x)
230}
231
232func (x *Struct) UnmarshalJSON(b []byte) error {
233 return protojson.Unmarshal(b, x)
234}
235
236func (x *Struct) Reset() {
237 *x = Struct{}
238 if protoimpl.UnsafeEnabled {
239 mi := &file_google_protobuf_struct_proto_msgTypes[0]
240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
241 ms.StoreMessageInfo(mi)
242 }
243}
244
245func (x *Struct) String() string {
246 return protoimpl.X.MessageStringOf(x)
247}
248
249func (*Struct) ProtoMessage() {}
250
251func (x *Struct) ProtoReflect() protoreflect.Message {
252 mi := &file_google_protobuf_struct_proto_msgTypes[0]
253 if protoimpl.UnsafeEnabled && x != nil {
254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
255 if ms.LoadMessageInfo() == nil {
256 ms.StoreMessageInfo(mi)
257 }
258 return ms
259 }
260 return mi.MessageOf(x)
261}
262
263// Deprecated: Use Struct.ProtoReflect.Descriptor instead.
264func (*Struct) Descriptor() ([]byte, []int) {
265 return file_google_protobuf_struct_proto_rawDescGZIP(), []int{0}
266}
267
268func (x *Struct) GetFields() map[string]*Value {
269 if x != nil {
270 return x.Fields
271 }
272 return nil
273}
274
275// `Value` represents a dynamically typed value which can be either
276// null, a number, a string, a boolean, a recursive struct value, or a
277// list of values. A producer of value is expected to set one of that
278// variants, absence of any variant indicates an error.
279//
280// The JSON representation for `Value` is JSON value.
281type Value struct {
282 state protoimpl.MessageState
283 sizeCache protoimpl.SizeCache
284 unknownFields protoimpl.UnknownFields
285
286 // The kind of value.
287 //
288 // Types that are assignable to Kind:
289 // *Value_NullValue
290 // *Value_NumberValue
291 // *Value_StringValue
292 // *Value_BoolValue
293 // *Value_StructValue
294 // *Value_ListValue
295 Kind isValue_Kind `protobuf_oneof:"kind"`
296}
297
298// NewValue constructs a Value from a general-purpose Go interface.
299//
300// ╔════════════════════════╤════════════════════════════════════════════╗
301// ║ Go type │ Conversion ║
302// ╠════════════════════════╪════════════════════════════════════════════╣
303// ║ nil │ stored as NullValue ║
304// ║ bool │ stored as BoolValue ║
305// ║ int, int32, int64 │ stored as NumberValue ║
306// ║ uint, uint32, uint64 │ stored as NumberValue ║
307// ║ float32, float64 │ stored as NumberValue ║
308// ║ string │ stored as StringValue; must be valid UTF-8 ║
309// ║ []byte │ stored as StringValue; base64-encoded ║
310// ║ map[string]interface{} │ stored as StructValue ║
311// ║ []interface{} │ stored as ListValue ║
312// ╚════════════════════════╧════════════════════════════════════════════╝
313//
314// When converting an int64 or uint64 to a NumberValue, numeric precision loss
315// is possible since they are stored as a float64.
316func NewValue(v interface{}) (*Value, error) {
317 switch v := v.(type) {
318 case nil:
319 return NewNullValue(), nil
320 case bool:
321 return NewBoolValue(v), nil
322 case int:
323 return NewNumberValue(float64(v)), nil
324 case int32:
325 return NewNumberValue(float64(v)), nil
326 case int64:
327 return NewNumberValue(float64(v)), nil
328 case uint:
329 return NewNumberValue(float64(v)), nil
330 case uint32:
331 return NewNumberValue(float64(v)), nil
332 case uint64:
333 return NewNumberValue(float64(v)), nil
334 case float32:
335 return NewNumberValue(float64(v)), nil
336 case float64:
337 return NewNumberValue(float64(v)), nil
338 case string:
339 if !utf8.ValidString(v) {
340 return nil, protoimpl.X.NewError("invalid UTF-8 in string: %q", v)
341 }
342 return NewStringValue(v), nil
343 case []byte:
344 s := base64.StdEncoding.EncodeToString(v)
345 return NewStringValue(s), nil
346 case map[string]interface{}:
347 v2, err := NewStruct(v)
348 if err != nil {
349 return nil, err
350 }
351 return NewStructValue(v2), nil
352 case []interface{}:
353 v2, err := NewList(v)
354 if err != nil {
355 return nil, err
356 }
357 return NewListValue(v2), nil
358 default:
359 return nil, protoimpl.X.NewError("invalid type: %T", v)
360 }
361}
362
363// NewNullValue constructs a new null Value.
364func NewNullValue() *Value {
365 return &Value{Kind: &Value_NullValue{NullValue: NullValue_NULL_VALUE}}
366}
367
368// NewBoolValue constructs a new boolean Value.
369func NewBoolValue(v bool) *Value {
370 return &Value{Kind: &Value_BoolValue{BoolValue: v}}
371}
372
373// NewNumberValue constructs a new number Value.
374func NewNumberValue(v float64) *Value {
375 return &Value{Kind: &Value_NumberValue{NumberValue: v}}
376}
377
378// NewStringValue constructs a new string Value.
379func NewStringValue(v string) *Value {
380 return &Value{Kind: &Value_StringValue{StringValue: v}}
381}
382
383// NewStructValue constructs a new struct Value.
384func NewStructValue(v *Struct) *Value {
385 return &Value{Kind: &Value_StructValue{StructValue: v}}
386}
387
388// NewListValue constructs a new list Value.
389func NewListValue(v *ListValue) *Value {
390 return &Value{Kind: &Value_ListValue{ListValue: v}}
391}
392
393// AsInterface converts x to a general-purpose Go interface.
394//
395// Calling Value.MarshalJSON and "encoding/json".Marshal on this output produce
396// semantically equivalent JSON (assuming no errors occur).
397//
398// Floating-point values (i.e., "NaN", "Infinity", and "-Infinity") are
399// converted as strings to remain compatible with MarshalJSON.
400func (x *Value) AsInterface() interface{} {
401 switch v := x.GetKind().(type) {
402 case *Value_NumberValue:
403 if v != nil {
404 switch {
405 case math.IsNaN(v.NumberValue):
406 return "NaN"
407 case math.IsInf(v.NumberValue, +1):
408 return "Infinity"
409 case math.IsInf(v.NumberValue, -1):
410 return "-Infinity"
411 default:
412 return v.NumberValue
413 }
414 }
415 case *Value_StringValue:
416 if v != nil {
417 return v.StringValue
418 }
419 case *Value_BoolValue:
420 if v != nil {
421 return v.BoolValue
422 }
423 case *Value_StructValue:
424 if v != nil {
425 return v.StructValue.AsMap()
426 }
427 case *Value_ListValue:
428 if v != nil {
429 return v.ListValue.AsSlice()
430 }
431 }
432 return nil
433}
434
435func (x *Value) MarshalJSON() ([]byte, error) {
436 return protojson.Marshal(x)
437}
438
439func (x *Value) UnmarshalJSON(b []byte) error {
440 return protojson.Unmarshal(b, x)
441}
442
443func (x *Value) Reset() {
444 *x = Value{}
445 if protoimpl.UnsafeEnabled {
446 mi := &file_google_protobuf_struct_proto_msgTypes[1]
447 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
448 ms.StoreMessageInfo(mi)
449 }
450}
451
452func (x *Value) String() string {
453 return protoimpl.X.MessageStringOf(x)
454}
455
456func (*Value) ProtoMessage() {}
457
458func (x *Value) ProtoReflect() protoreflect.Message {
459 mi := &file_google_protobuf_struct_proto_msgTypes[1]
460 if protoimpl.UnsafeEnabled && x != nil {
461 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
462 if ms.LoadMessageInfo() == nil {
463 ms.StoreMessageInfo(mi)
464 }
465 return ms
466 }
467 return mi.MessageOf(x)
468}
469
470// Deprecated: Use Value.ProtoReflect.Descriptor instead.
471func (*Value) Descriptor() ([]byte, []int) {
472 return file_google_protobuf_struct_proto_rawDescGZIP(), []int{1}
473}
474
475func (m *Value) GetKind() isValue_Kind {
476 if m != nil {
477 return m.Kind
478 }
479 return nil
480}
481
482func (x *Value) GetNullValue() NullValue {
483 if x, ok := x.GetKind().(*Value_NullValue); ok {
484 return x.NullValue
485 }
486 return NullValue_NULL_VALUE
487}
488
489func (x *Value) GetNumberValue() float64 {
490 if x, ok := x.GetKind().(*Value_NumberValue); ok {
491 return x.NumberValue
492 }
493 return 0
494}
495
496func (x *Value) GetStringValue() string {
497 if x, ok := x.GetKind().(*Value_StringValue); ok {
498 return x.StringValue
499 }
500 return ""
501}
502
503func (x *Value) GetBoolValue() bool {
504 if x, ok := x.GetKind().(*Value_BoolValue); ok {
505 return x.BoolValue
506 }
507 return false
508}
509
510func (x *Value) GetStructValue() *Struct {
511 if x, ok := x.GetKind().(*Value_StructValue); ok {
512 return x.StructValue
513 }
514 return nil
515}
516
517func (x *Value) GetListValue() *ListValue {
518 if x, ok := x.GetKind().(*Value_ListValue); ok {
519 return x.ListValue
520 }
521 return nil
522}
523
524type isValue_Kind interface {
525 isValue_Kind()
526}
527
528type Value_NullValue struct {
529 // Represents a null value.
530 NullValue NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
531}
532
533type Value_NumberValue struct {
534 // Represents a double value.
535 NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof"`
536}
537
538type Value_StringValue struct {
539 // Represents a string value.
540 StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
541}
542
543type Value_BoolValue struct {
544 // Represents a boolean value.
545 BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"`
546}
547
548type Value_StructValue struct {
549 // Represents a structured value.
550 StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"`
551}
552
553type Value_ListValue struct {
554 // Represents a repeated `Value`.
555 ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"`
556}
557
558func (*Value_NullValue) isValue_Kind() {}
559
560func (*Value_NumberValue) isValue_Kind() {}
561
562func (*Value_StringValue) isValue_Kind() {}
563
564func (*Value_BoolValue) isValue_Kind() {}
565
566func (*Value_StructValue) isValue_Kind() {}
567
568func (*Value_ListValue) isValue_Kind() {}
569
570// `ListValue` is a wrapper around a repeated field of values.
571//
572// The JSON representation for `ListValue` is JSON array.
573type ListValue struct {
574 state protoimpl.MessageState
575 sizeCache protoimpl.SizeCache
576 unknownFields protoimpl.UnknownFields
577
578 // Repeated field of dynamically typed values.
579 Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
580}
581
582// NewList constructs a ListValue from a general-purpose Go slice.
583// The slice elements are converted using NewValue.
584func NewList(v []interface{}) (*ListValue, error) {
585 x := &ListValue{Values: make([]*Value, len(v))}
586 for i, v := range v {
587 var err error
588 x.Values[i], err = NewValue(v)
589 if err != nil {
590 return nil, err
591 }
592 }
593 return x, nil
594}
595
596// AsSlice converts x to a general-purpose Go slice.
597// The slice elements are converted by calling Value.AsInterface.
598func (x *ListValue) AsSlice() []interface{} {
599 vs := make([]interface{}, len(x.GetValues()))
600 for i, v := range x.GetValues() {
601 vs[i] = v.AsInterface()
602 }
603 return vs
604}
605
606func (x *ListValue) MarshalJSON() ([]byte, error) {
607 return protojson.Marshal(x)
608}
609
610func (x *ListValue) UnmarshalJSON(b []byte) error {
611 return protojson.Unmarshal(b, x)
612}
613
614func (x *ListValue) Reset() {
615 *x = ListValue{}
616 if protoimpl.UnsafeEnabled {
617 mi := &file_google_protobuf_struct_proto_msgTypes[2]
618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
619 ms.StoreMessageInfo(mi)
620 }
621}
622
623func (x *ListValue) String() string {
624 return protoimpl.X.MessageStringOf(x)
625}
626
627func (*ListValue) ProtoMessage() {}
628
629func (x *ListValue) ProtoReflect() protoreflect.Message {
630 mi := &file_google_protobuf_struct_proto_msgTypes[2]
631 if protoimpl.UnsafeEnabled && x != nil {
632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
633 if ms.LoadMessageInfo() == nil {
634 ms.StoreMessageInfo(mi)
635 }
636 return ms
637 }
638 return mi.MessageOf(x)
639}
640
641// Deprecated: Use ListValue.ProtoReflect.Descriptor instead.
642func (*ListValue) Descriptor() ([]byte, []int) {
643 return file_google_protobuf_struct_proto_rawDescGZIP(), []int{2}
644}
645
646func (x *ListValue) GetValues() []*Value {
647 if x != nil {
648 return x.Values
649 }
650 return nil
651}
652
653var File_google_protobuf_struct_proto protoreflect.FileDescriptor
654
655var file_google_protobuf_struct_proto_rawDesc = []byte{
656 0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
657 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
658 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22,
659 0x98, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69,
660 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
661 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
662 0x75, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
663 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64,
664 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
665 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
666 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
667 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
668 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb2, 0x02, 0x0a, 0x05, 0x56,
669 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c,
670 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
671 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
672 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
673 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75,
674 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65,
675 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
676 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b,
677 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62,
678 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48,
679 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x0c,
680 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
681 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
682 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73,
683 0x74, 0x72, 0x75, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x69,
684 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
685 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
686 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69,
687 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22,
688 0x3b, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x06,
689 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
690 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56,
691 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0x1b, 0x0a, 0x09,
692 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c,
693 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x42, 0x7f, 0x0a, 0x13, 0x63, 0x6f, 0x6d,
694 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
695 0x42, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
696 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
697 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65,
698 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x70, 0x62,
699 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67,
700 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c,
701 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
702 0x6f, 0x33,
703}
704
705var (
706 file_google_protobuf_struct_proto_rawDescOnce sync.Once
707 file_google_protobuf_struct_proto_rawDescData = file_google_protobuf_struct_proto_rawDesc
708)
709
710func file_google_protobuf_struct_proto_rawDescGZIP() []byte {
711 file_google_protobuf_struct_proto_rawDescOnce.Do(func() {
712 file_google_protobuf_struct_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_struct_proto_rawDescData)
713 })
714 return file_google_protobuf_struct_proto_rawDescData
715}
716
717var file_google_protobuf_struct_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
718var file_google_protobuf_struct_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
719var file_google_protobuf_struct_proto_goTypes = []interface{}{
720 (NullValue)(0), // 0: google.protobuf.NullValue
721 (*Struct)(nil), // 1: google.protobuf.Struct
722 (*Value)(nil), // 2: google.protobuf.Value
723 (*ListValue)(nil), // 3: google.protobuf.ListValue
724 nil, // 4: google.protobuf.Struct.FieldsEntry
725}
726var file_google_protobuf_struct_proto_depIdxs = []int32{
727 4, // 0: google.protobuf.Struct.fields:type_name -> google.protobuf.Struct.FieldsEntry
728 0, // 1: google.protobuf.Value.null_value:type_name -> google.protobuf.NullValue
729 1, // 2: google.protobuf.Value.struct_value:type_name -> google.protobuf.Struct
730 3, // 3: google.protobuf.Value.list_value:type_name -> google.protobuf.ListValue
731 2, // 4: google.protobuf.ListValue.values:type_name -> google.protobuf.Value
732 2, // 5: google.protobuf.Struct.FieldsEntry.value:type_name -> google.protobuf.Value
733 6, // [6:6] is the sub-list for method output_type
734 6, // [6:6] is the sub-list for method input_type
735 6, // [6:6] is the sub-list for extension type_name
736 6, // [6:6] is the sub-list for extension extendee
737 0, // [0:6] is the sub-list for field type_name
738}
739
740func init() { file_google_protobuf_struct_proto_init() }
741func file_google_protobuf_struct_proto_init() {
742 if File_google_protobuf_struct_proto != nil {
743 return
744 }
745 if !protoimpl.UnsafeEnabled {
746 file_google_protobuf_struct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
747 switch v := v.(*Struct); i {
748 case 0:
749 return &v.state
750 case 1:
751 return &v.sizeCache
752 case 2:
753 return &v.unknownFields
754 default:
755 return nil
756 }
757 }
758 file_google_protobuf_struct_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
759 switch v := v.(*Value); i {
760 case 0:
761 return &v.state
762 case 1:
763 return &v.sizeCache
764 case 2:
765 return &v.unknownFields
766 default:
767 return nil
768 }
769 }
770 file_google_protobuf_struct_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
771 switch v := v.(*ListValue); i {
772 case 0:
773 return &v.state
774 case 1:
775 return &v.sizeCache
776 case 2:
777 return &v.unknownFields
778 default:
779 return nil
780 }
781 }
782 }
783 file_google_protobuf_struct_proto_msgTypes[1].OneofWrappers = []interface{}{
784 (*Value_NullValue)(nil),
785 (*Value_NumberValue)(nil),
786 (*Value_StringValue)(nil),
787 (*Value_BoolValue)(nil),
788 (*Value_StructValue)(nil),
789 (*Value_ListValue)(nil),
790 }
791 type x struct{}
792 out := protoimpl.TypeBuilder{
793 File: protoimpl.DescBuilder{
794 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
795 RawDescriptor: file_google_protobuf_struct_proto_rawDesc,
796 NumEnums: 1,
797 NumMessages: 4,
798 NumExtensions: 0,
799 NumServices: 0,
800 },
801 GoTypes: file_google_protobuf_struct_proto_goTypes,
802 DependencyIndexes: file_google_protobuf_struct_proto_depIdxs,
803 EnumInfos: file_google_protobuf_struct_proto_enumTypes,
804 MessageInfos: file_google_protobuf_struct_proto_msgTypes,
805 }.Build()
806 File_google_protobuf_struct_proto = out.File
807 file_google_protobuf_struct_proto_rawDesc = nil
808 file_google_protobuf_struct_proto_goTypes = nil
809 file_google_protobuf_struct_proto_depIdxs = nil
810}