forked from percona/pmm
/
add_external_responses.go
822 lines (661 loc) · 22.3 KB
/
add_external_responses.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
// Code generated by go-swagger; DO NOT EDIT.
package external
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"encoding/json"
"fmt"
"io"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/runtime"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
"github.com/go-openapi/validate"
)
// AddExternalReader is a Reader for the AddExternal structure.
type AddExternalReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
func (o *AddExternalReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
result := NewAddExternalOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
return result, nil
default:
result := NewAddExternalDefault(response.Code())
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
if response.Code()/100 == 2 {
return result, nil
}
return nil, result
}
}
// NewAddExternalOK creates a AddExternalOK with default headers values
func NewAddExternalOK() *AddExternalOK {
return &AddExternalOK{}
}
/*AddExternalOK handles this case with default header values.
A successful response.
*/
type AddExternalOK struct {
Payload *AddExternalOKBody
}
func (o *AddExternalOK) Error() string {
return fmt.Sprintf("[POST /v1/management/External/Add][%d] addExternalOk %+v", 200, o.Payload)
}
func (o *AddExternalOK) GetPayload() *AddExternalOKBody {
return o.Payload
}
func (o *AddExternalOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(AddExternalOKBody)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
// NewAddExternalDefault creates a AddExternalDefault with default headers values
func NewAddExternalDefault(code int) *AddExternalDefault {
return &AddExternalDefault{
_statusCode: code,
}
}
/*AddExternalDefault handles this case with default header values.
An unexpected error response.
*/
type AddExternalDefault struct {
_statusCode int
Payload *AddExternalDefaultBody
}
// Code gets the status code for the add external default response
func (o *AddExternalDefault) Code() int {
return o._statusCode
}
func (o *AddExternalDefault) Error() string {
return fmt.Sprintf("[POST /v1/management/External/Add][%d] AddExternal default %+v", o._statusCode, o.Payload)
}
func (o *AddExternalDefault) GetPayload() *AddExternalDefaultBody {
return o.Payload
}
func (o *AddExternalDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
o.Payload = new(AddExternalDefaultBody)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
return err
}
return nil
}
/*AddExternalBody add external body
swagger:model AddExternalBody
*/
type AddExternalBody struct {
// Node identifier on which an external exporter is been running.
// runs_on_node_id always should be passed with node_id.
// Exactly one of these parameters should be present: node_id, node_name, add_node.
RunsOnNodeID string `json:"runs_on_node_id,omitempty"`
// Node name on which a service and node is been running.
// Exactly one of these parameters should be present: node_id, node_name, add_node.
NodeName string `json:"node_name,omitempty"`
// Node and Exporter access address (DNS name or IP).
// address always should be passed with add_node.
Address string `json:"address,omitempty"`
// Unique across all Services user-defined name. Required.
ServiceName string `json:"service_name,omitempty"`
// HTTP basic auth username for collecting metrics.
Username string `json:"username,omitempty"`
// HTTP basic auth password for collecting metrics.
Password string `json:"password,omitempty"`
// Scheme to generate URI to exporter metrics endpoints.
Scheme string `json:"scheme,omitempty"`
// Path under which metrics are exposed, used to generate URI.
MetricsPath string `json:"metrics_path,omitempty"`
// Listen port for scraping metrics.
ListenPort int64 `json:"listen_port,omitempty"`
// Node identifier on which an external service is been running.
// node_id always should be passed with runs_on_node_id.
NodeID string `json:"node_id,omitempty"`
// Environment name.
Environment string `json:"environment,omitempty"`
// Cluster name.
Cluster string `json:"cluster,omitempty"`
// Replication set name.
ReplicationSet string `json:"replication_set,omitempty"`
// Custom user-assigned labels for Service.
CustomLabels map[string]string `json:"custom_labels,omitempty"`
// Group name of external service.
Group string `json:"group,omitempty"`
// MetricsMode defines desired metrics mode for agent,
// it can be pull, push or auto mode chosen by server.
// Enum: [AUTO PULL PUSH]
MetricsMode *string `json:"metrics_mode,omitempty"`
// Skip connection check.
SkipConnectionCheck bool `json:"skip_connection_check,omitempty"`
// add node
AddNode *AddExternalParamsBodyAddNode `json:"add_node,omitempty"`
}
// Validate validates this add external body
func (o *AddExternalBody) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateMetricsMode(formats); err != nil {
res = append(res, err)
}
if err := o.validateAddNode(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
var addExternalBodyTypeMetricsModePropEnum []interface{}
func init() {
var res []string
if err := json.Unmarshal([]byte(`["AUTO","PULL","PUSH"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
addExternalBodyTypeMetricsModePropEnum = append(addExternalBodyTypeMetricsModePropEnum, v)
}
}
const (
// AddExternalBodyMetricsModeAUTO captures enum value "AUTO"
AddExternalBodyMetricsModeAUTO string = "AUTO"
// AddExternalBodyMetricsModePULL captures enum value "PULL"
AddExternalBodyMetricsModePULL string = "PULL"
// AddExternalBodyMetricsModePUSH captures enum value "PUSH"
AddExternalBodyMetricsModePUSH string = "PUSH"
)
// prop value enum
func (o *AddExternalBody) validateMetricsModeEnum(path, location string, value string) error {
if err := validate.EnumCase(path, location, value, addExternalBodyTypeMetricsModePropEnum, true); err != nil {
return err
}
return nil
}
func (o *AddExternalBody) validateMetricsMode(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsMode) { // not required
return nil
}
// value enum
if err := o.validateMetricsModeEnum("body"+"."+"metrics_mode", "body", *o.MetricsMode); err != nil {
return err
}
return nil
}
func (o *AddExternalBody) validateAddNode(formats strfmt.Registry) error {
if swag.IsZero(o.AddNode) { // not required
return nil
}
if o.AddNode != nil {
if err := o.AddNode.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("body" + "." + "add_node")
}
return err
}
}
return nil
}
// MarshalBinary interface implementation
func (o *AddExternalBody) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *AddExternalBody) UnmarshalBinary(b []byte) error {
var res AddExternalBody
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}
/*AddExternalDefaultBody add external default body
swagger:model AddExternalDefaultBody
*/
type AddExternalDefaultBody struct {
// error
Error string `json:"error,omitempty"`
// code
Code int32 `json:"code,omitempty"`
// message
Message string `json:"message,omitempty"`
// details
Details []*DetailsItems0 `json:"details"`
}
// Validate validates this add external default body
func (o *AddExternalDefaultBody) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateDetails(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (o *AddExternalDefaultBody) validateDetails(formats strfmt.Registry) error {
if swag.IsZero(o.Details) { // not required
return nil
}
for i := 0; i < len(o.Details); i++ {
if swag.IsZero(o.Details[i]) { // not required
continue
}
if o.Details[i] != nil {
if err := o.Details[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("AddExternal default" + "." + "details" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (o *AddExternalDefaultBody) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *AddExternalDefaultBody) UnmarshalBinary(b []byte) error {
var res AddExternalDefaultBody
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}
/*AddExternalOKBody add external OK body
swagger:model AddExternalOKBody
*/
type AddExternalOKBody struct {
// external exporter
ExternalExporter *AddExternalOKBodyExternalExporter `json:"external_exporter,omitempty"`
// service
Service *AddExternalOKBodyService `json:"service,omitempty"`
}
// Validate validates this add external OK body
func (o *AddExternalOKBody) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateExternalExporter(formats); err != nil {
res = append(res, err)
}
if err := o.validateService(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (o *AddExternalOKBody) validateExternalExporter(formats strfmt.Registry) error {
if swag.IsZero(o.ExternalExporter) { // not required
return nil
}
if o.ExternalExporter != nil {
if err := o.ExternalExporter.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("addExternalOk" + "." + "external_exporter")
}
return err
}
}
return nil
}
func (o *AddExternalOKBody) validateService(formats strfmt.Registry) error {
if swag.IsZero(o.Service) { // not required
return nil
}
if o.Service != nil {
if err := o.Service.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("addExternalOk" + "." + "service")
}
return err
}
}
return nil
}
// MarshalBinary interface implementation
func (o *AddExternalOKBody) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *AddExternalOKBody) UnmarshalBinary(b []byte) error {
var res AddExternalOKBody
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}
/*AddExternalOKBodyExternalExporter ExternalExporter runs on any Node type, including Remote Node.
swagger:model AddExternalOKBodyExternalExporter
*/
type AddExternalOKBodyExternalExporter struct {
// Unique randomly generated instance identifier.
AgentID string `json:"agent_id,omitempty"`
// Node identifier where this instance runs.
RunsOnNodeID string `json:"runs_on_node_id,omitempty"`
// If disabled, metrics from this exporter will not be collected.
Disabled bool `json:"disabled,omitempty"`
// Service identifier.
ServiceID string `json:"service_id,omitempty"`
// HTTP basic auth username for collecting metrics.
Username string `json:"username,omitempty"`
// Scheme to generate URI to exporter metrics endpoints.
Scheme string `json:"scheme,omitempty"`
// Path under which metrics are exposed, used to generate URI.
MetricsPath string `json:"metrics_path,omitempty"`
// Custom user-assigned labels.
CustomLabels map[string]string `json:"custom_labels,omitempty"`
// Listen port for scraping metrics.
ListenPort int64 `json:"listen_port,omitempty"`
// True if exporter uses push metrics mode.
PushMetricsEnabled bool `json:"push_metrics_enabled,omitempty"`
}
// Validate validates this add external OK body external exporter
func (o *AddExternalOKBodyExternalExporter) Validate(formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (o *AddExternalOKBodyExternalExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *AddExternalOKBodyExternalExporter) UnmarshalBinary(b []byte) error {
var res AddExternalOKBodyExternalExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}
/*AddExternalOKBodyService ExternalService represents a generic External service instance.
swagger:model AddExternalOKBodyService
*/
type AddExternalOKBodyService struct {
// Unique randomly generated instance identifier.
ServiceID string `json:"service_id,omitempty"`
// Unique across all Services user-defined name.
ServiceName string `json:"service_name,omitempty"`
// Node identifier where this service instance runs.
NodeID string `json:"node_id,omitempty"`
// Environment name.
Environment string `json:"environment,omitempty"`
// Cluster name.
Cluster string `json:"cluster,omitempty"`
// Replication set name.
ReplicationSet string `json:"replication_set,omitempty"`
// Custom user-assigned labels.
CustomLabels map[string]string `json:"custom_labels,omitempty"`
// Group name of external service.
Group string `json:"group,omitempty"`
}
// Validate validates this add external OK body service
func (o *AddExternalOKBodyService) Validate(formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (o *AddExternalOKBodyService) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *AddExternalOKBodyService) UnmarshalBinary(b []byte) error {
var res AddExternalOKBodyService
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}
/*AddExternalParamsBodyAddNode AddNodeParams is a params to add new node to inventory while adding new service.
swagger:model AddExternalParamsBodyAddNode
*/
type AddExternalParamsBodyAddNode struct {
// NodeType describes supported Node types.
// Enum: [NODE_TYPE_INVALID GENERIC_NODE CONTAINER_NODE REMOTE_NODE REMOTE_RDS_NODE REMOTE_AZURE_DATABASE_NODE]
NodeType *string `json:"node_type,omitempty"`
// Unique across all Nodes user-defined name.
NodeName string `json:"node_name,omitempty"`
// Linux machine-id.
MachineID string `json:"machine_id,omitempty"`
// Linux distribution name and version.
Distro string `json:"distro,omitempty"`
// Container identifier. If specified, must be a unique Docker container identifier.
ContainerID string `json:"container_id,omitempty"`
// Container name.
ContainerName string `json:"container_name,omitempty"`
// Node model.
NodeModel string `json:"node_model,omitempty"`
// Node region.
Region string `json:"region,omitempty"`
// Node availability zone.
Az string `json:"az,omitempty"`
// Custom user-assigned labels for Node.
CustomLabels map[string]string `json:"custom_labels,omitempty"`
}
// Validate validates this add external params body add node
func (o *AddExternalParamsBodyAddNode) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateNodeType(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
var addExternalParamsBodyAddNodeTypeNodeTypePropEnum []interface{}
func init() {
var res []string
if err := json.Unmarshal([]byte(`["NODE_TYPE_INVALID","GENERIC_NODE","CONTAINER_NODE","REMOTE_NODE","REMOTE_RDS_NODE","REMOTE_AZURE_DATABASE_NODE"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
addExternalParamsBodyAddNodeTypeNodeTypePropEnum = append(addExternalParamsBodyAddNodeTypeNodeTypePropEnum, v)
}
}
const (
// AddExternalParamsBodyAddNodeNodeTypeNODETYPEINVALID captures enum value "NODE_TYPE_INVALID"
AddExternalParamsBodyAddNodeNodeTypeNODETYPEINVALID string = "NODE_TYPE_INVALID"
// AddExternalParamsBodyAddNodeNodeTypeGENERICNODE captures enum value "GENERIC_NODE"
AddExternalParamsBodyAddNodeNodeTypeGENERICNODE string = "GENERIC_NODE"
// AddExternalParamsBodyAddNodeNodeTypeCONTAINERNODE captures enum value "CONTAINER_NODE"
AddExternalParamsBodyAddNodeNodeTypeCONTAINERNODE string = "CONTAINER_NODE"
// AddExternalParamsBodyAddNodeNodeTypeREMOTENODE captures enum value "REMOTE_NODE"
AddExternalParamsBodyAddNodeNodeTypeREMOTENODE string = "REMOTE_NODE"
// AddExternalParamsBodyAddNodeNodeTypeREMOTERDSNODE captures enum value "REMOTE_RDS_NODE"
AddExternalParamsBodyAddNodeNodeTypeREMOTERDSNODE string = "REMOTE_RDS_NODE"
// AddExternalParamsBodyAddNodeNodeTypeREMOTEAZUREDATABASENODE captures enum value "REMOTE_AZURE_DATABASE_NODE"
AddExternalParamsBodyAddNodeNodeTypeREMOTEAZUREDATABASENODE string = "REMOTE_AZURE_DATABASE_NODE"
)
// prop value enum
func (o *AddExternalParamsBodyAddNode) validateNodeTypeEnum(path, location string, value string) error {
if err := validate.EnumCase(path, location, value, addExternalParamsBodyAddNodeTypeNodeTypePropEnum, true); err != nil {
return err
}
return nil
}
func (o *AddExternalParamsBodyAddNode) validateNodeType(formats strfmt.Registry) error {
if swag.IsZero(o.NodeType) { // not required
return nil
}
// value enum
if err := o.validateNodeTypeEnum("body"+"."+"add_node"+"."+"node_type", "body", *o.NodeType); err != nil {
return err
}
return nil
}
// MarshalBinary interface implementation
func (o *AddExternalParamsBodyAddNode) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *AddExternalParamsBodyAddNode) UnmarshalBinary(b []byte) error {
var res AddExternalParamsBodyAddNode
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}
/*DetailsItems0 `Any` contains an arbitrary serialized protocol buffer message along with a
// URL that describes the type of the serialized message.
//
// Protobuf library provides support to pack/unpack Any values in the form
// of utility functions or additional generated methods of the Any type.
//
// Example 1: Pack and unpack a message in C++.
//
// Foo foo = ...;
// Any any;
// any.PackFrom(foo);
// ...
// if (any.UnpackTo(&foo)) {
// ...
// }
//
// Example 2: Pack and unpack a message in Java.
//
// Foo foo = ...;
// Any any = Any.pack(foo);
// ...
// if (any.is(Foo.class)) {
// foo = any.unpack(Foo.class);
// }
//
// Example 3: Pack and unpack a message in Python.
//
// foo = Foo(...)
// any = Any()
// any.Pack(foo)
// ...
// if any.Is(Foo.DESCRIPTOR):
// any.Unpack(foo)
// ...
//
// Example 4: Pack and unpack a message in Go
//
// foo := &pb.Foo{...}
// any, err := ptypes.MarshalAny(foo)
// ...
// foo := &pb.Foo{}
// if err := ptypes.UnmarshalAny(any, foo); err != nil {
// ...
// }
//
// The pack methods provided by protobuf library will by default use
// 'type.googleapis.com/full.type.name' as the type URL and the unpack
// methods only use the fully qualified type name after the last '/'
// in the type URL, for example "foo.bar.com/x/y.z" will yield type
// name "y.z".
//
//
// JSON
// ====
// The JSON representation of an `Any` value uses the regular
// representation of the deserialized, embedded message, with an
// additional field `@type` which contains the type URL. Example:
//
// package google.profile;
// message Person {
// string first_name = 1;
// string last_name = 2;
// }
//
// {
// "@type": "type.googleapis.com/google.profile.Person",
// "firstName": <string>,
// "lastName": <string>
// }
//
// If the embedded message type is well-known and has a custom JSON
// representation, that representation will be embedded adding a field
// `value` which holds the custom JSON in addition to the `@type`
// field. Example (for message [google.protobuf.Duration][]):
//
// {
// "@type": "type.googleapis.com/google.protobuf.Duration",
// "value": "1.212s"
// }
swagger:model DetailsItems0
*/
type DetailsItems0 struct {
// A URL/resource name that uniquely identifies the type of the serialized
// protocol buffer message. This string must contain at least
// one "/" character. The last segment of the URL's path must represent
// the fully qualified name of the type (as in
// `path/google.protobuf.Duration`). The name should be in a canonical form
// (e.g., leading "." is not accepted).
//
// In practice, teams usually precompile into the binary all types that they
// expect it to use in the context of Any. However, for URLs which use the
// scheme `http`, `https`, or no scheme, one can optionally set up a type
// server that maps type URLs to message definitions as follows:
//
// * If no scheme is provided, `https` is assumed.
// * An HTTP GET on the URL must yield a [google.protobuf.Type][]
// value in binary format, or produce an error.
// * Applications are allowed to cache lookup results based on the
// URL, or have them precompiled into a binary to avoid any
// lookup. Therefore, binary compatibility needs to be preserved
// on changes to types. (Use versioned type names to manage
// breaking changes.)
//
// Note: this functionality is not currently available in the official
// protobuf release, and it is not used for type URLs beginning with
// type.googleapis.com.
//
// Schemes other than `http`, `https` (or the empty scheme) might be
// used with implementation specific semantics.
TypeURL string `json:"type_url,omitempty"`
// Must be a valid serialized protocol buffer of the above specified type.
// Format: byte
Value strfmt.Base64 `json:"value,omitempty"`
}
// Validate validates this details items0
func (o *DetailsItems0) Validate(formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (o *DetailsItems0) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
return swag.WriteJSON(o)
}
// UnmarshalBinary interface implementation
func (o *DetailsItems0) UnmarshalBinary(b []byte) error {
var res DetailsItems0
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*o = res
return nil
}