generated from crossplane/upjet-provider-template
/
zz_networkdhcp_types.go
executable file
·185 lines (146 loc) · 7.4 KB
/
zz_networkdhcp_types.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
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type NetworkDHCPObservation struct {
// - The DNS server IPs to be assigned by this
// DHCP service. Maximum two values.
// The DNS server IPs to be assigned by this DHCP service. 2 values maximum.
DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// - Lease time in seconds. Minimum value is 60s
// and maximum is 4294967295s (~ 49 days).
// Lease time in seconds
LeaseTime *float64 `json:"leaseTime,omitempty" tf:"lease_time,omitempty"`
// IP address of DHCP server in network. Must match
// subnet. Only used when mode=NETWORK.
// IP Address of DHCP server in network. Only applicable when mode=NETWORK
ListenerIPAddress *string `json:"listenerIpAddress,omitempty" tf:"listener_ip_address,omitempty"`
// One of EDGE, NETWORK or RELAY. Default is EDGE
// DHCP mode. One of 'EDGE' (default), 'NETWORK', 'RELAY'
Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
// The name of organization to use, optional if defined at provider level. Useful
// when connected as sysadmin working across different organisations.
// The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations
Org *string `json:"org,omitempty" tf:"org,omitempty"`
// ID of parent Org VDC Routed network.
// Parent Org VDC network ID
OrgNetworkID *string `json:"orgNetworkId,omitempty" tf:"org_network_id,omitempty"`
// One or more blocks to define DHCP pool ranges. Must not be set when
// mode=RELAY. See Pools and example for usage details.
// IP ranges used for DHCP pool allocation in the network
Pool []PoolObservation `json:"pool,omitempty" tf:"pool,omitempty"`
// The name of VDC to use, optional if defined at provider level
Vdc *string `json:"vdc,omitempty" tf:"vdc,omitempty"`
}
type NetworkDHCPParameters struct {
// - The DNS server IPs to be assigned by this
// DHCP service. Maximum two values.
// The DNS server IPs to be assigned by this DHCP service. 2 values maximum.
// +kubebuilder:validation:Optional
DNSServers []*string `json:"dnsServers,omitempty" tf:"dns_servers,omitempty"`
// - Lease time in seconds. Minimum value is 60s
// and maximum is 4294967295s (~ 49 days).
// Lease time in seconds
// +kubebuilder:validation:Optional
LeaseTime *float64 `json:"leaseTime,omitempty" tf:"lease_time,omitempty"`
// IP address of DHCP server in network. Must match
// subnet. Only used when mode=NETWORK.
// IP Address of DHCP server in network. Only applicable when mode=NETWORK
// +kubebuilder:validation:Optional
ListenerIPAddress *string `json:"listenerIpAddress,omitempty" tf:"listener_ip_address,omitempty"`
// One of EDGE, NETWORK or RELAY. Default is EDGE
// DHCP mode. One of 'EDGE' (default), 'NETWORK', 'RELAY'
// +kubebuilder:validation:Optional
Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
// The name of organization to use, optional if defined at provider level. Useful
// when connected as sysadmin working across different organisations.
// The name of organization to use, optional if defined at provider level. Useful when connected as sysadmin working across different organizations
// +kubebuilder:validation:Optional
Org *string `json:"org,omitempty" tf:"org,omitempty"`
// ID of parent Org VDC Routed network.
// Parent Org VDC network ID
// +crossplane:generate:reference:type=github.com/kirillinda/provider-vcd/apis/vcdnetworkroutedv2/v1alpha1.RoutedV2
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("id", true)
// +kubebuilder:validation:Optional
OrgNetworkID *string `json:"orgNetworkId,omitempty" tf:"org_network_id,omitempty"`
// Reference to a RoutedV2 in vcdnetworkroutedv2 to populate orgNetworkId.
// +kubebuilder:validation:Optional
OrgNetworkIDRef *v1.Reference `json:"orgNetworkIdRef,omitempty" tf:"-"`
// Selector for a RoutedV2 in vcdnetworkroutedv2 to populate orgNetworkId.
// +kubebuilder:validation:Optional
OrgNetworkIDSelector *v1.Selector `json:"orgNetworkIdSelector,omitempty" tf:"-"`
// One or more blocks to define DHCP pool ranges. Must not be set when
// mode=RELAY. See Pools and example for usage details.
// IP ranges used for DHCP pool allocation in the network
// +kubebuilder:validation:Optional
Pool []PoolParameters `json:"pool,omitempty" tf:"pool,omitempty"`
// The name of VDC to use, optional if defined at provider level
// +kubebuilder:validation:Optional
Vdc *string `json:"vdc,omitempty" tf:"vdc,omitempty"`
}
type PoolObservation struct {
// End address of DHCP pool range
// End address of DHCP pool IP range
EndAddress *string `json:"endAddress,omitempty" tf:"end_address,omitempty"`
// Start address of DHCP pool range
// Start address of DHCP pool IP range
StartAddress *string `json:"startAddress,omitempty" tf:"start_address,omitempty"`
}
type PoolParameters struct {
// End address of DHCP pool range
// End address of DHCP pool IP range
// +kubebuilder:validation:Required
EndAddress *string `json:"endAddress" tf:"end_address,omitempty"`
// Start address of DHCP pool range
// Start address of DHCP pool IP range
// +kubebuilder:validation:Required
StartAddress *string `json:"startAddress" tf:"start_address,omitempty"`
}
// NetworkDHCPSpec defines the desired state of NetworkDHCP
type NetworkDHCPSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider NetworkDHCPParameters `json:"forProvider"`
}
// NetworkDHCPStatus defines the observed state of NetworkDHCP.
type NetworkDHCPStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider NetworkDHCPObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// NetworkDHCP is the Schema for the NetworkDHCPs API. Provides a resource to manage DHCP pools for NSX-T Org VDC networks.
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vcd}
type NetworkDHCP struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NetworkDHCPSpec `json:"spec"`
Status NetworkDHCPStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// NetworkDHCPList contains a list of NetworkDHCPs
type NetworkDHCPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NetworkDHCP `json:"items"`
}
// Repository type metadata.
var (
NetworkDHCP_Kind = "NetworkDHCP"
NetworkDHCP_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NetworkDHCP_Kind}.String()
NetworkDHCP_KindAPIVersion = NetworkDHCP_Kind + "." + CRDGroupVersion.String()
NetworkDHCP_GroupVersionKind = CRDGroupVersion.WithKind(NetworkDHCP_Kind)
)
func init() {
SchemeBuilder.Register(&NetworkDHCP{}, &NetworkDHCPList{})
}