generated from crossplane/upjet-provider-template
-
Notifications
You must be signed in to change notification settings - Fork 8
/
zz_nodebalancer_types.go
executable file
·146 lines (112 loc) · 5.87 KB
/
zz_nodebalancer_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
/*
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 NodebalancerObservation struct {
// Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
// Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.
ClientConnThrottle *float64 `json:"clientConnThrottle,omitempty" tf:"client_conn_throttle,omitempty"`
// When this NodeBalancer was created
// When this NodeBalancer was created.
Created *string `json:"created,omitempty" tf:"created,omitempty"`
// This NodeBalancer's hostname, ending with .nodebalancer.linode.com
// This NodeBalancer's hostname, ending with .nodebalancer.linode.com
Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The Public IPv4 Address of this NodeBalancer
// The Public IPv4 Address of this NodeBalancer
IPv4 *string `json:"ipv4,omitempty" tf:"ipv4,omitempty"`
// The Public IPv6 Address of this NodeBalancer
// The Public IPv6 Address of this NodeBalancer
IPv6 *string `json:"ipv6,omitempty" tf:"ipv6,omitempty"`
// The label of the Linode NodeBalancer
// The label of the Linode NodeBalancer.
Label *string `json:"label,omitempty" tf:"label,omitempty"`
// The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing .
// The region where this NodeBalancer will be deployed.
Region *string `json:"region,omitempty" tf:"region,omitempty"`
// A list of tags applied to this object. Tags are for organizational purposes only.
// An array of tags applied to this object. Tags are for organizational purposes only.
Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
// Information about the amount of transfer this NodeBalancer has had so far this month.
Transfer []TransferObservation `json:"transfer,omitempty" tf:"transfer,omitempty"`
// When this NodeBalancer was last updated.
// When this NodeBalancer was last updated.
Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
}
type NodebalancerParameters struct {
// Throttle connections per second (0-20). Set to 0 (default) to disable throttling.
// Throttle connections per second (0-20). Set to 0 (zero) to disable throttling.
// +kubebuilder:validation:Optional
ClientConnThrottle *float64 `json:"clientConnThrottle,omitempty" tf:"client_conn_throttle,omitempty"`
// The label of the Linode NodeBalancer
// The label of the Linode NodeBalancer.
// +kubebuilder:validation:Optional
Label *string `json:"label,omitempty" tf:"label,omitempty"`
// The region where this NodeBalancer will be deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing .
// The region where this NodeBalancer will be deployed.
// +kubebuilder:validation:Optional
Region *string `json:"region,omitempty" tf:"region,omitempty"`
// A list of tags applied to this object. Tags are for organizational purposes only.
// An array of tags applied to this object. Tags are for organizational purposes only.
// +kubebuilder:validation:Optional
Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}
type TransferObservation struct {
// The total transfer, in MB, used by this NodeBalancer for the current month
In *float64 `json:"in,omitempty" tf:"in,omitempty"`
// The total inbound transfer, in MB, used for this NodeBalancer for the current month
Out *float64 `json:"out,omitempty" tf:"out,omitempty"`
// The total outbound transfer, in MB, used for this NodeBalancer for the current month
Total *float64 `json:"total,omitempty" tf:"total,omitempty"`
}
type TransferParameters struct {
}
// NodebalancerSpec defines the desired state of Nodebalancer
type NodebalancerSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider NodebalancerParameters `json:"forProvider"`
}
// NodebalancerStatus defines the observed state of Nodebalancer.
type NodebalancerStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider NodebalancerObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Nodebalancer is the Schema for the Nodebalancers API. Manages a Linode NodeBalancer.
// +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,linode}
type Nodebalancer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)",message="region is a required parameter"
Spec NodebalancerSpec `json:"spec"`
Status NodebalancerStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// NodebalancerList contains a list of Nodebalancers
type NodebalancerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Nodebalancer `json:"items"`
}
// Repository type metadata.
var (
Nodebalancer_Kind = "Nodebalancer"
Nodebalancer_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Nodebalancer_Kind}.String()
Nodebalancer_KindAPIVersion = Nodebalancer_Kind + "." + CRDGroupVersion.String()
Nodebalancer_GroupVersionKind = CRDGroupVersion.WithKind(Nodebalancer_Kind)
)
func init() {
SchemeBuilder.Register(&Nodebalancer{}, &NodebalancerList{})
}