-
Notifications
You must be signed in to change notification settings - Fork 11
/
zz_endpointv3_types.go
executable file
·168 lines (131 loc) · 6.88 KB
/
zz_endpointv3_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
// SPDX-FileCopyrightText: 2023 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
/*
Copyright 2022 Upbound Inc.
Copyright 2023 Jakob Schlagenhaufer, Jan Dittrich
*/
// 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 EndpointV3InitParameters struct {
// The endpoint region. The region and
// endpoint_region can be different.
EndpointRegion *string `json:"endpointRegion,omitempty" tf:"endpoint_region,omitempty"`
// The endpoint interface. Valid values are public,
// internal and admin. Default value is public
Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`
// The endpoint name.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The region in which to obtain the V3 Keystone client.
// If omitted, the region argument of the provider is used.
Region *string `json:"region,omitempty" tf:"region,omitempty"`
// The endpoint service ID.
ServiceID *string `json:"serviceId,omitempty" tf:"service_id,omitempty"`
// The endpoint url.
URL *string `json:"url,omitempty" tf:"url,omitempty"`
}
type EndpointV3Observation struct {
// The endpoint region. The region and
// endpoint_region can be different.
EndpointRegion *string `json:"endpointRegion,omitempty" tf:"endpoint_region,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The endpoint interface. Valid values are public,
// internal and admin. Default value is public
Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`
// The endpoint name.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The region in which to obtain the V3 Keystone client.
// If omitted, the region argument of the provider is used.
Region *string `json:"region,omitempty" tf:"region,omitempty"`
// The endpoint service ID.
ServiceID *string `json:"serviceId,omitempty" tf:"service_id,omitempty"`
// The service name of the endpoint.
ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
// The service type of the endpoint.
ServiceType *string `json:"serviceType,omitempty" tf:"service_type,omitempty"`
// The endpoint url.
URL *string `json:"url,omitempty" tf:"url,omitempty"`
}
type EndpointV3Parameters struct {
// The endpoint region. The region and
// endpoint_region can be different.
// +kubebuilder:validation:Optional
EndpointRegion *string `json:"endpointRegion,omitempty" tf:"endpoint_region,omitempty"`
// The endpoint interface. Valid values are public,
// internal and admin. Default value is public
// +kubebuilder:validation:Optional
Interface *string `json:"interface,omitempty" tf:"interface,omitempty"`
// The endpoint name.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The region in which to obtain the V3 Keystone client.
// If omitted, the region argument of the provider is used.
// +kubebuilder:validation:Optional
Region *string `json:"region,omitempty" tf:"region,omitempty"`
// The endpoint service ID.
// +kubebuilder:validation:Optional
ServiceID *string `json:"serviceId,omitempty" tf:"service_id,omitempty"`
// The endpoint url.
// +kubebuilder:validation:Optional
URL *string `json:"url,omitempty" tf:"url,omitempty"`
}
// EndpointV3Spec defines the desired state of EndpointV3
type EndpointV3Spec struct {
v1.ResourceSpec `json:",inline"`
ForProvider EndpointV3Parameters `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 EndpointV3InitParameters `json:"initProvider,omitempty"`
}
// EndpointV3Status defines the observed state of EndpointV3.
type EndpointV3Status struct {
v1.ResourceStatus `json:",inline"`
AtProvider EndpointV3Observation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// EndpointV3 is the Schema for the EndpointV3s API. Manages a V3 Endpoint resource within OpenStack Keystone.
// +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,openstack}
type EndpointV3 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.endpointRegion) || (has(self.initProvider) && has(self.initProvider.endpointRegion))",message="spec.forProvider.endpointRegion is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.serviceId) || (has(self.initProvider) && has(self.initProvider.serviceId))",message="spec.forProvider.serviceId is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.url) || (has(self.initProvider) && has(self.initProvider.url))",message="spec.forProvider.url is a required parameter"
Spec EndpointV3Spec `json:"spec"`
Status EndpointV3Status `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// EndpointV3List contains a list of EndpointV3s
type EndpointV3List struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EndpointV3 `json:"items"`
}
// Repository type metadata.
var (
EndpointV3_Kind = "EndpointV3"
EndpointV3_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: EndpointV3_Kind}.String()
EndpointV3_KindAPIVersion = EndpointV3_Kind + "." + CRDGroupVersion.String()
EndpointV3_GroupVersionKind = CRDGroupVersion.WithKind(EndpointV3_Kind)
)
func init() {
SchemeBuilder.Register(&EndpointV3{}, &EndpointV3List{})
}