/
datacenter_spec_v_sphere.go
115 lines (89 loc) · 2.95 KB
/
datacenter_spec_v_sphere.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
// Code generated by go-swagger; DO NOT EDIT.
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// DatacenterSpecVSphere DatacenterSpecVSphere describes a vSphere datacenter
//
// swagger:model DatacenterSpecVSphere
type DatacenterSpecVSphere struct {
// If set to true, disables the TLS certificate check against the endpoint.
AllowInsecure bool `json:"allow_insecure,omitempty"`
// The name of the Kubernetes cluster to use.
Cluster string `json:"cluster,omitempty"`
// The name of the datacenter to use.
Datacenter string `json:"datacenter,omitempty"`
// The name of the datastore to use.
Datastore string `json:"datastore,omitempty"`
// Endpoint URL to use, including protocol, for example "https://vcenter.example.com".
Endpoint string `json:"endpoint,omitempty"`
// Optional: The root path for cluster specific VM folders. Each cluster gets its own
// folder below the root folder. Must be the FQDN (for example
// "/datacenter-1/vm/all-kubermatic-vms-in-here") and defaults to the root VM
// folder: "/datacenter-1/vm"
RootPath string `json:"root_path,omitempty"`
// infra management user
InfraManagementUser *VSphereCredentials `json:"infra_management_user,omitempty"`
// templates
Templates ImageList `json:"templates,omitempty"`
}
// Validate validates this datacenter spec v sphere
func (m *DatacenterSpecVSphere) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateInfraManagementUser(formats); err != nil {
res = append(res, err)
}
if err := m.validateTemplates(formats); err != nil {
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *DatacenterSpecVSphere) validateInfraManagementUser(formats strfmt.Registry) error {
if swag.IsZero(m.InfraManagementUser) { // not required
return nil
}
if m.InfraManagementUser != nil {
if err := m.InfraManagementUser.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("infra_management_user")
}
return err
}
}
return nil
}
func (m *DatacenterSpecVSphere) validateTemplates(formats strfmt.Registry) error {
if swag.IsZero(m.Templates) { // not required
return nil
}
if err := m.Templates.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("templates")
}
return err
}
return nil
}
// MarshalBinary interface implementation
func (m *DatacenterSpecVSphere) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *DatacenterSpecVSphere) UnmarshalBinary(b []byte) error {
var res DatacenterSpecVSphere
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}