-
Notifications
You must be signed in to change notification settings - Fork 70
/
zz_springcloudappcosmosdbassociation_types.go
executable file
·225 lines (173 loc) · 13.7 KB
/
zz_springcloudappcosmosdbassociation_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
// 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 SpringCloudAppCosmosDBAssociationInitParameters struct {
// Specifies the API type which should be used when connecting to the CosmosDB Account. Possible values are cassandra, gremlin, mongo, sql or table. Changing this forces a new resource to be created.
APIType *string `json:"apiType,omitempty" tf:"api_type,omitempty"`
// Specifies the CosmosDB Account access key.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/cosmosdb/v1beta2.Account
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("primary_key",true)
CosmosDBAccessKey *string `json:"cosmosdbAccessKey,omitempty" tf:"cosmosdb_access_key,omitempty"`
// Reference to a Account in cosmosdb to populate cosmosdbAccessKey.
// +kubebuilder:validation:Optional
CosmosDBAccessKeyRef *v1.Reference `json:"cosmosdbAccessKeyRef,omitempty" tf:"-"`
// Selector for a Account in cosmosdb to populate cosmosdbAccessKey.
// +kubebuilder:validation:Optional
CosmosDBAccessKeySelector *v1.Selector `json:"cosmosdbAccessKeySelector,omitempty" tf:"-"`
// Specifies the ID of the CosmosDB Account. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/cosmosdb/v1beta2.Account
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
CosmosDBAccountID *string `json:"cosmosdbAccountId,omitempty" tf:"cosmosdb_account_id,omitempty"`
// Reference to a Account in cosmosdb to populate cosmosdbAccountId.
// +kubebuilder:validation:Optional
CosmosDBAccountIDRef *v1.Reference `json:"cosmosdbAccountIdRef,omitempty" tf:"-"`
// Selector for a Account in cosmosdb to populate cosmosdbAccountId.
// +kubebuilder:validation:Optional
CosmosDBAccountIDSelector *v1.Selector `json:"cosmosdbAccountIdSelector,omitempty" tf:"-"`
// Specifies the name of the Cassandra Keyspace which the Spring Cloud App should be associated with. Should only be set when api_type is cassandra.
CosmosDBCassandraKeySpaceName *string `json:"cosmosdbCassandraKeyspaceName,omitempty" tf:"cosmosdb_cassandra_keyspace_name,omitempty"`
// Specifies the name of the Gremlin Database which the Spring Cloud App should be associated with. Should only be set when api_type is gremlin.
CosmosDBGremlinDatabaseName *string `json:"cosmosdbGremlinDatabaseName,omitempty" tf:"cosmosdb_gremlin_database_name,omitempty"`
// Specifies the name of the Gremlin Graph which the Spring Cloud App should be associated with. Should only be set when api_type is gremlin.
CosmosDBGremlinGraphName *string `json:"cosmosdbGremlinGraphName,omitempty" tf:"cosmosdb_gremlin_graph_name,omitempty"`
// Specifies the name of the Mongo Database which the Spring Cloud App should be associated with. Should only be set when api_type is mongo.
CosmosDBMongoDatabaseName *string `json:"cosmosdbMongoDatabaseName,omitempty" tf:"cosmosdb_mongo_database_name,omitempty"`
// Specifies the name of the SQL Database which the Spring Cloud App should be associated with. Should only be set when api_type is sql.
CosmosDBSQLDatabaseName *string `json:"cosmosdbSqlDatabaseName,omitempty" tf:"cosmosdb_sql_database_name,omitempty"`
}
type SpringCloudAppCosmosDBAssociationObservation struct {
// Specifies the API type which should be used when connecting to the CosmosDB Account. Possible values are cassandra, gremlin, mongo, sql or table. Changing this forces a new resource to be created.
APIType *string `json:"apiType,omitempty" tf:"api_type,omitempty"`
// Specifies the CosmosDB Account access key.
CosmosDBAccessKey *string `json:"cosmosdbAccessKey,omitempty" tf:"cosmosdb_access_key,omitempty"`
// Specifies the ID of the CosmosDB Account. Changing this forces a new resource to be created.
CosmosDBAccountID *string `json:"cosmosdbAccountId,omitempty" tf:"cosmosdb_account_id,omitempty"`
// Specifies the name of the Cassandra Keyspace which the Spring Cloud App should be associated with. Should only be set when api_type is cassandra.
CosmosDBCassandraKeySpaceName *string `json:"cosmosdbCassandraKeyspaceName,omitempty" tf:"cosmosdb_cassandra_keyspace_name,omitempty"`
// Specifies the name of the Gremlin Database which the Spring Cloud App should be associated with. Should only be set when api_type is gremlin.
CosmosDBGremlinDatabaseName *string `json:"cosmosdbGremlinDatabaseName,omitempty" tf:"cosmosdb_gremlin_database_name,omitempty"`
// Specifies the name of the Gremlin Graph which the Spring Cloud App should be associated with. Should only be set when api_type is gremlin.
CosmosDBGremlinGraphName *string `json:"cosmosdbGremlinGraphName,omitempty" tf:"cosmosdb_gremlin_graph_name,omitempty"`
// Specifies the name of the Mongo Database which the Spring Cloud App should be associated with. Should only be set when api_type is mongo.
CosmosDBMongoDatabaseName *string `json:"cosmosdbMongoDatabaseName,omitempty" tf:"cosmosdb_mongo_database_name,omitempty"`
// Specifies the name of the SQL Database which the Spring Cloud App should be associated with. Should only be set when api_type is sql.
CosmosDBSQLDatabaseName *string `json:"cosmosdbSqlDatabaseName,omitempty" tf:"cosmosdb_sql_database_name,omitempty"`
// The ID of the Spring Cloud Application CosmosDB Association.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.
SpringCloudAppID *string `json:"springCloudAppId,omitempty" tf:"spring_cloud_app_id,omitempty"`
}
type SpringCloudAppCosmosDBAssociationParameters struct {
// Specifies the API type which should be used when connecting to the CosmosDB Account. Possible values are cassandra, gremlin, mongo, sql or table. Changing this forces a new resource to be created.
// +kubebuilder:validation:Optional
APIType *string `json:"apiType,omitempty" tf:"api_type,omitempty"`
// Specifies the CosmosDB Account access key.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/cosmosdb/v1beta2.Account
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("primary_key",true)
// +kubebuilder:validation:Optional
CosmosDBAccessKey *string `json:"cosmosdbAccessKey,omitempty" tf:"cosmosdb_access_key,omitempty"`
// Reference to a Account in cosmosdb to populate cosmosdbAccessKey.
// +kubebuilder:validation:Optional
CosmosDBAccessKeyRef *v1.Reference `json:"cosmosdbAccessKeyRef,omitempty" tf:"-"`
// Selector for a Account in cosmosdb to populate cosmosdbAccessKey.
// +kubebuilder:validation:Optional
CosmosDBAccessKeySelector *v1.Selector `json:"cosmosdbAccessKeySelector,omitempty" tf:"-"`
// Specifies the ID of the CosmosDB Account. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/cosmosdb/v1beta2.Account
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
CosmosDBAccountID *string `json:"cosmosdbAccountId,omitempty" tf:"cosmosdb_account_id,omitempty"`
// Reference to a Account in cosmosdb to populate cosmosdbAccountId.
// +kubebuilder:validation:Optional
CosmosDBAccountIDRef *v1.Reference `json:"cosmosdbAccountIdRef,omitempty" tf:"-"`
// Selector for a Account in cosmosdb to populate cosmosdbAccountId.
// +kubebuilder:validation:Optional
CosmosDBAccountIDSelector *v1.Selector `json:"cosmosdbAccountIdSelector,omitempty" tf:"-"`
// Specifies the name of the Cassandra Keyspace which the Spring Cloud App should be associated with. Should only be set when api_type is cassandra.
// +kubebuilder:validation:Optional
CosmosDBCassandraKeySpaceName *string `json:"cosmosdbCassandraKeyspaceName,omitempty" tf:"cosmosdb_cassandra_keyspace_name,omitempty"`
// Specifies the name of the Gremlin Database which the Spring Cloud App should be associated with. Should only be set when api_type is gremlin.
// +kubebuilder:validation:Optional
CosmosDBGremlinDatabaseName *string `json:"cosmosdbGremlinDatabaseName,omitempty" tf:"cosmosdb_gremlin_database_name,omitempty"`
// Specifies the name of the Gremlin Graph which the Spring Cloud App should be associated with. Should only be set when api_type is gremlin.
// +kubebuilder:validation:Optional
CosmosDBGremlinGraphName *string `json:"cosmosdbGremlinGraphName,omitempty" tf:"cosmosdb_gremlin_graph_name,omitempty"`
// Specifies the name of the Mongo Database which the Spring Cloud App should be associated with. Should only be set when api_type is mongo.
// +kubebuilder:validation:Optional
CosmosDBMongoDatabaseName *string `json:"cosmosdbMongoDatabaseName,omitempty" tf:"cosmosdb_mongo_database_name,omitempty"`
// Specifies the name of the SQL Database which the Spring Cloud App should be associated with. Should only be set when api_type is sql.
// +kubebuilder:validation:Optional
CosmosDBSQLDatabaseName *string `json:"cosmosdbSqlDatabaseName,omitempty" tf:"cosmosdb_sql_database_name,omitempty"`
// Specifies the ID of the Spring Cloud Application where this Association is created. Changing this forces a new resource to be created.
// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/appplatform/v1beta2.SpringCloudApp
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
SpringCloudAppID *string `json:"springCloudAppId,omitempty" tf:"spring_cloud_app_id,omitempty"`
// Reference to a SpringCloudApp in appplatform to populate springCloudAppId.
// +kubebuilder:validation:Optional
SpringCloudAppIDRef *v1.Reference `json:"springCloudAppIdRef,omitempty" tf:"-"`
// Selector for a SpringCloudApp in appplatform to populate springCloudAppId.
// +kubebuilder:validation:Optional
SpringCloudAppIDSelector *v1.Selector `json:"springCloudAppIdSelector,omitempty" tf:"-"`
}
// SpringCloudAppCosmosDBAssociationSpec defines the desired state of SpringCloudAppCosmosDBAssociation
type SpringCloudAppCosmosDBAssociationSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider SpringCloudAppCosmosDBAssociationParameters `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 SpringCloudAppCosmosDBAssociationInitParameters `json:"initProvider,omitempty"`
}
// SpringCloudAppCosmosDBAssociationStatus defines the observed state of SpringCloudAppCosmosDBAssociation.
type SpringCloudAppCosmosDBAssociationStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider SpringCloudAppCosmosDBAssociationObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// SpringCloudAppCosmosDBAssociation is the Schema for the SpringCloudAppCosmosDBAssociations API. Associates a
// +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,azure}
type SpringCloudAppCosmosDBAssociation 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.apiType) || (has(self.initProvider) && has(self.initProvider.apiType))",message="spec.forProvider.apiType is a required parameter"
Spec SpringCloudAppCosmosDBAssociationSpec `json:"spec"`
Status SpringCloudAppCosmosDBAssociationStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// SpringCloudAppCosmosDBAssociationList contains a list of SpringCloudAppCosmosDBAssociations
type SpringCloudAppCosmosDBAssociationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SpringCloudAppCosmosDBAssociation `json:"items"`
}
// Repository type metadata.
var (
SpringCloudAppCosmosDBAssociation_Kind = "SpringCloudAppCosmosDBAssociation"
SpringCloudAppCosmosDBAssociation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SpringCloudAppCosmosDBAssociation_Kind}.String()
SpringCloudAppCosmosDBAssociation_KindAPIVersion = SpringCloudAppCosmosDBAssociation_Kind + "." + CRDGroupVersion.String()
SpringCloudAppCosmosDBAssociation_GroupVersionKind = CRDGroupVersion.WithKind(SpringCloudAppCosmosDBAssociation_Kind)
)
func init() {
SchemeBuilder.Register(&SpringCloudAppCosmosDBAssociation{}, &SpringCloudAppCosmosDBAssociationList{})
}