generated from crossplane/upjet-provider-template
/
zz_application_types.go
executable file
·162 lines (121 loc) · 5.16 KB
/
zz_application_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
/*
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 ApplicationObservation struct {
ID *string `json:"id,omitempty" tf:"id,omitempty"`
}
type ApplicationParameters struct {
// Defaults to `false`.
// +kubebuilder:validation:Optional
ArgoSmartRouting *bool `json:"argoSmartRouting,omitempty" tf:"argo_smart_routing,omitempty"`
// +kubebuilder:validation:Required
DNS []DNSParameters `json:"dns" tf:"dns,omitempty"`
// +kubebuilder:validation:Optional
EdgeIPConnectivity *string `json:"edgeIpConnectivity,omitempty" tf:"edge_ip_connectivity,omitempty"`
// +kubebuilder:validation:Optional
EdgeIps []*string `json:"edgeIps,omitempty" tf:"edge_ips,omitempty"`
// Defaults to `true`.
// +kubebuilder:validation:Optional
IPFirewall *bool `json:"ipFirewall,omitempty" tf:"ip_firewall,omitempty"`
// +kubebuilder:validation:Optional
OriginDNS []OriginDNSParameters `json:"originDns,omitempty" tf:"origin_dns,omitempty"`
// +kubebuilder:validation:Optional
OriginDirect []*string `json:"originDirect,omitempty" tf:"origin_direct,omitempty"`
// Conflicts with `origin_port_range`.
// +kubebuilder:validation:Optional
OriginPort *float64 `json:"originPort,omitempty" tf:"origin_port,omitempty"`
// Conflicts with `origin_port`.
// +kubebuilder:validation:Optional
OriginPortRange []OriginPortRangeParameters `json:"originPortRange,omitempty" tf:"origin_port_range,omitempty"`
// +kubebuilder:validation:Required
Protocol *string `json:"protocol" tf:"protocol,omitempty"`
// Defaults to `off`.
// +kubebuilder:validation:Optional
ProxyProtocol *string `json:"proxyProtocol,omitempty" tf:"proxy_protocol,omitempty"`
// Defaults to `off`.
// +kubebuilder:validation:Optional
TLS *string `json:"tls,omitempty" tf:"tls,omitempty"`
// Defaults to `direct`.
// +kubebuilder:validation:Optional
TrafficType *string `json:"trafficType,omitempty" tf:"traffic_type,omitempty"`
// The zone identifier to target for the resource.
// +crossplane:generate:reference:type=github.com/cdloh/provider-cloudflare/apis/zone/v1alpha1.Zone
// +kubebuilder:validation:Optional
ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`
// Reference to a Zone in zone to populate zoneId.
// +kubebuilder:validation:Optional
ZoneIDRef *v1.Reference `json:"zoneIdRef,omitempty" tf:"-"`
// Selector for a Zone in zone to populate zoneId.
// +kubebuilder:validation:Optional
ZoneIDSelector *v1.Selector `json:"zoneIdSelector,omitempty" tf:"-"`
}
type DNSObservation struct {
}
type DNSParameters struct {
// +kubebuilder:validation:Required
Name *string `json:"name" tf:"name,omitempty"`
// +kubebuilder:validation:Required
Type *string `json:"type" tf:"type,omitempty"`
}
type OriginDNSObservation struct {
}
type OriginDNSParameters struct {
// +kubebuilder:validation:Required
Name *string `json:"name" tf:"name,omitempty"`
}
type OriginPortRangeObservation struct {
}
type OriginPortRangeParameters struct {
// +kubebuilder:validation:Required
End *float64 `json:"end" tf:"end,omitempty"`
// +kubebuilder:validation:Required
Start *float64 `json:"start" tf:"start,omitempty"`
}
// ApplicationSpec defines the desired state of Application
type ApplicationSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ApplicationParameters `json:"forProvider"`
}
// ApplicationStatus defines the observed state of Application.
type ApplicationStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ApplicationObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Application is the Schema for the Applications API. <no value>
// +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,cloudflare}
type Application struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ApplicationSpec `json:"spec"`
Status ApplicationStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ApplicationList contains a list of Applications
type ApplicationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Application `json:"items"`
}
// Repository type metadata.
var (
Application_Kind = "Application"
Application_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Application_Kind}.String()
Application_KindAPIVersion = Application_Kind + "." + CRDGroupVersion.String()
Application_GroupVersionKind = CRDGroupVersion.WithKind(Application_Kind)
)
func init() {
SchemeBuilder.Register(&Application{}, &ApplicationList{})
}