/
zz_organization_types.go
executable file
·354 lines (278 loc) · 17.8 KB
/
zz_organization_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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// Code generated by upjet. DO NOT EDIT.
package v1beta1
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 OrganizationInitParameters struct {
// Primary GCP region for analytics data storage. For valid values, see Create an Apigee organization.
AnalyticsRegion *string `json:"analyticsRegion,omitempty" tf:"analytics_region,omitempty"`
// Compute Engine network used for Service Networking to be peered with Apigee runtime instances.
// See Getting started with the Service Networking API.
// Valid only when RuntimeType is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"`
// Reference to a Network in compute to populate authorizedNetwork.
// +kubebuilder:validation:Optional
AuthorizedNetworkRef *v1.Reference `json:"authorizedNetworkRef,omitempty" tf:"-"`
// Selector for a Network in compute to populate authorizedNetwork.
// +kubebuilder:validation:Optional
AuthorizedNetworkSelector *v1.Selector `json:"authorizedNetworkSelector,omitempty" tf:"-"`
// Billing type of the Apigee organization. See Apigee pricing.
BillingType *string `json:"billingType,omitempty" tf:"billing_type,omitempty"`
// Description of the Apigee organization.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Flag that specifies whether the VPC Peering through Private Google Access should be
// disabled between the consumer network and Apigee. Required if an authorizedNetwork
// on the consumer project is not provided, in which case the flag should be set to true.
// Valid only when RuntimeType is set to CLOUD. The value must be set before the creation
// of any Apigee runtime instance and can be updated only when there are no runtime instances.
DisableVPCPeering *bool `json:"disableVpcPeering,omitempty" tf:"disable_vpc_peering,omitempty"`
// The display name of the Apigee organization.
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// The project ID associated with the Apigee organization.
ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
// Properties defined in the Apigee organization profile.
// Structure is documented below.
Properties []PropertiesInitParameters `json:"properties,omitempty" tf:"properties,omitempty"`
// Optional. This setting is applicable only for organizations that are soft-deleted (i.e., BillingType
// is not EVALUATION). It controls how long Organization data will be retained after the initial delete
// operation completes. During this period, the Organization may be restored to its last known state.
// After this period, the Organization will no longer be able to be restored.
// Default value is DELETION_RETENTION_UNSPECIFIED.
// Possible values are: DELETION_RETENTION_UNSPECIFIED, MINIMUM.
Retention *string `json:"retention,omitempty" tf:"retention,omitempty"`
// Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.
// Update is not allowed after the organization is created.
// If not specified, a Google-Managed encryption key will be used.
// Valid only when RuntimeType is CLOUD. For example: projects/foo/locations/us/keyRings/bar/cryptoKeys/baz.
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
RuntimeDatabaseEncryptionKeyName *string `json:"runtimeDatabaseEncryptionKeyName,omitempty" tf:"runtime_database_encryption_key_name,omitempty"`
// Reference to a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName.
// +kubebuilder:validation:Optional
RuntimeDatabaseEncryptionKeyNameRef *v1.Reference `json:"runtimeDatabaseEncryptionKeyNameRef,omitempty" tf:"-"`
// Selector for a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName.
// +kubebuilder:validation:Optional
RuntimeDatabaseEncryptionKeyNameSelector *v1.Selector `json:"runtimeDatabaseEncryptionKeyNameSelector,omitempty" tf:"-"`
// Runtime type of the Apigee organization based on the Apigee subscription purchased.
// Default value is CLOUD.
// Possible values are: CLOUD, HYBRID.
RuntimeType *string `json:"runtimeType,omitempty" tf:"runtime_type,omitempty"`
}
type OrganizationObservation struct {
// Primary GCP region for analytics data storage. For valid values, see Create an Apigee organization.
AnalyticsRegion *string `json:"analyticsRegion,omitempty" tf:"analytics_region,omitempty"`
// Output only. Project ID of the Apigee Tenant Project.
ApigeeProjectID *string `json:"apigeeProjectId,omitempty" tf:"apigee_project_id,omitempty"`
// Compute Engine network used for Service Networking to be peered with Apigee runtime instances.
// See Getting started with the Service Networking API.
// Valid only when RuntimeType is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".
AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"`
// Billing type of the Apigee organization. See Apigee pricing.
BillingType *string `json:"billingType,omitempty" tf:"billing_type,omitempty"`
// Output only. Base64-encoded public certificate for the root CA of the Apigee organization.
// Valid only when RuntimeType is CLOUD. A base64-encoded string.
CACertificate *string `json:"caCertificate,omitempty" tf:"ca_certificate,omitempty"`
// Description of the Apigee organization.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Flag that specifies whether the VPC Peering through Private Google Access should be
// disabled between the consumer network and Apigee. Required if an authorizedNetwork
// on the consumer project is not provided, in which case the flag should be set to true.
// Valid only when RuntimeType is set to CLOUD. The value must be set before the creation
// of any Apigee runtime instance and can be updated only when there are no runtime instances.
DisableVPCPeering *bool `json:"disableVpcPeering,omitempty" tf:"disable_vpc_peering,omitempty"`
// The display name of the Apigee organization.
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// an identifier for the resource with format organizations/{{name}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Output only. Name of the Apigee organization.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The project ID associated with the Apigee organization.
ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
// Properties defined in the Apigee organization profile.
// Structure is documented below.
Properties []PropertiesObservation `json:"properties,omitempty" tf:"properties,omitempty"`
// Optional. This setting is applicable only for organizations that are soft-deleted (i.e., BillingType
// is not EVALUATION). It controls how long Organization data will be retained after the initial delete
// operation completes. During this period, the Organization may be restored to its last known state.
// After this period, the Organization will no longer be able to be restored.
// Default value is DELETION_RETENTION_UNSPECIFIED.
// Possible values are: DELETION_RETENTION_UNSPECIFIED, MINIMUM.
Retention *string `json:"retention,omitempty" tf:"retention,omitempty"`
// Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.
// Update is not allowed after the organization is created.
// If not specified, a Google-Managed encryption key will be used.
// Valid only when RuntimeType is CLOUD. For example: projects/foo/locations/us/keyRings/bar/cryptoKeys/baz.
RuntimeDatabaseEncryptionKeyName *string `json:"runtimeDatabaseEncryptionKeyName,omitempty" tf:"runtime_database_encryption_key_name,omitempty"`
// Runtime type of the Apigee organization based on the Apigee subscription purchased.
// Default value is CLOUD.
// Possible values are: CLOUD, HYBRID.
RuntimeType *string `json:"runtimeType,omitempty" tf:"runtime_type,omitempty"`
// Output only. Subscription type of the Apigee organization.
// Valid values include trial (free, limited, and for evaluation purposes only) or paid (full subscription has been purchased).
SubscriptionType *string `json:"subscriptionType,omitempty" tf:"subscription_type,omitempty"`
}
type OrganizationParameters struct {
// Primary GCP region for analytics data storage. For valid values, see Create an Apigee organization.
// +kubebuilder:validation:Optional
AnalyticsRegion *string `json:"analyticsRegion,omitempty" tf:"analytics_region,omitempty"`
// Compute Engine network used for Service Networking to be peered with Apigee runtime instances.
// See Getting started with the Service Networking API.
// Valid only when RuntimeType is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
AuthorizedNetwork *string `json:"authorizedNetwork,omitempty" tf:"authorized_network,omitempty"`
// Reference to a Network in compute to populate authorizedNetwork.
// +kubebuilder:validation:Optional
AuthorizedNetworkRef *v1.Reference `json:"authorizedNetworkRef,omitempty" tf:"-"`
// Selector for a Network in compute to populate authorizedNetwork.
// +kubebuilder:validation:Optional
AuthorizedNetworkSelector *v1.Selector `json:"authorizedNetworkSelector,omitempty" tf:"-"`
// Billing type of the Apigee organization. See Apigee pricing.
// +kubebuilder:validation:Optional
BillingType *string `json:"billingType,omitempty" tf:"billing_type,omitempty"`
// Description of the Apigee organization.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Flag that specifies whether the VPC Peering through Private Google Access should be
// disabled between the consumer network and Apigee. Required if an authorizedNetwork
// on the consumer project is not provided, in which case the flag should be set to true.
// Valid only when RuntimeType is set to CLOUD. The value must be set before the creation
// of any Apigee runtime instance and can be updated only when there are no runtime instances.
// +kubebuilder:validation:Optional
DisableVPCPeering *bool `json:"disableVpcPeering,omitempty" tf:"disable_vpc_peering,omitempty"`
// The display name of the Apigee organization.
// +kubebuilder:validation:Optional
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// The project ID associated with the Apigee organization.
// +kubebuilder:validation:Optional
ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`
// Properties defined in the Apigee organization profile.
// Structure is documented below.
// +kubebuilder:validation:Optional
Properties []PropertiesParameters `json:"properties,omitempty" tf:"properties,omitempty"`
// Optional. This setting is applicable only for organizations that are soft-deleted (i.e., BillingType
// is not EVALUATION). It controls how long Organization data will be retained after the initial delete
// operation completes. During this period, the Organization may be restored to its last known state.
// After this period, the Organization will no longer be able to be restored.
// Default value is DELETION_RETENTION_UNSPECIFIED.
// Possible values are: DELETION_RETENTION_UNSPECIFIED, MINIMUM.
// +kubebuilder:validation:Optional
Retention *string `json:"retention,omitempty" tf:"retention,omitempty"`
// Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.
// Update is not allowed after the organization is created.
// If not specified, a Google-Managed encryption key will be used.
// Valid only when RuntimeType is CLOUD. For example: projects/foo/locations/us/keyRings/bar/cryptoKeys/baz.
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/kms/v1beta1.CryptoKey
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
RuntimeDatabaseEncryptionKeyName *string `json:"runtimeDatabaseEncryptionKeyName,omitempty" tf:"runtime_database_encryption_key_name,omitempty"`
// Reference to a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName.
// +kubebuilder:validation:Optional
RuntimeDatabaseEncryptionKeyNameRef *v1.Reference `json:"runtimeDatabaseEncryptionKeyNameRef,omitempty" tf:"-"`
// Selector for a CryptoKey in kms to populate runtimeDatabaseEncryptionKeyName.
// +kubebuilder:validation:Optional
RuntimeDatabaseEncryptionKeyNameSelector *v1.Selector `json:"runtimeDatabaseEncryptionKeyNameSelector,omitempty" tf:"-"`
// Runtime type of the Apigee organization based on the Apigee subscription purchased.
// Default value is CLOUD.
// Possible values are: CLOUD, HYBRID.
// +kubebuilder:validation:Optional
RuntimeType *string `json:"runtimeType,omitempty" tf:"runtime_type,omitempty"`
}
type PropertiesInitParameters struct {
// List of all properties in the object.
// Structure is documented below.
Property []PropertyInitParameters `json:"property,omitempty" tf:"property,omitempty"`
}
type PropertiesObservation struct {
// List of all properties in the object.
// Structure is documented below.
Property []PropertyObservation `json:"property,omitempty" tf:"property,omitempty"`
}
type PropertiesParameters struct {
// List of all properties in the object.
// Structure is documented below.
// +kubebuilder:validation:Optional
Property []PropertyParameters `json:"property,omitempty" tf:"property,omitempty"`
}
type PropertyInitParameters struct {
// Name of the property.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Value of the property.
Value *string `json:"value,omitempty" tf:"value,omitempty"`
}
type PropertyObservation struct {
// Name of the property.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Value of the property.
Value *string `json:"value,omitempty" tf:"value,omitempty"`
}
type PropertyParameters struct {
// Name of the property.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Value of the property.
// +kubebuilder:validation:Optional
Value *string `json:"value,omitempty" tf:"value,omitempty"`
}
// OrganizationSpec defines the desired state of Organization
type OrganizationSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider OrganizationParameters `json:"forProvider"`
// THIS IS A BETA FIELD. It will be honored
// unless the Management Policies feature flag is disabled.
// InitProvider holds the same fields as ForProvider, with the exception
// of Identifier and other resource reference fields. The fields that are
// in InitProvider are merged into ForProvider when the resource is created.
// The same fields are also added to the terraform ignore_changes hook, to
// avoid updating them after creation. This is useful for fields that are
// required on creation, but we do not desire to update them after creation,
// for example because of an external controller is managing them, like an
// autoscaler.
InitProvider OrganizationInitParameters `json:"initProvider,omitempty"`
}
// OrganizationStatus defines the observed state of Organization.
type OrganizationStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider OrganizationObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// Organization is the Schema for the Organizations API. An
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,gcp}
type Organization struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.projectId) || (has(self.initProvider) && has(self.initProvider.projectId))",message="spec.forProvider.projectId is a required parameter"
Spec OrganizationSpec `json:"spec"`
Status OrganizationStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// OrganizationList contains a list of Organizations
type OrganizationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Organization `json:"items"`
}
// Repository type metadata.
var (
Organization_Kind = "Organization"
Organization_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Organization_Kind}.String()
Organization_KindAPIVersion = Organization_Kind + "." + CRDGroupVersion.String()
Organization_GroupVersionKind = CRDGroupVersion.WithKind(Organization_Kind)
)
func init() {
SchemeBuilder.Register(&Organization{}, &OrganizationList{})
}