google-apis-firebasedataconnect_v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1119 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module FirebasedataconnectV1
24
+
25
+ # The request message for Operations.CancelOperation.
26
+ class CancelOperationRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # Settings for CloudSQL instance configuration.
39
+ class CloudSqlInstance
40
+ include Google::Apis::Core::Hashable
41
+
42
+ # Required. Name of the CloudSQL instance, in the format: ``` projects/`project`/
43
+ # locations/`location`/instances/`instance` ```
44
+ # Corresponds to the JSON property `instance`
45
+ # @return [String]
46
+ attr_accessor :instance
47
+
48
+ def initialize(**args)
49
+ update!(**args)
50
+ end
51
+
52
+ # Update properties of this object
53
+ def update!(**args)
54
+ @instance = args[:instance] if args.key?(:instance)
55
+ end
56
+ end
57
+
58
+ # Connector consists of a set of operations, i.e. queries and mutations.
59
+ class Connector
60
+ include Google::Apis::Core::Hashable
61
+
62
+ # Optional. Stores small amounts of arbitrary data.
63
+ # Corresponds to the JSON property `annotations`
64
+ # @return [Hash<String,String>]
65
+ attr_accessor :annotations
66
+
67
+ # Output only. [Output only] Create time stamp.
68
+ # Corresponds to the JSON property `createTime`
69
+ # @return [String]
70
+ attr_accessor :create_time
71
+
72
+ # Optional. Mutable human-readable name. 63 character limit.
73
+ # Corresponds to the JSON property `displayName`
74
+ # @return [String]
75
+ attr_accessor :display_name
76
+
77
+ # Output only. This checksum is computed by the server based on the value of
78
+ # other fields, and may be sent on update and delete requests to ensure the
79
+ # client has an up-to-date value before proceeding. [AIP-154](https://google.aip.
80
+ # dev/154)
81
+ # Corresponds to the JSON property `etag`
82
+ # @return [String]
83
+ attr_accessor :etag
84
+
85
+ # Optional. Labels as key value pairs.
86
+ # Corresponds to the JSON property `labels`
87
+ # @return [Hash<String,String>]
88
+ attr_accessor :labels
89
+
90
+ # Identifier. The relative resource name of the connector, in the format: ```
91
+ # projects/`project`/locations/`location`/services/`service`/connectors/`
92
+ # connector` ```
93
+ # Corresponds to the JSON property `name`
94
+ # @return [String]
95
+ attr_accessor :name
96
+
97
+ # Output only. A field that if true, indicates that the system is working to
98
+ # compile and deploy the connector.
99
+ # Corresponds to the JSON property `reconciling`
100
+ # @return [Boolean]
101
+ attr_accessor :reconciling
102
+ alias_method :reconciling?, :reconciling
103
+
104
+ # Used to represent a set of source files.
105
+ # Corresponds to the JSON property `source`
106
+ # @return [Google::Apis::FirebasedataconnectV1::Source]
107
+ attr_accessor :source
108
+
109
+ # Output only. System-assigned, unique identifier.
110
+ # Corresponds to the JSON property `uid`
111
+ # @return [String]
112
+ attr_accessor :uid
113
+
114
+ # Output only. [Output only] Update time stamp.
115
+ # Corresponds to the JSON property `updateTime`
116
+ # @return [String]
117
+ attr_accessor :update_time
118
+
119
+ def initialize(**args)
120
+ update!(**args)
121
+ end
122
+
123
+ # Update properties of this object
124
+ def update!(**args)
125
+ @annotations = args[:annotations] if args.key?(:annotations)
126
+ @create_time = args[:create_time] if args.key?(:create_time)
127
+ @display_name = args[:display_name] if args.key?(:display_name)
128
+ @etag = args[:etag] if args.key?(:etag)
129
+ @labels = args[:labels] if args.key?(:labels)
130
+ @name = args[:name] if args.key?(:name)
131
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
132
+ @source = args[:source] if args.key?(:source)
133
+ @uid = args[:uid] if args.key?(:uid)
134
+ @update_time = args[:update_time] if args.key?(:update_time)
135
+ end
136
+ end
137
+
138
+ # A data source that backs Firebase Data Connect services.
139
+ class Datasource
140
+ include Google::Apis::Core::Hashable
141
+
142
+ # Settings for PostgreSQL data source.
143
+ # Corresponds to the JSON property `postgresql`
144
+ # @return [Google::Apis::FirebasedataconnectV1::PostgreSql]
145
+ attr_accessor :postgresql
146
+
147
+ def initialize(**args)
148
+ update!(**args)
149
+ end
150
+
151
+ # Update properties of this object
152
+ def update!(**args)
153
+ @postgresql = args[:postgresql] if args.key?(:postgresql)
154
+ end
155
+ end
156
+
157
+ # A generic empty message that you can re-use to avoid defining duplicated empty
158
+ # messages in your APIs. A typical example is to use it as the request or the
159
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
160
+ # protobuf.Empty) returns (google.protobuf.Empty); `
161
+ class Empty
162
+ include Google::Apis::Core::Hashable
163
+
164
+ def initialize(**args)
165
+ update!(**args)
166
+ end
167
+
168
+ # Update properties of this object
169
+ def update!(**args)
170
+ end
171
+ end
172
+
173
+ # The ExecuteMutation request to Firebase Data Connect.
174
+ class ExecuteMutationRequest
175
+ include Google::Apis::Core::Hashable
176
+
177
+ # Required. The name of the GraphQL operation name. Required because all
178
+ # Connector operations must be named. See https://graphql.org/learn/queries/#
179
+ # operation-name.
180
+ # Corresponds to the JSON property `operationName`
181
+ # @return [String]
182
+ attr_accessor :operation_name
183
+
184
+ # Optional. Values for GraphQL variables provided in this request.
185
+ # Corresponds to the JSON property `variables`
186
+ # @return [Hash<String,Object>]
187
+ attr_accessor :variables
188
+
189
+ def initialize(**args)
190
+ update!(**args)
191
+ end
192
+
193
+ # Update properties of this object
194
+ def update!(**args)
195
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
196
+ @variables = args[:variables] if args.key?(:variables)
197
+ end
198
+ end
199
+
200
+ # The ExecuteMutation response from Firebase Data Connect.
201
+ class ExecuteMutationResponse
202
+ include Google::Apis::Core::Hashable
203
+
204
+ # The result of executing the requested operation.
205
+ # Corresponds to the JSON property `data`
206
+ # @return [Hash<String,Object>]
207
+ attr_accessor :data
208
+
209
+ # Errors of this response.
210
+ # Corresponds to the JSON property `errors`
211
+ # @return [Array<Google::Apis::FirebasedataconnectV1::GraphqlError>]
212
+ attr_accessor :errors
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ @data = args[:data] if args.key?(:data)
221
+ @errors = args[:errors] if args.key?(:errors)
222
+ end
223
+ end
224
+
225
+ # The ExecuteQuery request to Firebase Data Connect.
226
+ class ExecuteQueryRequest
227
+ include Google::Apis::Core::Hashable
228
+
229
+ # Required. The name of the GraphQL operation name. Required because all
230
+ # Connector operations must be named. See https://graphql.org/learn/queries/#
231
+ # operation-name.
232
+ # Corresponds to the JSON property `operationName`
233
+ # @return [String]
234
+ attr_accessor :operation_name
235
+
236
+ # Optional. Values for GraphQL variables provided in this request.
237
+ # Corresponds to the JSON property `variables`
238
+ # @return [Hash<String,Object>]
239
+ attr_accessor :variables
240
+
241
+ def initialize(**args)
242
+ update!(**args)
243
+ end
244
+
245
+ # Update properties of this object
246
+ def update!(**args)
247
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
248
+ @variables = args[:variables] if args.key?(:variables)
249
+ end
250
+ end
251
+
252
+ # The ExecuteQuery response from Firebase Data Connect.
253
+ class ExecuteQueryResponse
254
+ include Google::Apis::Core::Hashable
255
+
256
+ # The result of executing the requested operation.
257
+ # Corresponds to the JSON property `data`
258
+ # @return [Hash<String,Object>]
259
+ attr_accessor :data
260
+
261
+ # Errors of this response.
262
+ # Corresponds to the JSON property `errors`
263
+ # @return [Array<Google::Apis::FirebasedataconnectV1::GraphqlError>]
264
+ attr_accessor :errors
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ @data = args[:data] if args.key?(:data)
273
+ @errors = args[:errors] if args.key?(:errors)
274
+ end
275
+ end
276
+
277
+ # Individual files.
278
+ class File
279
+ include Google::Apis::Core::Hashable
280
+
281
+ # Required. The file's textual content.
282
+ # Corresponds to the JSON property `content`
283
+ # @return [String]
284
+ attr_accessor :content
285
+
286
+ # Required. The file name including folder path, if applicable. The path should
287
+ # be relative to a local workspace (e.g. dataconnect/(schema|connector)/*.gql)
288
+ # and not an absolute path (e.g. /absolute/path/(schema|connector)/*.gql).
289
+ # Corresponds to the JSON property `path`
290
+ # @return [String]
291
+ attr_accessor :path
292
+
293
+ def initialize(**args)
294
+ update!(**args)
295
+ end
296
+
297
+ # Update properties of this object
298
+ def update!(**args)
299
+ @content = args[:content] if args.key?(:content)
300
+ @path = args[:path] if args.key?(:path)
301
+ end
302
+ end
303
+
304
+ # GraphqlError conforms to the GraphQL error spec. https://spec.graphql.org/
305
+ # draft/#sec-Errors Firebase Data Connect API surfaces `GraphqlError` in various
306
+ # APIs: - Upon compile error, `UpdateSchema` and `UpdateConnector` return Code.
307
+ # Invalid_Argument with a list of `GraphqlError` in error details. - Upon query
308
+ # compile error, `ExecuteGraphql` and `ExecuteGraphqlRead` return Code.OK with a
309
+ # list of `GraphqlError` in response body. - Upon query execution error, `
310
+ # ExecuteGraphql`, `ExecuteGraphqlRead`, `ExecuteMutation` and `ExecuteQuery`
311
+ # all return Code.OK with a list of `GraphqlError` in response body.
312
+ class GraphqlError
313
+ include Google::Apis::Core::Hashable
314
+
315
+ # GraphqlErrorExtensions contains additional information of `GraphqlError`.
316
+ # Corresponds to the JSON property `extensions`
317
+ # @return [Google::Apis::FirebasedataconnectV1::GraphqlErrorExtensions]
318
+ attr_accessor :extensions
319
+
320
+ # The source locations where the error occurred. Locations should help
321
+ # developers and toolings identify the source of error quickly. Included in
322
+ # admin endpoints (`ExecuteGraphql`, `ExecuteGraphqlRead`, `UpdateSchema` and `
323
+ # UpdateConnector`) to reference the provided GraphQL GQL document. Omitted in `
324
+ # ExecuteMutation` and `ExecuteQuery` since the caller shouldn't have access
325
+ # access the underlying GQL source.
326
+ # Corresponds to the JSON property `locations`
327
+ # @return [Array<Google::Apis::FirebasedataconnectV1::SourceLocation>]
328
+ attr_accessor :locations
329
+
330
+ # The detailed error message. The message should help developer understand the
331
+ # underlying problem without leaking internal data.
332
+ # Corresponds to the JSON property `message`
333
+ # @return [String]
334
+ attr_accessor :message
335
+
336
+ # The result field which could not be populated due to error. Clients can use
337
+ # path to identify whether a null result is intentional or caused by a runtime
338
+ # error. It should be a list of string or index from the root of GraphQL query
339
+ # document.
340
+ # Corresponds to the JSON property `path`
341
+ # @return [Array<Object>]
342
+ attr_accessor :path
343
+
344
+ def initialize(**args)
345
+ update!(**args)
346
+ end
347
+
348
+ # Update properties of this object
349
+ def update!(**args)
350
+ @extensions = args[:extensions] if args.key?(:extensions)
351
+ @locations = args[:locations] if args.key?(:locations)
352
+ @message = args[:message] if args.key?(:message)
353
+ @path = args[:path] if args.key?(:path)
354
+ end
355
+ end
356
+
357
+ # GraphqlErrorExtensions contains additional information of `GraphqlError`.
358
+ class GraphqlErrorExtensions
359
+ include Google::Apis::Core::Hashable
360
+
361
+ # The source file name where the error occurred. Included only for `UpdateSchema`
362
+ # and `UpdateConnector`, it corresponds to `File.path` of the provided `Source`.
363
+ # Corresponds to the JSON property `file`
364
+ # @return [String]
365
+ attr_accessor :file
366
+
367
+ def initialize(**args)
368
+ update!(**args)
369
+ end
370
+
371
+ # Update properties of this object
372
+ def update!(**args)
373
+ @file = args[:file] if args.key?(:file)
374
+ end
375
+ end
376
+
377
+ # The GraphQL request to Firebase Data Connect. It strives to match the GraphQL
378
+ # over HTTP spec. https://github.com/graphql/graphql-over-http/blob/main/spec/
379
+ # GraphQLOverHTTP.md#post
380
+ class GraphqlRequest
381
+ include Google::Apis::Core::Hashable
382
+
383
+ # GraphqlRequestExtensions contains additional information of `GraphqlRequest`.
384
+ # Corresponds to the JSON property `extensions`
385
+ # @return [Google::Apis::FirebasedataconnectV1::GraphqlRequestExtensions]
386
+ attr_accessor :extensions
387
+
388
+ # Optional. The name of the GraphQL operation name. Required only if `query`
389
+ # contains multiple operations. See https://graphql.org/learn/queries/#operation-
390
+ # name.
391
+ # Corresponds to the JSON property `operationName`
392
+ # @return [String]
393
+ attr_accessor :operation_name
394
+
395
+ # Required. The GraphQL query document source.
396
+ # Corresponds to the JSON property `query`
397
+ # @return [String]
398
+ attr_accessor :query
399
+
400
+ # Optional. Values for GraphQL variables provided in this request.
401
+ # Corresponds to the JSON property `variables`
402
+ # @return [Hash<String,Object>]
403
+ attr_accessor :variables
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @extensions = args[:extensions] if args.key?(:extensions)
412
+ @operation_name = args[:operation_name] if args.key?(:operation_name)
413
+ @query = args[:query] if args.key?(:query)
414
+ @variables = args[:variables] if args.key?(:variables)
415
+ end
416
+ end
417
+
418
+ # GraphqlRequestExtensions contains additional information of `GraphqlRequest`.
419
+ class GraphqlRequestExtensions
420
+ include Google::Apis::Core::Hashable
421
+
422
+ # Impersonation configures the Firebase Auth context to impersonate.
423
+ # Corresponds to the JSON property `impersonate`
424
+ # @return [Google::Apis::FirebasedataconnectV1::Impersonation]
425
+ attr_accessor :impersonate
426
+
427
+ def initialize(**args)
428
+ update!(**args)
429
+ end
430
+
431
+ # Update properties of this object
432
+ def update!(**args)
433
+ @impersonate = args[:impersonate] if args.key?(:impersonate)
434
+ end
435
+ end
436
+
437
+ # The GraphQL response from Firebase Data Connect. It strives to match the
438
+ # GraphQL over HTTP spec. Note: Firebase Data Connect always responds with `
439
+ # Content-Type: application/json`. https://github.com/graphql/graphql-over-http/
440
+ # blob/main/spec/GraphQLOverHTTP.md#body
441
+ class GraphqlResponse
442
+ include Google::Apis::Core::Hashable
443
+
444
+ # The result of the execution of the requested operation. If an error was raised
445
+ # before execution begins, the data entry should not be present in the result. (
446
+ # a request error: https://spec.graphql.org/draft/#sec-Errors.Request-Errors) If
447
+ # an error was raised during the execution that prevented a valid response, the
448
+ # data entry in the response should be null. (a field error: https://spec.
449
+ # graphql.org/draft/#sec-Errors.Error-Result-Format)
450
+ # Corresponds to the JSON property `data`
451
+ # @return [Hash<String,Object>]
452
+ attr_accessor :data
453
+
454
+ # Errors of this response. If the data entry in the response is not present, the
455
+ # errors entry must be present. It conforms to https://spec.graphql.org/draft/#
456
+ # sec-Errors.
457
+ # Corresponds to the JSON property `errors`
458
+ # @return [Array<Google::Apis::FirebasedataconnectV1::GraphqlError>]
459
+ attr_accessor :errors
460
+
461
+ def initialize(**args)
462
+ update!(**args)
463
+ end
464
+
465
+ # Update properties of this object
466
+ def update!(**args)
467
+ @data = args[:data] if args.key?(:data)
468
+ @errors = args[:errors] if args.key?(:errors)
469
+ end
470
+ end
471
+
472
+ # Impersonation configures the Firebase Auth context to impersonate.
473
+ class Impersonation
474
+ include Google::Apis::Core::Hashable
475
+
476
+ # Evaluate the auth policy with a customized JWT auth token. Should follow the
477
+ # Firebase Auth token format. https://firebase.google.com/docs/rules/rules-and-
478
+ # auth For example: a verified user may have auth_claims of `"sub": , "
479
+ # email_verified": true`
480
+ # Corresponds to the JSON property `authClaims`
481
+ # @return [Hash<String,Object>]
482
+ attr_accessor :auth_claims
483
+
484
+ # Evaluate the auth policy as an unauthenticated request. Can only be set to
485
+ # true.
486
+ # Corresponds to the JSON property `unauthenticated`
487
+ # @return [Boolean]
488
+ attr_accessor :unauthenticated
489
+ alias_method :unauthenticated?, :unauthenticated
490
+
491
+ def initialize(**args)
492
+ update!(**args)
493
+ end
494
+
495
+ # Update properties of this object
496
+ def update!(**args)
497
+ @auth_claims = args[:auth_claims] if args.key?(:auth_claims)
498
+ @unauthenticated = args[:unauthenticated] if args.key?(:unauthenticated)
499
+ end
500
+ end
501
+
502
+ # Message for response to listing Connectors. By default, `connectors.source`
503
+ # will not be included in the response. To specify the fields included in the
504
+ # response, the response field mask can be provided by using the query parameter
505
+ # `$fields` or the header `X-Goog-FieldMask`.
506
+ class ListConnectorsResponse
507
+ include Google::Apis::Core::Hashable
508
+
509
+ # The list of Connectors.
510
+ # Corresponds to the JSON property `connectors`
511
+ # @return [Array<Google::Apis::FirebasedataconnectV1::Connector>]
512
+ attr_accessor :connectors
513
+
514
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
515
+ # field is omitted, there are no subsequent pages.
516
+ # Corresponds to the JSON property `nextPageToken`
517
+ # @return [String]
518
+ attr_accessor :next_page_token
519
+
520
+ # Locations that could not be reached.
521
+ # Corresponds to the JSON property `unreachable`
522
+ # @return [Array<String>]
523
+ attr_accessor :unreachable
524
+
525
+ def initialize(**args)
526
+ update!(**args)
527
+ end
528
+
529
+ # Update properties of this object
530
+ def update!(**args)
531
+ @connectors = args[:connectors] if args.key?(:connectors)
532
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
533
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
534
+ end
535
+ end
536
+
537
+ # The response message for Locations.ListLocations.
538
+ class ListLocationsResponse
539
+ include Google::Apis::Core::Hashable
540
+
541
+ # A list of locations that matches the specified filter in the request.
542
+ # Corresponds to the JSON property `locations`
543
+ # @return [Array<Google::Apis::FirebasedataconnectV1::Location>]
544
+ attr_accessor :locations
545
+
546
+ # The standard List next-page token.
547
+ # Corresponds to the JSON property `nextPageToken`
548
+ # @return [String]
549
+ attr_accessor :next_page_token
550
+
551
+ def initialize(**args)
552
+ update!(**args)
553
+ end
554
+
555
+ # Update properties of this object
556
+ def update!(**args)
557
+ @locations = args[:locations] if args.key?(:locations)
558
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
559
+ end
560
+ end
561
+
562
+ # The response message for Operations.ListOperations.
563
+ class ListOperationsResponse
564
+ include Google::Apis::Core::Hashable
565
+
566
+ # The standard List next-page token.
567
+ # Corresponds to the JSON property `nextPageToken`
568
+ # @return [String]
569
+ attr_accessor :next_page_token
570
+
571
+ # A list of operations that matches the specified filter in the request.
572
+ # Corresponds to the JSON property `operations`
573
+ # @return [Array<Google::Apis::FirebasedataconnectV1::Operation>]
574
+ attr_accessor :operations
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
583
+ @operations = args[:operations] if args.key?(:operations)
584
+ end
585
+ end
586
+
587
+ # Message for response to listing Schemas. By default, `schemas.source` will not
588
+ # be included in the response. To specify the fields included in the response,
589
+ # the response field mask can be provided by using the query parameter `$fields`
590
+ # or the header `X-Goog-FieldMask`.
591
+ class ListSchemasResponse
592
+ include Google::Apis::Core::Hashable
593
+
594
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
595
+ # field is omitted, there are no subsequent pages.
596
+ # Corresponds to the JSON property `nextPageToken`
597
+ # @return [String]
598
+ attr_accessor :next_page_token
599
+
600
+ # The list of Schemas.
601
+ # Corresponds to the JSON property `schemas`
602
+ # @return [Array<Google::Apis::FirebasedataconnectV1::Schema>]
603
+ attr_accessor :schemas
604
+
605
+ # Locations that could not be reached.
606
+ # Corresponds to the JSON property `unreachable`
607
+ # @return [Array<String>]
608
+ attr_accessor :unreachable
609
+
610
+ def initialize(**args)
611
+ update!(**args)
612
+ end
613
+
614
+ # Update properties of this object
615
+ def update!(**args)
616
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
617
+ @schemas = args[:schemas] if args.key?(:schemas)
618
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
619
+ end
620
+ end
621
+
622
+ # Message for response to listing Services.
623
+ class ListServicesResponse
624
+ include Google::Apis::Core::Hashable
625
+
626
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
627
+ # field is omitted, there are no subsequent pages.
628
+ # Corresponds to the JSON property `nextPageToken`
629
+ # @return [String]
630
+ attr_accessor :next_page_token
631
+
632
+ # The list of Services.
633
+ # Corresponds to the JSON property `services`
634
+ # @return [Array<Google::Apis::FirebasedataconnectV1::Service>]
635
+ attr_accessor :services
636
+
637
+ # Locations that could not be reached.
638
+ # Corresponds to the JSON property `unreachable`
639
+ # @return [Array<String>]
640
+ attr_accessor :unreachable
641
+
642
+ def initialize(**args)
643
+ update!(**args)
644
+ end
645
+
646
+ # Update properties of this object
647
+ def update!(**args)
648
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
649
+ @services = args[:services] if args.key?(:services)
650
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
651
+ end
652
+ end
653
+
654
+ # A resource that represents a Google Cloud location.
655
+ class Location
656
+ include Google::Apis::Core::Hashable
657
+
658
+ # The friendly name for this location, typically a nearby city name. For example,
659
+ # "Tokyo".
660
+ # Corresponds to the JSON property `displayName`
661
+ # @return [String]
662
+ attr_accessor :display_name
663
+
664
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
665
+ # region": "us-east1"`
666
+ # Corresponds to the JSON property `labels`
667
+ # @return [Hash<String,String>]
668
+ attr_accessor :labels
669
+
670
+ # The canonical id for this location. For example: `"us-east1"`.
671
+ # Corresponds to the JSON property `locationId`
672
+ # @return [String]
673
+ attr_accessor :location_id
674
+
675
+ # Service-specific metadata. For example the available capacity at the given
676
+ # location.
677
+ # Corresponds to the JSON property `metadata`
678
+ # @return [Hash<String,Object>]
679
+ attr_accessor :metadata
680
+
681
+ # Resource name for the location, which may vary between implementations. For
682
+ # example: `"projects/example-project/locations/us-east1"`
683
+ # Corresponds to the JSON property `name`
684
+ # @return [String]
685
+ attr_accessor :name
686
+
687
+ def initialize(**args)
688
+ update!(**args)
689
+ end
690
+
691
+ # Update properties of this object
692
+ def update!(**args)
693
+ @display_name = args[:display_name] if args.key?(:display_name)
694
+ @labels = args[:labels] if args.key?(:labels)
695
+ @location_id = args[:location_id] if args.key?(:location_id)
696
+ @metadata = args[:metadata] if args.key?(:metadata)
697
+ @name = args[:name] if args.key?(:name)
698
+ end
699
+ end
700
+
701
+ # This resource represents a long-running operation that is the result of a
702
+ # network API call.
703
+ class Operation
704
+ include Google::Apis::Core::Hashable
705
+
706
+ # If the value is `false`, it means the operation is still in progress. If `true`
707
+ # , the operation is completed, and either `error` or `response` is available.
708
+ # Corresponds to the JSON property `done`
709
+ # @return [Boolean]
710
+ attr_accessor :done
711
+ alias_method :done?, :done
712
+
713
+ # The `Status` type defines a logical error model that is suitable for different
714
+ # programming environments, including REST APIs and RPC APIs. It is used by [
715
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
716
+ # data: error code, error message, and error details. You can find out more
717
+ # about this error model and how to work with it in the [API Design Guide](https:
718
+ # //cloud.google.com/apis/design/errors).
719
+ # Corresponds to the JSON property `error`
720
+ # @return [Google::Apis::FirebasedataconnectV1::Status]
721
+ attr_accessor :error
722
+
723
+ # Service-specific metadata associated with the operation. It typically contains
724
+ # progress information and common metadata such as create time. Some services
725
+ # might not provide such metadata. Any method that returns a long-running
726
+ # operation should document the metadata type, if any.
727
+ # Corresponds to the JSON property `metadata`
728
+ # @return [Hash<String,Object>]
729
+ attr_accessor :metadata
730
+
731
+ # The server-assigned name, which is only unique within the same service that
732
+ # originally returns it. If you use the default HTTP mapping, the `name` should
733
+ # be a resource name ending with `operations/`unique_id``.
734
+ # Corresponds to the JSON property `name`
735
+ # @return [String]
736
+ attr_accessor :name
737
+
738
+ # The normal, successful response of the operation. If the original method
739
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
740
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
741
+ # response should be the resource. For other methods, the response should have
742
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
743
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
744
+ # `TakeSnapshotResponse`.
745
+ # Corresponds to the JSON property `response`
746
+ # @return [Hash<String,Object>]
747
+ attr_accessor :response
748
+
749
+ def initialize(**args)
750
+ update!(**args)
751
+ end
752
+
753
+ # Update properties of this object
754
+ def update!(**args)
755
+ @done = args[:done] if args.key?(:done)
756
+ @error = args[:error] if args.key?(:error)
757
+ @metadata = args[:metadata] if args.key?(:metadata)
758
+ @name = args[:name] if args.key?(:name)
759
+ @response = args[:response] if args.key?(:response)
760
+ end
761
+ end
762
+
763
+ # Represents the metadata of the long-running operation. Note: This message is
764
+ # auto-generated by CCFE. CCFE's storage, called Resource Metadata Store (RMS),
765
+ # holds metadata about long-running operations (i.e. OperationMetadata) and
766
+ # resources (i.e. ResourceMetadata). OperationMetadata documents the status of
767
+ # the operation. See [CCFE documentation for sidechannel data](https://g3doc.
768
+ # corp.google.com/cloud/control2/g3doc/dev/codelab_extras/sidechannel.md?cl=head#
769
+ # sidechannel-data) and yaqs/4289526912465764352.
770
+ class OperationMetadata
771
+ include Google::Apis::Core::Hashable
772
+
773
+ # Output only. API version used to start the operation.
774
+ # Corresponds to the JSON property `apiVersion`
775
+ # @return [String]
776
+ attr_accessor :api_version
777
+
778
+ # Output only. The time the operation was created.
779
+ # Corresponds to the JSON property `createTime`
780
+ # @return [String]
781
+ attr_accessor :create_time
782
+
783
+ # Output only. The time the operation finished running.
784
+ # Corresponds to the JSON property `endTime`
785
+ # @return [String]
786
+ attr_accessor :end_time
787
+
788
+ # Output only. Identifies whether the user has requested cancellation of the
789
+ # operation. Operations that have been cancelled successfully have Operation.
790
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
791
+ # CANCELLED`.
792
+ # Corresponds to the JSON property `requestedCancellation`
793
+ # @return [Boolean]
794
+ attr_accessor :requested_cancellation
795
+ alias_method :requested_cancellation?, :requested_cancellation
796
+
797
+ # Output only. Human-readable status of the operation, if any.
798
+ # Corresponds to the JSON property `statusMessage`
799
+ # @return [String]
800
+ attr_accessor :status_message
801
+
802
+ # Output only. Server-defined resource path for the target of the operation.
803
+ # Corresponds to the JSON property `target`
804
+ # @return [String]
805
+ attr_accessor :target
806
+
807
+ # Output only. Name of the verb executed by the operation.
808
+ # Corresponds to the JSON property `verb`
809
+ # @return [String]
810
+ attr_accessor :verb
811
+
812
+ def initialize(**args)
813
+ update!(**args)
814
+ end
815
+
816
+ # Update properties of this object
817
+ def update!(**args)
818
+ @api_version = args[:api_version] if args.key?(:api_version)
819
+ @create_time = args[:create_time] if args.key?(:create_time)
820
+ @end_time = args[:end_time] if args.key?(:end_time)
821
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
822
+ @status_message = args[:status_message] if args.key?(:status_message)
823
+ @target = args[:target] if args.key?(:target)
824
+ @verb = args[:verb] if args.key?(:verb)
825
+ end
826
+ end
827
+
828
+ # Settings for PostgreSQL data source.
829
+ class PostgreSql
830
+ include Google::Apis::Core::Hashable
831
+
832
+ # Settings for CloudSQL instance configuration.
833
+ # Corresponds to the JSON property `cloudSql`
834
+ # @return [Google::Apis::FirebasedataconnectV1::CloudSqlInstance]
835
+ attr_accessor :cloud_sql
836
+
837
+ # Required. Name of the PostgreSQL database.
838
+ # Corresponds to the JSON property `database`
839
+ # @return [String]
840
+ attr_accessor :database
841
+
842
+ # Optional. Configure how to perform Postgresql schema migration.
843
+ # Corresponds to the JSON property `schemaMigration`
844
+ # @return [String]
845
+ attr_accessor :schema_migration
846
+
847
+ # Optional. Configure how much Postgresql schema validation to perform.
848
+ # Corresponds to the JSON property `schemaValidation`
849
+ # @return [String]
850
+ attr_accessor :schema_validation
851
+
852
+ # No Postgres data source is linked. If set, don't allow `database` and `
853
+ # schema_validation` to be configured.
854
+ # Corresponds to the JSON property `unlinked`
855
+ # @return [Boolean]
856
+ attr_accessor :unlinked
857
+ alias_method :unlinked?, :unlinked
858
+
859
+ def initialize(**args)
860
+ update!(**args)
861
+ end
862
+
863
+ # Update properties of this object
864
+ def update!(**args)
865
+ @cloud_sql = args[:cloud_sql] if args.key?(:cloud_sql)
866
+ @database = args[:database] if args.key?(:database)
867
+ @schema_migration = args[:schema_migration] if args.key?(:schema_migration)
868
+ @schema_validation = args[:schema_validation] if args.key?(:schema_validation)
869
+ @unlinked = args[:unlinked] if args.key?(:unlinked)
870
+ end
871
+ end
872
+
873
+ # The application schema of a Firebase Data Connect service.
874
+ class Schema
875
+ include Google::Apis::Core::Hashable
876
+
877
+ # Optional. Stores small amounts of arbitrary data.
878
+ # Corresponds to the JSON property `annotations`
879
+ # @return [Hash<String,String>]
880
+ attr_accessor :annotations
881
+
882
+ # Output only. [Output only] Create time stamp.
883
+ # Corresponds to the JSON property `createTime`
884
+ # @return [String]
885
+ attr_accessor :create_time
886
+
887
+ # Required. The data sources linked in the schema.
888
+ # Corresponds to the JSON property `datasources`
889
+ # @return [Array<Google::Apis::FirebasedataconnectV1::Datasource>]
890
+ attr_accessor :datasources
891
+
892
+ # Optional. Mutable human-readable name. 63 character limit.
893
+ # Corresponds to the JSON property `displayName`
894
+ # @return [String]
895
+ attr_accessor :display_name
896
+
897
+ # Output only. This checksum is computed by the server based on the value of
898
+ # other fields, and may be sent on update and delete requests to ensure the
899
+ # client has an up-to-date value before proceeding. [AIP-154](https://google.aip.
900
+ # dev/154)
901
+ # Corresponds to the JSON property `etag`
902
+ # @return [String]
903
+ attr_accessor :etag
904
+
905
+ # Optional. Labels as key value pairs.
906
+ # Corresponds to the JSON property `labels`
907
+ # @return [Hash<String,String>]
908
+ attr_accessor :labels
909
+
910
+ # Identifier. The relative resource name of the schema, in the format: ```
911
+ # projects/`project`/locations/`location`/services/`service`/schemas/`schema` ```
912
+ # Right now, the only supported schema is "main".
913
+ # Corresponds to the JSON property `name`
914
+ # @return [String]
915
+ attr_accessor :name
916
+
917
+ # Output only. A field that if true, indicates that the system is working to
918
+ # compile and deploy the schema.
919
+ # Corresponds to the JSON property `reconciling`
920
+ # @return [Boolean]
921
+ attr_accessor :reconciling
922
+ alias_method :reconciling?, :reconciling
923
+
924
+ # Used to represent a set of source files.
925
+ # Corresponds to the JSON property `source`
926
+ # @return [Google::Apis::FirebasedataconnectV1::Source]
927
+ attr_accessor :source
928
+
929
+ # Output only. System-assigned, unique identifier.
930
+ # Corresponds to the JSON property `uid`
931
+ # @return [String]
932
+ attr_accessor :uid
933
+
934
+ # Output only. [Output only] Update time stamp.
935
+ # Corresponds to the JSON property `updateTime`
936
+ # @return [String]
937
+ attr_accessor :update_time
938
+
939
+ def initialize(**args)
940
+ update!(**args)
941
+ end
942
+
943
+ # Update properties of this object
944
+ def update!(**args)
945
+ @annotations = args[:annotations] if args.key?(:annotations)
946
+ @create_time = args[:create_time] if args.key?(:create_time)
947
+ @datasources = args[:datasources] if args.key?(:datasources)
948
+ @display_name = args[:display_name] if args.key?(:display_name)
949
+ @etag = args[:etag] if args.key?(:etag)
950
+ @labels = args[:labels] if args.key?(:labels)
951
+ @name = args[:name] if args.key?(:name)
952
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
953
+ @source = args[:source] if args.key?(:source)
954
+ @uid = args[:uid] if args.key?(:uid)
955
+ @update_time = args[:update_time] if args.key?(:update_time)
956
+ end
957
+ end
958
+
959
+ # A Firebase Data Connect service.
960
+ class Service
961
+ include Google::Apis::Core::Hashable
962
+
963
+ # Optional. Stores small amounts of arbitrary data.
964
+ # Corresponds to the JSON property `annotations`
965
+ # @return [Hash<String,String>]
966
+ attr_accessor :annotations
967
+
968
+ # Output only. [Output only] Create time stamp.
969
+ # Corresponds to the JSON property `createTime`
970
+ # @return [String]
971
+ attr_accessor :create_time
972
+
973
+ # Optional. Mutable human-readable name. 63 character limit.
974
+ # Corresponds to the JSON property `displayName`
975
+ # @return [String]
976
+ attr_accessor :display_name
977
+
978
+ # Output only. This checksum is computed by the server based on the value of
979
+ # other fields, and may be sent on update and delete requests to ensure the
980
+ # client has an up-to-date value before proceeding. [AIP-154](https://google.aip.
981
+ # dev/154)
982
+ # Corresponds to the JSON property `etag`
983
+ # @return [String]
984
+ attr_accessor :etag
985
+
986
+ # Optional. Labels as key value pairs.
987
+ # Corresponds to the JSON property `labels`
988
+ # @return [Hash<String,String>]
989
+ attr_accessor :labels
990
+
991
+ # Identifier. The relative resource name of the Firebase Data Connect service,
992
+ # in the format: ``` projects/`project`/locations/`location`/services/`service` `
993
+ # `` Note that the service ID is specific to Firebase Data Connect and does not
994
+ # correspond to any of the instance IDs of the underlying data source
995
+ # connections.
996
+ # Corresponds to the JSON property `name`
997
+ # @return [String]
998
+ attr_accessor :name
999
+
1000
+ # Output only. A field that if true, indicates that the system is working update
1001
+ # the service.
1002
+ # Corresponds to the JSON property `reconciling`
1003
+ # @return [Boolean]
1004
+ attr_accessor :reconciling
1005
+ alias_method :reconciling?, :reconciling
1006
+
1007
+ # Output only. System-assigned, unique identifier.
1008
+ # Corresponds to the JSON property `uid`
1009
+ # @return [String]
1010
+ attr_accessor :uid
1011
+
1012
+ # Output only. [Output only] Update time stamp.
1013
+ # Corresponds to the JSON property `updateTime`
1014
+ # @return [String]
1015
+ attr_accessor :update_time
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @annotations = args[:annotations] if args.key?(:annotations)
1024
+ @create_time = args[:create_time] if args.key?(:create_time)
1025
+ @display_name = args[:display_name] if args.key?(:display_name)
1026
+ @etag = args[:etag] if args.key?(:etag)
1027
+ @labels = args[:labels] if args.key?(:labels)
1028
+ @name = args[:name] if args.key?(:name)
1029
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
1030
+ @uid = args[:uid] if args.key?(:uid)
1031
+ @update_time = args[:update_time] if args.key?(:update_time)
1032
+ end
1033
+ end
1034
+
1035
+ # Used to represent a set of source files.
1036
+ class Source
1037
+ include Google::Apis::Core::Hashable
1038
+
1039
+ # Required. The files that comprise the source set.
1040
+ # Corresponds to the JSON property `files`
1041
+ # @return [Array<Google::Apis::FirebasedataconnectV1::File>]
1042
+ attr_accessor :files
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @files = args[:files] if args.key?(:files)
1051
+ end
1052
+ end
1053
+
1054
+ # SourceLocation references a location in a GraphQL source.
1055
+ class SourceLocation
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ # Column number starting at 1.
1059
+ # Corresponds to the JSON property `column`
1060
+ # @return [Fixnum]
1061
+ attr_accessor :column
1062
+
1063
+ # Line number starting at 1.
1064
+ # Corresponds to the JSON property `line`
1065
+ # @return [Fixnum]
1066
+ attr_accessor :line
1067
+
1068
+ def initialize(**args)
1069
+ update!(**args)
1070
+ end
1071
+
1072
+ # Update properties of this object
1073
+ def update!(**args)
1074
+ @column = args[:column] if args.key?(:column)
1075
+ @line = args[:line] if args.key?(:line)
1076
+ end
1077
+ end
1078
+
1079
+ # The `Status` type defines a logical error model that is suitable for different
1080
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1081
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1082
+ # data: error code, error message, and error details. You can find out more
1083
+ # about this error model and how to work with it in the [API Design Guide](https:
1084
+ # //cloud.google.com/apis/design/errors).
1085
+ class Status
1086
+ include Google::Apis::Core::Hashable
1087
+
1088
+ # The status code, which should be an enum value of google.rpc.Code.
1089
+ # Corresponds to the JSON property `code`
1090
+ # @return [Fixnum]
1091
+ attr_accessor :code
1092
+
1093
+ # A list of messages that carry the error details. There is a common set of
1094
+ # message types for APIs to use.
1095
+ # Corresponds to the JSON property `details`
1096
+ # @return [Array<Hash<String,Object>>]
1097
+ attr_accessor :details
1098
+
1099
+ # A developer-facing error message, which should be in English. Any user-facing
1100
+ # error message should be localized and sent in the google.rpc.Status.details
1101
+ # field, or localized by the client.
1102
+ # Corresponds to the JSON property `message`
1103
+ # @return [String]
1104
+ attr_accessor :message
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @code = args[:code] if args.key?(:code)
1113
+ @details = args[:details] if args.key?(:details)
1114
+ @message = args[:message] if args.key?(:message)
1115
+ end
1116
+ end
1117
+ end
1118
+ end
1119
+ end