generated from crossplane/upjet-provider-template
/
zz_policyproject_types.go
executable file
·168 lines (110 loc) · 5.42 KB
/
zz_policyproject_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
/*
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 PolicyProjectObservation struct {
// Description for this resource
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Display name for this resource
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// NSX ID for this resource
NsxID *string `json:"nsxId,omitempty" tf:"nsx_id,omitempty"`
// Policy path for this resource
Path *string `json:"path,omitempty" tf:"path,omitempty"`
// The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected
Revision *float64 `json:"revision,omitempty" tf:"revision,omitempty"`
ShortID *string `json:"shortId,omitempty" tf:"short_id,omitempty"`
SiteInfo []SiteInfoObservation `json:"siteInfo,omitempty" tf:"site_info,omitempty"`
// Set of opaque identifiers meaningful to the user
Tag []TagObservation `json:"tag,omitempty" tf:"tag,omitempty"`
Tier0GatewayPaths []*string `json:"tier0GatewayPaths,omitempty" tf:"tier0_gateway_paths,omitempty"`
}
type PolicyProjectParameters struct {
// Description for this resource
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Display name for this resource
// +kubebuilder:validation:Optional
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// NSX ID for this resource
// +kubebuilder:validation:Optional
NsxID *string `json:"nsxId,omitempty" tf:"nsx_id,omitempty"`
// +kubebuilder:validation:Optional
ShortID *string `json:"shortId,omitempty" tf:"short_id,omitempty"`
// +kubebuilder:validation:Optional
SiteInfo []SiteInfoParameters `json:"siteInfo,omitempty" tf:"site_info,omitempty"`
// Set of opaque identifiers meaningful to the user
// +kubebuilder:validation:Optional
Tag []TagParameters `json:"tag,omitempty" tf:"tag,omitempty"`
// +kubebuilder:validation:Optional
Tier0GatewayPaths []*string `json:"tier0GatewayPaths,omitempty" tf:"tier0_gateway_paths,omitempty"`
}
type SiteInfoObservation struct {
EdgeClusterPaths []*string `json:"edgeClusterPaths,omitempty" tf:"edge_cluster_paths,omitempty"`
SitePath *string `json:"sitePath,omitempty" tf:"site_path,omitempty"`
}
type SiteInfoParameters struct {
// +kubebuilder:validation:Optional
EdgeClusterPaths []*string `json:"edgeClusterPaths,omitempty" tf:"edge_cluster_paths,omitempty"`
// +kubebuilder:validation:Optional
SitePath *string `json:"sitePath,omitempty" tf:"site_path,omitempty"`
}
type TagObservation struct {
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}
type TagParameters struct {
// +kubebuilder:validation:Optional
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
// +kubebuilder:validation:Optional
Tag *string `json:"tag,omitempty" tf:"tag,omitempty"`
}
// PolicyProjectSpec defines the desired state of PolicyProject
type PolicyProjectSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider PolicyProjectParameters `json:"forProvider"`
}
// PolicyProjectStatus defines the observed state of PolicyProject.
type PolicyProjectStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider PolicyProjectObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// PolicyProject is the Schema for the PolicyProjects 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,nsxt}
type PolicyProject struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.displayName)",message="displayName is a required parameter"
Spec PolicyProjectSpec `json:"spec"`
Status PolicyProjectStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// PolicyProjectList contains a list of PolicyProjects
type PolicyProjectList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PolicyProject `json:"items"`
}
// Repository type metadata.
var (
PolicyProject_Kind = "PolicyProject"
PolicyProject_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: PolicyProject_Kind}.String()
PolicyProject_KindAPIVersion = PolicyProject_Kind + "." + CRDGroupVersion.String()
PolicyProject_GroupVersionKind = CRDGroupVersion.WithKind(PolicyProject_Kind)
)
func init() {
SchemeBuilder.Register(&PolicyProject{}, &PolicyProjectList{})
}