@@ -54,15 +54,8 @@ type BigQueryConnectionConnectionSpec struct {
54
54
// Amazon Web Services (AWS) properties.
55
55
AwsSpec * AwsPropertiesSpec `json:"aws,omitempty"`
56
56
57
- /* NOTYET
58
57
// Azure properties.
59
- Azure *AzureProperties `json:"azure,omitempty"`
60
- */
61
-
62
- /* NOTYET
63
- // Cloud Spanner properties.
64
- CloudSpanner *CloudSpannerProperties `json:"cloudSpanner,omitempty"`
65
- */
58
+ AzureSpec * AzurePropertiesSpec `json:"azure,omitempty"`
66
59
67
60
/* NOTYET
68
61
// Spark properties.
@@ -78,6 +71,9 @@ type BigQueryConnectionConnectionSpec struct {
78
71
79
72
// Use Cloud Resource properties.
80
73
CloudResourceSpec * CloudResourcePropertiesSpec `json:"cloudResource,omitempty"`
74
+
75
+ // Cloud Spanner properties.
76
+ CloudSpannerSpec * CloudSpannerPropertiesSpec `json:"cloudSpanner,omitempty"`
81
77
}
82
78
83
79
// BigQueryConnectionConnectionStatus defines the config connector machine state of BigQueryConnectionConnection
@@ -101,6 +97,8 @@ type BigQueryConnectionConnectionStatus struct {
101
97
type BigQueryConnectionConnectionObservedState struct {
102
98
Aws * AwsPropertiesStatus `json:"aws,omitempty"`
103
99
100
+ Azure * AzurePropertiesStatus `json:"azure,omitempty"`
101
+
104
102
CloudResource * CloudResourcePropertiesStatus `json:"cloudResource,omitempty"`
105
103
106
104
CloudSql * CloudSqlPropertiesStatus `json:"cloudSql,omitempty"`
@@ -149,6 +147,16 @@ type AwsAccessRoleSpec struct {
149
147
IamRoleID * string `json:"iamRoleID,omitempty"`
150
148
}
151
149
150
+ type AzurePropertiesSpec struct {
151
+ // The id of customer's directory that host the data.
152
+ // +required
153
+ CustomerTenantID * string `json:"customerTenantID,omitempty"`
154
+
155
+ // The client ID of the user's Azure Active Directory Application used for a
156
+ // federated connection.
157
+ FederatedApplicationClientID * string `json:"federatedApplicationClientID,omitempty"`
158
+ }
159
+
152
160
type CloudResourcePropertiesSpec struct {}
153
161
154
162
type CloudSqlPropertiesSpec struct {
@@ -165,6 +173,50 @@ type CloudSqlPropertiesSpec struct {
165
173
Credential * CloudSqlCredential `json:"credential,omitempty"`
166
174
}
167
175
176
+ type CloudSpannerPropertiesSpec struct {
177
+ // Reference to a spanner database ID.
178
+ // +required
179
+ DatabaseRef * refv1beta1.SpannerDatabaseRef `json:"databaseRef,omitempty"`
180
+
181
+ // If parallelism should be used when reading from Cloud Spanner
182
+ UseParallelism * bool `json:"useParallelism,omitempty"`
183
+
184
+ // Allows setting max parallelism per query when executing on Spanner
185
+ // independent compute resources. If unspecified, default values of
186
+ // parallelism are chosen that are dependent on the Cloud Spanner instance
187
+ // configuration.
188
+ //
189
+ // REQUIRES: `use_parallelism` must be set.
190
+ // REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be
191
+ // set.
192
+ MaxParallelism * int32 `json:"maxParallelism,omitempty"`
193
+
194
+ // If the serverless analytics service should be used to read data from Cloud
195
+ // Spanner.
196
+ // Note: `use_parallelism` must be set when using serverless analytics.
197
+ UseServerlessAnalytics * bool `json:"useServerlessAnalytics,omitempty"`
198
+
199
+ // If set, the request will be executed via Spanner independent compute
200
+ // resources.
201
+ // REQUIRES: `use_parallelism` must be set.
202
+ //
203
+ // NOTE: `use_serverless_analytics` will be deprecated. Prefer
204
+ // `use_data_boost` over `use_serverless_analytics`.
205
+ UseDataBoost * bool `json:"useDataBoost,omitempty"`
206
+
207
+ // Optional. Cloud Spanner database role for fine-grained access control.
208
+ // The Cloud Spanner admin should have provisioned the database role with
209
+ // appropriate permissions, such as `SELECT` and `INSERT`. Other users should
210
+ // only use roles provided by their Cloud Spanner admins.
211
+ //
212
+ // For more details, see [About fine-grained access control]
213
+ // (https://cloud.google.com/spanner/docs/fgac-about).
214
+ //
215
+ // REQUIRES: The database role name must start with a letter, and can only
216
+ // contain letters, numbers, and underscores.
217
+ DatabaseRole * string `json:"databaseRole,omitempty"`
218
+ }
219
+
168
220
// +kcc:proto=google.cloud.bigquery.connection.v1.AwsProperties
169
221
type AwsPropertiesStatus struct {
170
222
AccessRole * AwsAccessRoleStatus `json:"accessRole,omitempty"`
@@ -177,6 +229,27 @@ type AwsAccessRoleStatus struct {
177
229
Identity * string `json:"identity,omitempty"`
178
230
}
179
231
232
+ // +kcc:proto=google.cloud.bigquery.connection.v1.AzureProperties
233
+ type AzurePropertiesStatus struct {
234
+ // The name of the Azure Active Directory Application.
235
+ Application * string `json:"application,omitempty"`
236
+
237
+ // The client id of the Azure Active Directory Application.
238
+ ClientID * string `json:"clientID,omitempty"`
239
+
240
+ // The object id of the Azure Active Directory Application.
241
+ ObjectID * string `json:"objectID,omitempty"`
242
+
243
+ // The URL user will be redirected to after granting consent during connection
244
+ // setup.
245
+ RedirectUri * string `json:"redirectUri,omitempty"`
246
+
247
+ // A unique Google-owned and Google-generated identity for the
248
+ // Connection. This identity will be used to access the user's Azure Active
249
+ // Directory Application.
250
+ Identity * string `json:"identity,omitempty"`
251
+ }
252
+
180
253
// +kcc:proto=google.cloud.bigquery.connection.v1.CloudSqlProperties
181
254
type CloudSqlPropertiesStatus struct {
182
255
// The account ID of the service used for the purpose of this connection.
0 commit comments