google-apis-dataform_v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2096 @@
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 DataformV1beta1
24
+
25
+ # Represents an assertion upon a SQL query which is required return zero rows.
26
+ class Assertion
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # A list of actions that this action depends on.
30
+ # Corresponds to the JSON property `dependencyTargets`
31
+ # @return [Array<Google::Apis::DataformV1beta1::Target>]
32
+ attr_accessor :dependency_targets
33
+
34
+ # Whether this action is disabled (i.e. should not be run).
35
+ # Corresponds to the JSON property `disabled`
36
+ # @return [Boolean]
37
+ attr_accessor :disabled
38
+ alias_method :disabled?, :disabled
39
+
40
+ # Represents an action identifier. If the action writes output, the output will
41
+ # be written to the referenced database object.
42
+ # Corresponds to the JSON property `parentAction`
43
+ # @return [Google::Apis::DataformV1beta1::Target]
44
+ attr_accessor :parent_action
45
+
46
+ # Describes a relation and its columns.
47
+ # Corresponds to the JSON property `relationDescriptor`
48
+ # @return [Google::Apis::DataformV1beta1::RelationDescriptor]
49
+ attr_accessor :relation_descriptor
50
+
51
+ # The SELECT query which must return zero rows in order for this assertion to
52
+ # succeed.
53
+ # Corresponds to the JSON property `selectQuery`
54
+ # @return [String]
55
+ attr_accessor :select_query
56
+
57
+ # Arbitrary, user-defined tags on this action.
58
+ # Corresponds to the JSON property `tags`
59
+ # @return [Array<String>]
60
+ attr_accessor :tags
61
+
62
+ def initialize(**args)
63
+ update!(**args)
64
+ end
65
+
66
+ # Update properties of this object
67
+ def update!(**args)
68
+ @dependency_targets = args[:dependency_targets] if args.key?(:dependency_targets)
69
+ @disabled = args[:disabled] if args.key?(:disabled)
70
+ @parent_action = args[:parent_action] if args.key?(:parent_action)
71
+ @relation_descriptor = args[:relation_descriptor] if args.key?(:relation_descriptor)
72
+ @select_query = args[:select_query] if args.key?(:select_query)
73
+ @tags = args[:tags] if args.key?(:tags)
74
+ end
75
+ end
76
+
77
+ # Represents a workflow action that will run against BigQuery.
78
+ class BigQueryAction
79
+ include Google::Apis::Core::Hashable
80
+
81
+ # Output only. The generated BigQuery SQL script that will be executed.
82
+ # Corresponds to the JSON property `sqlScript`
83
+ # @return [String]
84
+ attr_accessor :sql_script
85
+
86
+ def initialize(**args)
87
+ update!(**args)
88
+ end
89
+
90
+ # Update properties of this object
91
+ def update!(**args)
92
+ @sql_script = args[:sql_script] if args.key?(:sql_script)
93
+ end
94
+ end
95
+
96
+ # `CancelWorkflowInvocation` request message.
97
+ class CancelWorkflowInvocationRequest
98
+ include Google::Apis::Core::Hashable
99
+
100
+ def initialize(**args)
101
+ update!(**args)
102
+ end
103
+
104
+ # Update properties of this object
105
+ def update!(**args)
106
+ end
107
+ end
108
+
109
+ # Configures various aspects of Dataform code compilation.
110
+ class CodeCompilationConfig
111
+ include Google::Apis::Core::Hashable
112
+
113
+ # Optional. The default schema (BigQuery dataset ID) for assertions.
114
+ # Corresponds to the JSON property `assertionSchema`
115
+ # @return [String]
116
+ attr_accessor :assertion_schema
117
+
118
+ # Optional. The suffix that should be appended to all database (Google Cloud
119
+ # project ID) names.
120
+ # Corresponds to the JSON property `databaseSuffix`
121
+ # @return [String]
122
+ attr_accessor :database_suffix
123
+
124
+ # Optional. The default database (Google Cloud project ID).
125
+ # Corresponds to the JSON property `defaultDatabase`
126
+ # @return [String]
127
+ attr_accessor :default_database
128
+
129
+ # Optional. The default BigQuery location to use. Defaults to "US". See the
130
+ # BigQuery docs for a full list of locations: https://cloud.google.com/bigquery/
131
+ # docs/locations.
132
+ # Corresponds to the JSON property `defaultLocation`
133
+ # @return [String]
134
+ attr_accessor :default_location
135
+
136
+ # Optional. The default schema (BigQuery dataset ID).
137
+ # Corresponds to the JSON property `defaultSchema`
138
+ # @return [String]
139
+ attr_accessor :default_schema
140
+
141
+ # Optional. The suffix that should be appended to all schema (BigQuery dataset
142
+ # ID) names.
143
+ # Corresponds to the JSON property `schemaSuffix`
144
+ # @return [String]
145
+ attr_accessor :schema_suffix
146
+
147
+ # Optional. The prefix that should be prepended to all table names.
148
+ # Corresponds to the JSON property `tablePrefix`
149
+ # @return [String]
150
+ attr_accessor :table_prefix
151
+
152
+ # Optional. User-defined variables that are made available to project code
153
+ # during compilation.
154
+ # Corresponds to the JSON property `vars`
155
+ # @return [Hash<String,String>]
156
+ attr_accessor :vars
157
+
158
+ def initialize(**args)
159
+ update!(**args)
160
+ end
161
+
162
+ # Update properties of this object
163
+ def update!(**args)
164
+ @assertion_schema = args[:assertion_schema] if args.key?(:assertion_schema)
165
+ @database_suffix = args[:database_suffix] if args.key?(:database_suffix)
166
+ @default_database = args[:default_database] if args.key?(:default_database)
167
+ @default_location = args[:default_location] if args.key?(:default_location)
168
+ @default_schema = args[:default_schema] if args.key?(:default_schema)
169
+ @schema_suffix = args[:schema_suffix] if args.key?(:schema_suffix)
170
+ @table_prefix = args[:table_prefix] if args.key?(:table_prefix)
171
+ @vars = args[:vars] if args.key?(:vars)
172
+ end
173
+ end
174
+
175
+ # Describes a column.
176
+ class ColumnDescriptor
177
+ include Google::Apis::Core::Hashable
178
+
179
+ # A list of BigQuery policy tags that will be applied to the column.
180
+ # Corresponds to the JSON property `bigqueryPolicyTags`
181
+ # @return [Array<String>]
182
+ attr_accessor :bigquery_policy_tags
183
+
184
+ # A textual description of the column.
185
+ # Corresponds to the JSON property `description`
186
+ # @return [String]
187
+ attr_accessor :description
188
+
189
+ # The identifier for the column. Each entry in `path` represents one level of
190
+ # nesting.
191
+ # Corresponds to the JSON property `path`
192
+ # @return [Array<String>]
193
+ attr_accessor :path
194
+
195
+ def initialize(**args)
196
+ update!(**args)
197
+ end
198
+
199
+ # Update properties of this object
200
+ def update!(**args)
201
+ @bigquery_policy_tags = args[:bigquery_policy_tags] if args.key?(:bigquery_policy_tags)
202
+ @description = args[:description] if args.key?(:description)
203
+ @path = args[:path] if args.key?(:path)
204
+ end
205
+ end
206
+
207
+ # Represents the author of a Git commit.
208
+ class CommitAuthor
209
+ include Google::Apis::Core::Hashable
210
+
211
+ # Required. The commit author's email address.
212
+ # Corresponds to the JSON property `emailAddress`
213
+ # @return [String]
214
+ attr_accessor :email_address
215
+
216
+ # Required. The commit author's name.
217
+ # Corresponds to the JSON property `name`
218
+ # @return [String]
219
+ attr_accessor :name
220
+
221
+ def initialize(**args)
222
+ update!(**args)
223
+ end
224
+
225
+ # Update properties of this object
226
+ def update!(**args)
227
+ @email_address = args[:email_address] if args.key?(:email_address)
228
+ @name = args[:name] if args.key?(:name)
229
+ end
230
+ end
231
+
232
+ # `CommitWorkspaceChanges` request message.
233
+ class CommitWorkspaceChangesRequest
234
+ include Google::Apis::Core::Hashable
235
+
236
+ # Represents the author of a Git commit.
237
+ # Corresponds to the JSON property `author`
238
+ # @return [Google::Apis::DataformV1beta1::CommitAuthor]
239
+ attr_accessor :author
240
+
241
+ # Optional. The commit's message.
242
+ # Corresponds to the JSON property `commitMessage`
243
+ # @return [String]
244
+ attr_accessor :commit_message
245
+
246
+ # Optional. Full file paths to commit including filename, rooted at workspace
247
+ # root. If left empty, all files will be committed.
248
+ # Corresponds to the JSON property `paths`
249
+ # @return [Array<String>]
250
+ attr_accessor :paths
251
+
252
+ def initialize(**args)
253
+ update!(**args)
254
+ end
255
+
256
+ # Update properties of this object
257
+ def update!(**args)
258
+ @author = args[:author] if args.key?(:author)
259
+ @commit_message = args[:commit_message] if args.key?(:commit_message)
260
+ @paths = args[:paths] if args.key?(:paths)
261
+ end
262
+ end
263
+
264
+ # An error encountered when attempting to compile a Dataform project.
265
+ class CompilationError
266
+ include Google::Apis::Core::Hashable
267
+
268
+ # Represents an action identifier. If the action writes output, the output will
269
+ # be written to the referenced database object.
270
+ # Corresponds to the JSON property `actionTarget`
271
+ # @return [Google::Apis::DataformV1beta1::Target]
272
+ attr_accessor :action_target
273
+
274
+ # Output only. The error's top level message.
275
+ # Corresponds to the JSON property `message`
276
+ # @return [String]
277
+ attr_accessor :message
278
+
279
+ # Output only. The path of the file where this error occurred, if available,
280
+ # relative to the project root.
281
+ # Corresponds to the JSON property `path`
282
+ # @return [String]
283
+ attr_accessor :path
284
+
285
+ # Output only. The error's full stack trace.
286
+ # Corresponds to the JSON property `stack`
287
+ # @return [String]
288
+ attr_accessor :stack
289
+
290
+ def initialize(**args)
291
+ update!(**args)
292
+ end
293
+
294
+ # Update properties of this object
295
+ def update!(**args)
296
+ @action_target = args[:action_target] if args.key?(:action_target)
297
+ @message = args[:message] if args.key?(:message)
298
+ @path = args[:path] if args.key?(:path)
299
+ @stack = args[:stack] if args.key?(:stack)
300
+ end
301
+ end
302
+
303
+ # Represents the result of compiling a Dataform project.
304
+ class CompilationResult
305
+ include Google::Apis::Core::Hashable
306
+
307
+ # Configures various aspects of Dataform code compilation.
308
+ # Corresponds to the JSON property `codeCompilationConfig`
309
+ # @return [Google::Apis::DataformV1beta1::CodeCompilationConfig]
310
+ attr_accessor :code_compilation_config
311
+
312
+ # Output only. Errors encountered during project compilation.
313
+ # Corresponds to the JSON property `compilationErrors`
314
+ # @return [Array<Google::Apis::DataformV1beta1::CompilationError>]
315
+ attr_accessor :compilation_errors
316
+
317
+ # Output only. The version of `@dataform/core` that was used for compilation.
318
+ # Corresponds to the JSON property `dataformCoreVersion`
319
+ # @return [String]
320
+ attr_accessor :dataform_core_version
321
+
322
+ # Immutable. Git commit/tag/branch name at which the repository should be
323
+ # compiled. Must exist in the remote repository. Examples: - a commit SHA: `
324
+ # 12ade345` - a tag: `tag1` - a branch name: `branch1`
325
+ # Corresponds to the JSON property `gitCommitish`
326
+ # @return [String]
327
+ attr_accessor :git_commitish
328
+
329
+ # Output only. The compilation result's name.
330
+ # Corresponds to the JSON property `name`
331
+ # @return [String]
332
+ attr_accessor :name
333
+
334
+ # Immutable. The name of the release config to compile. The release config's '
335
+ # current_compilation_result' field will be updated to this compilation result.
336
+ # Must be in the format `projects/*/locations/*/repositories/*/releaseConfigs/*`.
337
+ # Corresponds to the JSON property `releaseConfig`
338
+ # @return [String]
339
+ attr_accessor :release_config
340
+
341
+ # Output only. The fully resolved Git commit SHA of the code that was compiled.
342
+ # Not set for compilation results whose source is a workspace.
343
+ # Corresponds to the JSON property `resolvedGitCommitSha`
344
+ # @return [String]
345
+ attr_accessor :resolved_git_commit_sha
346
+
347
+ # Immutable. The name of the workspace to compile. Must be in the format `
348
+ # projects/*/locations/*/repositories/*/workspaces/*`.
349
+ # Corresponds to the JSON property `workspace`
350
+ # @return [String]
351
+ attr_accessor :workspace
352
+
353
+ def initialize(**args)
354
+ update!(**args)
355
+ end
356
+
357
+ # Update properties of this object
358
+ def update!(**args)
359
+ @code_compilation_config = args[:code_compilation_config] if args.key?(:code_compilation_config)
360
+ @compilation_errors = args[:compilation_errors] if args.key?(:compilation_errors)
361
+ @dataform_core_version = args[:dataform_core_version] if args.key?(:dataform_core_version)
362
+ @git_commitish = args[:git_commitish] if args.key?(:git_commitish)
363
+ @name = args[:name] if args.key?(:name)
364
+ @release_config = args[:release_config] if args.key?(:release_config)
365
+ @resolved_git_commit_sha = args[:resolved_git_commit_sha] if args.key?(:resolved_git_commit_sha)
366
+ @workspace = args[:workspace] if args.key?(:workspace)
367
+ end
368
+ end
369
+
370
+ # Represents a single Dataform action in a compilation result.
371
+ class CompilationResultAction
372
+ include Google::Apis::Core::Hashable
373
+
374
+ # Represents an assertion upon a SQL query which is required return zero rows.
375
+ # Corresponds to the JSON property `assertion`
376
+ # @return [Google::Apis::DataformV1beta1::Assertion]
377
+ attr_accessor :assertion
378
+
379
+ # Represents an action identifier. If the action writes output, the output will
380
+ # be written to the referenced database object.
381
+ # Corresponds to the JSON property `canonicalTarget`
382
+ # @return [Google::Apis::DataformV1beta1::Target]
383
+ attr_accessor :canonical_target
384
+
385
+ # Represents a relation which is not managed by Dataform but which may be
386
+ # referenced by Dataform actions.
387
+ # Corresponds to the JSON property `declaration`
388
+ # @return [Google::Apis::DataformV1beta1::Declaration]
389
+ attr_accessor :declaration
390
+
391
+ # The full path including filename in which this action is located, relative to
392
+ # the workspace root.
393
+ # Corresponds to the JSON property `filePath`
394
+ # @return [String]
395
+ attr_accessor :file_path
396
+
397
+ # Represents a list of arbitrary database operations.
398
+ # Corresponds to the JSON property `operations`
399
+ # @return [Google::Apis::DataformV1beta1::Operations]
400
+ attr_accessor :operations
401
+
402
+ # Represents a database relation.
403
+ # Corresponds to the JSON property `relation`
404
+ # @return [Google::Apis::DataformV1beta1::Relation]
405
+ attr_accessor :relation
406
+
407
+ # Represents an action identifier. If the action writes output, the output will
408
+ # be written to the referenced database object.
409
+ # Corresponds to the JSON property `target`
410
+ # @return [Google::Apis::DataformV1beta1::Target]
411
+ attr_accessor :target
412
+
413
+ def initialize(**args)
414
+ update!(**args)
415
+ end
416
+
417
+ # Update properties of this object
418
+ def update!(**args)
419
+ @assertion = args[:assertion] if args.key?(:assertion)
420
+ @canonical_target = args[:canonical_target] if args.key?(:canonical_target)
421
+ @declaration = args[:declaration] if args.key?(:declaration)
422
+ @file_path = args[:file_path] if args.key?(:file_path)
423
+ @operations = args[:operations] if args.key?(:operations)
424
+ @relation = args[:relation] if args.key?(:relation)
425
+ @target = args[:target] if args.key?(:target)
426
+ end
427
+ end
428
+
429
+ # Represents a relation which is not managed by Dataform but which may be
430
+ # referenced by Dataform actions.
431
+ class Declaration
432
+ include Google::Apis::Core::Hashable
433
+
434
+ # Describes a relation and its columns.
435
+ # Corresponds to the JSON property `relationDescriptor`
436
+ # @return [Google::Apis::DataformV1beta1::RelationDescriptor]
437
+ attr_accessor :relation_descriptor
438
+
439
+ def initialize(**args)
440
+ update!(**args)
441
+ end
442
+
443
+ # Update properties of this object
444
+ def update!(**args)
445
+ @relation_descriptor = args[:relation_descriptor] if args.key?(:relation_descriptor)
446
+ end
447
+ end
448
+
449
+ # Represents a single entry in a workspace directory.
450
+ class DirectoryEntry
451
+ include Google::Apis::Core::Hashable
452
+
453
+ # A child directory in the directory.
454
+ # Corresponds to the JSON property `directory`
455
+ # @return [String]
456
+ attr_accessor :directory
457
+
458
+ # A file in the directory.
459
+ # Corresponds to the JSON property `file`
460
+ # @return [String]
461
+ attr_accessor :file
462
+
463
+ def initialize(**args)
464
+ update!(**args)
465
+ end
466
+
467
+ # Update properties of this object
468
+ def update!(**args)
469
+ @directory = args[:directory] if args.key?(:directory)
470
+ @file = args[:file] if args.key?(:file)
471
+ end
472
+ end
473
+
474
+ # A generic empty message that you can re-use to avoid defining duplicated empty
475
+ # messages in your APIs. A typical example is to use it as the request or the
476
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
477
+ # protobuf.Empty) returns (google.protobuf.Empty); `
478
+ class Empty
479
+ include Google::Apis::Core::Hashable
480
+
481
+ def initialize(**args)
482
+ update!(**args)
483
+ end
484
+
485
+ # Update properties of this object
486
+ def update!(**args)
487
+ end
488
+ end
489
+
490
+ # `FetchFileDiff` response message.
491
+ class FetchFileDiffResponse
492
+ include Google::Apis::Core::Hashable
493
+
494
+ # The raw formatted Git diff for the file.
495
+ # Corresponds to the JSON property `formattedDiff`
496
+ # @return [String]
497
+ attr_accessor :formatted_diff
498
+
499
+ def initialize(**args)
500
+ update!(**args)
501
+ end
502
+
503
+ # Update properties of this object
504
+ def update!(**args)
505
+ @formatted_diff = args[:formatted_diff] if args.key?(:formatted_diff)
506
+ end
507
+ end
508
+
509
+ # `FetchFileGitStatuses` response message.
510
+ class FetchFileGitStatusesResponse
511
+ include Google::Apis::Core::Hashable
512
+
513
+ # A list of all files which have uncommitted Git changes. There will only be a
514
+ # single entry for any given file.
515
+ # Corresponds to the JSON property `uncommittedFileChanges`
516
+ # @return [Array<Google::Apis::DataformV1beta1::UncommittedFileChange>]
517
+ attr_accessor :uncommitted_file_changes
518
+
519
+ def initialize(**args)
520
+ update!(**args)
521
+ end
522
+
523
+ # Update properties of this object
524
+ def update!(**args)
525
+ @uncommitted_file_changes = args[:uncommitted_file_changes] if args.key?(:uncommitted_file_changes)
526
+ end
527
+ end
528
+
529
+ # `FetchGitAheadBehind` response message.
530
+ class FetchGitAheadBehindResponse
531
+ include Google::Apis::Core::Hashable
532
+
533
+ # The number of commits in the remote branch that are not in the workspace.
534
+ # Corresponds to the JSON property `commitsAhead`
535
+ # @return [Fixnum]
536
+ attr_accessor :commits_ahead
537
+
538
+ # The number of commits in the workspace that are not in the remote branch.
539
+ # Corresponds to the JSON property `commitsBehind`
540
+ # @return [Fixnum]
541
+ attr_accessor :commits_behind
542
+
543
+ def initialize(**args)
544
+ update!(**args)
545
+ end
546
+
547
+ # Update properties of this object
548
+ def update!(**args)
549
+ @commits_ahead = args[:commits_ahead] if args.key?(:commits_ahead)
550
+ @commits_behind = args[:commits_behind] if args.key?(:commits_behind)
551
+ end
552
+ end
553
+
554
+ # `FetchRemoteBranches` response message.
555
+ class FetchRemoteBranchesResponse
556
+ include Google::Apis::Core::Hashable
557
+
558
+ # The remote repository's branch names.
559
+ # Corresponds to the JSON property `branches`
560
+ # @return [Array<String>]
561
+ attr_accessor :branches
562
+
563
+ def initialize(**args)
564
+ update!(**args)
565
+ end
566
+
567
+ # Update properties of this object
568
+ def update!(**args)
569
+ @branches = args[:branches] if args.key?(:branches)
570
+ end
571
+ end
572
+
573
+ # Controls Git remote configuration for a repository.
574
+ class GitRemoteSettings
575
+ include Google::Apis::Core::Hashable
576
+
577
+ # Required. The name of the Secret Manager secret version to use as an
578
+ # authentication token for Git operations. Must be in the format `projects/*/
579
+ # secrets/*/versions/*`.
580
+ # Corresponds to the JSON property `authenticationTokenSecretVersion`
581
+ # @return [String]
582
+ attr_accessor :authentication_token_secret_version
583
+
584
+ # Required. The Git remote's default branch name.
585
+ # Corresponds to the JSON property `defaultBranch`
586
+ # @return [String]
587
+ attr_accessor :default_branch
588
+
589
+ # Output only. Indicates the status of the Git access token.
590
+ # Corresponds to the JSON property `tokenStatus`
591
+ # @return [String]
592
+ attr_accessor :token_status
593
+
594
+ # Required. The Git remote's URL.
595
+ # Corresponds to the JSON property `url`
596
+ # @return [String]
597
+ attr_accessor :url
598
+
599
+ def initialize(**args)
600
+ update!(**args)
601
+ end
602
+
603
+ # Update properties of this object
604
+ def update!(**args)
605
+ @authentication_token_secret_version = args[:authentication_token_secret_version] if args.key?(:authentication_token_secret_version)
606
+ @default_branch = args[:default_branch] if args.key?(:default_branch)
607
+ @token_status = args[:token_status] if args.key?(:token_status)
608
+ @url = args[:url] if args.key?(:url)
609
+ end
610
+ end
611
+
612
+ # Contains settings for relations of type `INCREMENTAL_TABLE`.
613
+ class IncrementalTableConfig
614
+ include Google::Apis::Core::Hashable
615
+
616
+ # SQL statements to be executed after inserting new rows into the relation.
617
+ # Corresponds to the JSON property `incrementalPostOperations`
618
+ # @return [Array<String>]
619
+ attr_accessor :incremental_post_operations
620
+
621
+ # SQL statements to be executed before inserting new rows into the relation.
622
+ # Corresponds to the JSON property `incrementalPreOperations`
623
+ # @return [Array<String>]
624
+ attr_accessor :incremental_pre_operations
625
+
626
+ # The SELECT query which returns rows which should be inserted into the relation
627
+ # if it already exists and is not being refreshed.
628
+ # Corresponds to the JSON property `incrementalSelectQuery`
629
+ # @return [String]
630
+ attr_accessor :incremental_select_query
631
+
632
+ # Whether this table should be protected from being refreshed.
633
+ # Corresponds to the JSON property `refreshDisabled`
634
+ # @return [Boolean]
635
+ attr_accessor :refresh_disabled
636
+ alias_method :refresh_disabled?, :refresh_disabled
637
+
638
+ # A set of columns or SQL expressions used to define row uniqueness. If any
639
+ # duplicates are discovered (as defined by `unique_key_parts`), only the newly
640
+ # selected rows (as defined by `incremental_select_query`) will be included in
641
+ # the relation.
642
+ # Corresponds to the JSON property `uniqueKeyParts`
643
+ # @return [Array<String>]
644
+ attr_accessor :unique_key_parts
645
+
646
+ # A SQL expression conditional used to limit the set of existing rows considered
647
+ # for a merge operation (see `unique_key_parts` for more information).
648
+ # Corresponds to the JSON property `updatePartitionFilter`
649
+ # @return [String]
650
+ attr_accessor :update_partition_filter
651
+
652
+ def initialize(**args)
653
+ update!(**args)
654
+ end
655
+
656
+ # Update properties of this object
657
+ def update!(**args)
658
+ @incremental_post_operations = args[:incremental_post_operations] if args.key?(:incremental_post_operations)
659
+ @incremental_pre_operations = args[:incremental_pre_operations] if args.key?(:incremental_pre_operations)
660
+ @incremental_select_query = args[:incremental_select_query] if args.key?(:incremental_select_query)
661
+ @refresh_disabled = args[:refresh_disabled] if args.key?(:refresh_disabled)
662
+ @unique_key_parts = args[:unique_key_parts] if args.key?(:unique_key_parts)
663
+ @update_partition_filter = args[:update_partition_filter] if args.key?(:update_partition_filter)
664
+ end
665
+ end
666
+
667
+ # `InstallNpmPackages` request message.
668
+ class InstallNpmPackagesRequest
669
+ include Google::Apis::Core::Hashable
670
+
671
+ def initialize(**args)
672
+ update!(**args)
673
+ end
674
+
675
+ # Update properties of this object
676
+ def update!(**args)
677
+ end
678
+ end
679
+
680
+ # `InstallNpmPackages` response message.
681
+ class InstallNpmPackagesResponse
682
+ include Google::Apis::Core::Hashable
683
+
684
+ def initialize(**args)
685
+ update!(**args)
686
+ end
687
+
688
+ # Update properties of this object
689
+ def update!(**args)
690
+ end
691
+ end
692
+
693
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
694
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
695
+ # When the start equals the end, the interval is empty (matches no time). When
696
+ # both start and end are unspecified, the interval matches any time.
697
+ class Interval
698
+ include Google::Apis::Core::Hashable
699
+
700
+ # Optional. Exclusive end of the interval. If specified, a Timestamp matching
701
+ # this interval will have to be before the end.
702
+ # Corresponds to the JSON property `endTime`
703
+ # @return [String]
704
+ attr_accessor :end_time
705
+
706
+ # Optional. Inclusive start of the interval. If specified, a Timestamp matching
707
+ # this interval will have to be the same or after the start.
708
+ # Corresponds to the JSON property `startTime`
709
+ # @return [String]
710
+ attr_accessor :start_time
711
+
712
+ def initialize(**args)
713
+ update!(**args)
714
+ end
715
+
716
+ # Update properties of this object
717
+ def update!(**args)
718
+ @end_time = args[:end_time] if args.key?(:end_time)
719
+ @start_time = args[:start_time] if args.key?(:start_time)
720
+ end
721
+ end
722
+
723
+ # Includes various configuration options for a workflow invocation. If both `
724
+ # included_targets` and `included_tags` are unset, all actions will be included.
725
+ class InvocationConfig
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # Optional. When set to true, any incremental tables will be fully refreshed.
729
+ # Corresponds to the JSON property `fullyRefreshIncrementalTablesEnabled`
730
+ # @return [Boolean]
731
+ attr_accessor :fully_refresh_incremental_tables_enabled
732
+ alias_method :fully_refresh_incremental_tables_enabled?, :fully_refresh_incremental_tables_enabled
733
+
734
+ # Optional. The set of tags to include.
735
+ # Corresponds to the JSON property `includedTags`
736
+ # @return [Array<String>]
737
+ attr_accessor :included_tags
738
+
739
+ # Optional. The set of action identifiers to include.
740
+ # Corresponds to the JSON property `includedTargets`
741
+ # @return [Array<Google::Apis::DataformV1beta1::Target>]
742
+ attr_accessor :included_targets
743
+
744
+ # Optional. When set to true, transitive dependencies of included actions will
745
+ # be executed.
746
+ # Corresponds to the JSON property `transitiveDependenciesIncluded`
747
+ # @return [Boolean]
748
+ attr_accessor :transitive_dependencies_included
749
+ alias_method :transitive_dependencies_included?, :transitive_dependencies_included
750
+
751
+ # Optional. When set to true, transitive dependents of included actions will be
752
+ # executed.
753
+ # Corresponds to the JSON property `transitiveDependentsIncluded`
754
+ # @return [Boolean]
755
+ attr_accessor :transitive_dependents_included
756
+ alias_method :transitive_dependents_included?, :transitive_dependents_included
757
+
758
+ def initialize(**args)
759
+ update!(**args)
760
+ end
761
+
762
+ # Update properties of this object
763
+ def update!(**args)
764
+ @fully_refresh_incremental_tables_enabled = args[:fully_refresh_incremental_tables_enabled] if args.key?(:fully_refresh_incremental_tables_enabled)
765
+ @included_tags = args[:included_tags] if args.key?(:included_tags)
766
+ @included_targets = args[:included_targets] if args.key?(:included_targets)
767
+ @transitive_dependencies_included = args[:transitive_dependencies_included] if args.key?(:transitive_dependencies_included)
768
+ @transitive_dependents_included = args[:transitive_dependents_included] if args.key?(:transitive_dependents_included)
769
+ end
770
+ end
771
+
772
+ # `ListCompilationResults` response message.
773
+ class ListCompilationResultsResponse
774
+ include Google::Apis::Core::Hashable
775
+
776
+ # List of compilation results.
777
+ # Corresponds to the JSON property `compilationResults`
778
+ # @return [Array<Google::Apis::DataformV1beta1::CompilationResult>]
779
+ attr_accessor :compilation_results
780
+
781
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
782
+ # field is omitted, there are no subsequent pages.
783
+ # Corresponds to the JSON property `nextPageToken`
784
+ # @return [String]
785
+ attr_accessor :next_page_token
786
+
787
+ # Locations which could not be reached.
788
+ # Corresponds to the JSON property `unreachable`
789
+ # @return [Array<String>]
790
+ attr_accessor :unreachable
791
+
792
+ def initialize(**args)
793
+ update!(**args)
794
+ end
795
+
796
+ # Update properties of this object
797
+ def update!(**args)
798
+ @compilation_results = args[:compilation_results] if args.key?(:compilation_results)
799
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
800
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
801
+ end
802
+ end
803
+
804
+ # The response message for Locations.ListLocations.
805
+ class ListLocationsResponse
806
+ include Google::Apis::Core::Hashable
807
+
808
+ # A list of locations that matches the specified filter in the request.
809
+ # Corresponds to the JSON property `locations`
810
+ # @return [Array<Google::Apis::DataformV1beta1::Location>]
811
+ attr_accessor :locations
812
+
813
+ # The standard List next-page token.
814
+ # Corresponds to the JSON property `nextPageToken`
815
+ # @return [String]
816
+ attr_accessor :next_page_token
817
+
818
+ def initialize(**args)
819
+ update!(**args)
820
+ end
821
+
822
+ # Update properties of this object
823
+ def update!(**args)
824
+ @locations = args[:locations] if args.key?(:locations)
825
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
826
+ end
827
+ end
828
+
829
+ # `ListReleaseConfigs` response message.
830
+ class ListReleaseConfigsResponse
831
+ include Google::Apis::Core::Hashable
832
+
833
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
834
+ # field is omitted, there are no subsequent pages.
835
+ # Corresponds to the JSON property `nextPageToken`
836
+ # @return [String]
837
+ attr_accessor :next_page_token
838
+
839
+ # List of release configs.
840
+ # Corresponds to the JSON property `releaseConfigs`
841
+ # @return [Array<Google::Apis::DataformV1beta1::ReleaseConfig>]
842
+ attr_accessor :release_configs
843
+
844
+ # Locations which could not be reached.
845
+ # Corresponds to the JSON property `unreachable`
846
+ # @return [Array<String>]
847
+ attr_accessor :unreachable
848
+
849
+ def initialize(**args)
850
+ update!(**args)
851
+ end
852
+
853
+ # Update properties of this object
854
+ def update!(**args)
855
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
856
+ @release_configs = args[:release_configs] if args.key?(:release_configs)
857
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
858
+ end
859
+ end
860
+
861
+ # `ListRepositories` response message.
862
+ class ListRepositoriesResponse
863
+ include Google::Apis::Core::Hashable
864
+
865
+ # A token which can be sent as `page_token` to retrieve the next page. If this
866
+ # field is omitted, there are no subsequent pages.
867
+ # Corresponds to the JSON property `nextPageToken`
868
+ # @return [String]
869
+ attr_accessor :next_page_token
870
+
871
+ # List of repositories.
872
+ # Corresponds to the JSON property `repositories`
873
+ # @return [Array<Google::Apis::DataformV1beta1::Repository>]
874
+ attr_accessor :repositories
875
+
876
+ # Locations which could not be reached.
877
+ # Corresponds to the JSON property `unreachable`
878
+ # @return [Array<String>]
879
+ attr_accessor :unreachable
880
+
881
+ def initialize(**args)
882
+ update!(**args)
883
+ end
884
+
885
+ # Update properties of this object
886
+ def update!(**args)
887
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
888
+ @repositories = args[:repositories] if args.key?(:repositories)
889
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
890
+ end
891
+ end
892
+
893
+ # `ListWorkflowConfigs` response message.
894
+ class ListWorkflowConfigsResponse
895
+ include Google::Apis::Core::Hashable
896
+
897
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
898
+ # field is omitted, there are no subsequent pages.
899
+ # Corresponds to the JSON property `nextPageToken`
900
+ # @return [String]
901
+ attr_accessor :next_page_token
902
+
903
+ # Locations which could not be reached.
904
+ # Corresponds to the JSON property `unreachable`
905
+ # @return [Array<String>]
906
+ attr_accessor :unreachable
907
+
908
+ # List of workflow configs.
909
+ # Corresponds to the JSON property `workflowConfigs`
910
+ # @return [Array<Google::Apis::DataformV1beta1::WorkflowConfig>]
911
+ attr_accessor :workflow_configs
912
+
913
+ def initialize(**args)
914
+ update!(**args)
915
+ end
916
+
917
+ # Update properties of this object
918
+ def update!(**args)
919
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
920
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
921
+ @workflow_configs = args[:workflow_configs] if args.key?(:workflow_configs)
922
+ end
923
+ end
924
+
925
+ # `ListWorkflowInvocations` response message.
926
+ class ListWorkflowInvocationsResponse
927
+ include Google::Apis::Core::Hashable
928
+
929
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
930
+ # field is omitted, there are no subsequent pages.
931
+ # Corresponds to the JSON property `nextPageToken`
932
+ # @return [String]
933
+ attr_accessor :next_page_token
934
+
935
+ # Locations which could not be reached.
936
+ # Corresponds to the JSON property `unreachable`
937
+ # @return [Array<String>]
938
+ attr_accessor :unreachable
939
+
940
+ # List of workflow invocations.
941
+ # Corresponds to the JSON property `workflowInvocations`
942
+ # @return [Array<Google::Apis::DataformV1beta1::WorkflowInvocation>]
943
+ attr_accessor :workflow_invocations
944
+
945
+ def initialize(**args)
946
+ update!(**args)
947
+ end
948
+
949
+ # Update properties of this object
950
+ def update!(**args)
951
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
952
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
953
+ @workflow_invocations = args[:workflow_invocations] if args.key?(:workflow_invocations)
954
+ end
955
+ end
956
+
957
+ # `ListWorkspaces` response message.
958
+ class ListWorkspacesResponse
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
962
+ # field is omitted, there are no subsequent pages.
963
+ # Corresponds to the JSON property `nextPageToken`
964
+ # @return [String]
965
+ attr_accessor :next_page_token
966
+
967
+ # Locations which could not be reached.
968
+ # Corresponds to the JSON property `unreachable`
969
+ # @return [Array<String>]
970
+ attr_accessor :unreachable
971
+
972
+ # List of workspaces.
973
+ # Corresponds to the JSON property `workspaces`
974
+ # @return [Array<Google::Apis::DataformV1beta1::Workspace>]
975
+ attr_accessor :workspaces
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
984
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
985
+ @workspaces = args[:workspaces] if args.key?(:workspaces)
986
+ end
987
+ end
988
+
989
+ # A resource that represents Google Cloud Platform location.
990
+ class Location
991
+ include Google::Apis::Core::Hashable
992
+
993
+ # The friendly name for this location, typically a nearby city name. For example,
994
+ # "Tokyo".
995
+ # Corresponds to the JSON property `displayName`
996
+ # @return [String]
997
+ attr_accessor :display_name
998
+
999
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1000
+ # region": "us-east1"`
1001
+ # Corresponds to the JSON property `labels`
1002
+ # @return [Hash<String,String>]
1003
+ attr_accessor :labels
1004
+
1005
+ # The canonical id for this location. For example: `"us-east1"`.
1006
+ # Corresponds to the JSON property `locationId`
1007
+ # @return [String]
1008
+ attr_accessor :location_id
1009
+
1010
+ # Service-specific metadata. For example the available capacity at the given
1011
+ # location.
1012
+ # Corresponds to the JSON property `metadata`
1013
+ # @return [Hash<String,Object>]
1014
+ attr_accessor :metadata
1015
+
1016
+ # Resource name for the location, which may vary between implementations. For
1017
+ # example: `"projects/example-project/locations/us-east1"`
1018
+ # Corresponds to the JSON property `name`
1019
+ # @return [String]
1020
+ attr_accessor :name
1021
+
1022
+ def initialize(**args)
1023
+ update!(**args)
1024
+ end
1025
+
1026
+ # Update properties of this object
1027
+ def update!(**args)
1028
+ @display_name = args[:display_name] if args.key?(:display_name)
1029
+ @labels = args[:labels] if args.key?(:labels)
1030
+ @location_id = args[:location_id] if args.key?(:location_id)
1031
+ @metadata = args[:metadata] if args.key?(:metadata)
1032
+ @name = args[:name] if args.key?(:name)
1033
+ end
1034
+ end
1035
+
1036
+ # `MakeDirectory` request message.
1037
+ class MakeDirectoryRequest
1038
+ include Google::Apis::Core::Hashable
1039
+
1040
+ # Required. The directory's full path including directory name, relative to the
1041
+ # workspace root.
1042
+ # Corresponds to the JSON property `path`
1043
+ # @return [String]
1044
+ attr_accessor :path
1045
+
1046
+ def initialize(**args)
1047
+ update!(**args)
1048
+ end
1049
+
1050
+ # Update properties of this object
1051
+ def update!(**args)
1052
+ @path = args[:path] if args.key?(:path)
1053
+ end
1054
+ end
1055
+
1056
+ # `MakeDirectory` response message.
1057
+ class MakeDirectoryResponse
1058
+ include Google::Apis::Core::Hashable
1059
+
1060
+ def initialize(**args)
1061
+ update!(**args)
1062
+ end
1063
+
1064
+ # Update properties of this object
1065
+ def update!(**args)
1066
+ end
1067
+ end
1068
+
1069
+ # `MoveDirectory` request message.
1070
+ class MoveDirectoryRequest
1071
+ include Google::Apis::Core::Hashable
1072
+
1073
+ # Required. The new path for the directory including directory name, rooted at
1074
+ # workspace root.
1075
+ # Corresponds to the JSON property `newPath`
1076
+ # @return [String]
1077
+ attr_accessor :new_path
1078
+
1079
+ # Required. The directory's full path including directory name, relative to the
1080
+ # workspace root.
1081
+ # Corresponds to the JSON property `path`
1082
+ # @return [String]
1083
+ attr_accessor :path
1084
+
1085
+ def initialize(**args)
1086
+ update!(**args)
1087
+ end
1088
+
1089
+ # Update properties of this object
1090
+ def update!(**args)
1091
+ @new_path = args[:new_path] if args.key?(:new_path)
1092
+ @path = args[:path] if args.key?(:path)
1093
+ end
1094
+ end
1095
+
1096
+ # `MoveDirectory` response message.
1097
+ class MoveDirectoryResponse
1098
+ include Google::Apis::Core::Hashable
1099
+
1100
+ def initialize(**args)
1101
+ update!(**args)
1102
+ end
1103
+
1104
+ # Update properties of this object
1105
+ def update!(**args)
1106
+ end
1107
+ end
1108
+
1109
+ # `MoveFile` request message.
1110
+ class MoveFileRequest
1111
+ include Google::Apis::Core::Hashable
1112
+
1113
+ # Required. The file's new path including filename, relative to the workspace
1114
+ # root.
1115
+ # Corresponds to the JSON property `newPath`
1116
+ # @return [String]
1117
+ attr_accessor :new_path
1118
+
1119
+ # Required. The file's full path including filename, relative to the workspace
1120
+ # root.
1121
+ # Corresponds to the JSON property `path`
1122
+ # @return [String]
1123
+ attr_accessor :path
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @new_path = args[:new_path] if args.key?(:new_path)
1132
+ @path = args[:path] if args.key?(:path)
1133
+ end
1134
+ end
1135
+
1136
+ # `MoveFile` response message.
1137
+ class MoveFileResponse
1138
+ include Google::Apis::Core::Hashable
1139
+
1140
+ def initialize(**args)
1141
+ update!(**args)
1142
+ end
1143
+
1144
+ # Update properties of this object
1145
+ def update!(**args)
1146
+ end
1147
+ end
1148
+
1149
+ # Represents the metadata of the long-running operation.
1150
+ class OperationMetadata
1151
+ include Google::Apis::Core::Hashable
1152
+
1153
+ # Output only. API version used to start the operation.
1154
+ # Corresponds to the JSON property `apiVersion`
1155
+ # @return [String]
1156
+ attr_accessor :api_version
1157
+
1158
+ # Output only. Identifies whether the user has requested cancellation of the
1159
+ # operation. Operations that have been cancelled successfully have Operation.
1160
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1161
+ # CANCELLED`.
1162
+ # Corresponds to the JSON property `cancelRequested`
1163
+ # @return [Boolean]
1164
+ attr_accessor :cancel_requested
1165
+ alias_method :cancel_requested?, :cancel_requested
1166
+
1167
+ # Output only. The time the operation was created.
1168
+ # Corresponds to the JSON property `createTime`
1169
+ # @return [String]
1170
+ attr_accessor :create_time
1171
+
1172
+ # Output only. The time the operation finished running.
1173
+ # Corresponds to the JSON property `endTime`
1174
+ # @return [String]
1175
+ attr_accessor :end_time
1176
+
1177
+ # Output only. Human-readable status of the operation, if any.
1178
+ # Corresponds to the JSON property `statusDetail`
1179
+ # @return [String]
1180
+ attr_accessor :status_detail
1181
+
1182
+ # Output only. Server-defined resource path for the target of the operation.
1183
+ # Corresponds to the JSON property `target`
1184
+ # @return [String]
1185
+ attr_accessor :target
1186
+
1187
+ # Output only. Name of the verb executed by the operation.
1188
+ # Corresponds to the JSON property `verb`
1189
+ # @return [String]
1190
+ attr_accessor :verb
1191
+
1192
+ def initialize(**args)
1193
+ update!(**args)
1194
+ end
1195
+
1196
+ # Update properties of this object
1197
+ def update!(**args)
1198
+ @api_version = args[:api_version] if args.key?(:api_version)
1199
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
1200
+ @create_time = args[:create_time] if args.key?(:create_time)
1201
+ @end_time = args[:end_time] if args.key?(:end_time)
1202
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1203
+ @target = args[:target] if args.key?(:target)
1204
+ @verb = args[:verb] if args.key?(:verb)
1205
+ end
1206
+ end
1207
+
1208
+ # Represents a list of arbitrary database operations.
1209
+ class Operations
1210
+ include Google::Apis::Core::Hashable
1211
+
1212
+ # A list of actions that this action depends on.
1213
+ # Corresponds to the JSON property `dependencyTargets`
1214
+ # @return [Array<Google::Apis::DataformV1beta1::Target>]
1215
+ attr_accessor :dependency_targets
1216
+
1217
+ # Whether this action is disabled (i.e. should not be run).
1218
+ # Corresponds to the JSON property `disabled`
1219
+ # @return [Boolean]
1220
+ attr_accessor :disabled
1221
+ alias_method :disabled?, :disabled
1222
+
1223
+ # Whether these operations produce an output relation.
1224
+ # Corresponds to the JSON property `hasOutput`
1225
+ # @return [Boolean]
1226
+ attr_accessor :has_output
1227
+ alias_method :has_output?, :has_output
1228
+
1229
+ # A list of arbitrary SQL statements that will be executed without alteration.
1230
+ # Corresponds to the JSON property `queries`
1231
+ # @return [Array<String>]
1232
+ attr_accessor :queries
1233
+
1234
+ # Describes a relation and its columns.
1235
+ # Corresponds to the JSON property `relationDescriptor`
1236
+ # @return [Google::Apis::DataformV1beta1::RelationDescriptor]
1237
+ attr_accessor :relation_descriptor
1238
+
1239
+ # Arbitrary, user-defined tags on this action.
1240
+ # Corresponds to the JSON property `tags`
1241
+ # @return [Array<String>]
1242
+ attr_accessor :tags
1243
+
1244
+ def initialize(**args)
1245
+ update!(**args)
1246
+ end
1247
+
1248
+ # Update properties of this object
1249
+ def update!(**args)
1250
+ @dependency_targets = args[:dependency_targets] if args.key?(:dependency_targets)
1251
+ @disabled = args[:disabled] if args.key?(:disabled)
1252
+ @has_output = args[:has_output] if args.key?(:has_output)
1253
+ @queries = args[:queries] if args.key?(:queries)
1254
+ @relation_descriptor = args[:relation_descriptor] if args.key?(:relation_descriptor)
1255
+ @tags = args[:tags] if args.key?(:tags)
1256
+ end
1257
+ end
1258
+
1259
+ # `PullGitCommits` request message.
1260
+ class PullGitCommitsRequest
1261
+ include Google::Apis::Core::Hashable
1262
+
1263
+ # Represents the author of a Git commit.
1264
+ # Corresponds to the JSON property `author`
1265
+ # @return [Google::Apis::DataformV1beta1::CommitAuthor]
1266
+ attr_accessor :author
1267
+
1268
+ # Optional. The name of the branch in the Git remote from which to pull commits.
1269
+ # If left unset, the repository's default branch name will be used.
1270
+ # Corresponds to the JSON property `remoteBranch`
1271
+ # @return [String]
1272
+ attr_accessor :remote_branch
1273
+
1274
+ def initialize(**args)
1275
+ update!(**args)
1276
+ end
1277
+
1278
+ # Update properties of this object
1279
+ def update!(**args)
1280
+ @author = args[:author] if args.key?(:author)
1281
+ @remote_branch = args[:remote_branch] if args.key?(:remote_branch)
1282
+ end
1283
+ end
1284
+
1285
+ # `PushGitCommits` request message.
1286
+ class PushGitCommitsRequest
1287
+ include Google::Apis::Core::Hashable
1288
+
1289
+ # Optional. The name of the branch in the Git remote to which commits should be
1290
+ # pushed. If left unset, the repository's default branch name will be used.
1291
+ # Corresponds to the JSON property `remoteBranch`
1292
+ # @return [String]
1293
+ attr_accessor :remote_branch
1294
+
1295
+ def initialize(**args)
1296
+ update!(**args)
1297
+ end
1298
+
1299
+ # Update properties of this object
1300
+ def update!(**args)
1301
+ @remote_branch = args[:remote_branch] if args.key?(:remote_branch)
1302
+ end
1303
+ end
1304
+
1305
+ # `QueryCompilationResultActions` response message.
1306
+ class QueryCompilationResultActionsResponse
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # List of compilation result actions.
1310
+ # Corresponds to the JSON property `compilationResultActions`
1311
+ # @return [Array<Google::Apis::DataformV1beta1::CompilationResultAction>]
1312
+ attr_accessor :compilation_result_actions
1313
+
1314
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1315
+ # field is omitted, there are no subsequent pages.
1316
+ # Corresponds to the JSON property `nextPageToken`
1317
+ # @return [String]
1318
+ attr_accessor :next_page_token
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ @compilation_result_actions = args[:compilation_result_actions] if args.key?(:compilation_result_actions)
1327
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1328
+ end
1329
+ end
1330
+
1331
+ # `QueryDirectoryContents` response message.
1332
+ class QueryDirectoryContentsResponse
1333
+ include Google::Apis::Core::Hashable
1334
+
1335
+ # List of entries in the directory.
1336
+ # Corresponds to the JSON property `directoryEntries`
1337
+ # @return [Array<Google::Apis::DataformV1beta1::DirectoryEntry>]
1338
+ attr_accessor :directory_entries
1339
+
1340
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1341
+ # field is omitted, there are no subsequent pages.
1342
+ # Corresponds to the JSON property `nextPageToken`
1343
+ # @return [String]
1344
+ attr_accessor :next_page_token
1345
+
1346
+ def initialize(**args)
1347
+ update!(**args)
1348
+ end
1349
+
1350
+ # Update properties of this object
1351
+ def update!(**args)
1352
+ @directory_entries = args[:directory_entries] if args.key?(:directory_entries)
1353
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1354
+ end
1355
+ end
1356
+
1357
+ # `QueryWorkflowInvocationActions` response message.
1358
+ class QueryWorkflowInvocationActionsResponse
1359
+ include Google::Apis::Core::Hashable
1360
+
1361
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1362
+ # field is omitted, there are no subsequent pages.
1363
+ # Corresponds to the JSON property `nextPageToken`
1364
+ # @return [String]
1365
+ attr_accessor :next_page_token
1366
+
1367
+ # List of workflow invocation actions.
1368
+ # Corresponds to the JSON property `workflowInvocationActions`
1369
+ # @return [Array<Google::Apis::DataformV1beta1::WorkflowInvocationAction>]
1370
+ attr_accessor :workflow_invocation_actions
1371
+
1372
+ def initialize(**args)
1373
+ update!(**args)
1374
+ end
1375
+
1376
+ # Update properties of this object
1377
+ def update!(**args)
1378
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1379
+ @workflow_invocation_actions = args[:workflow_invocation_actions] if args.key?(:workflow_invocation_actions)
1380
+ end
1381
+ end
1382
+
1383
+ # `ReadFile` response message.
1384
+ class ReadFileResponse
1385
+ include Google::Apis::Core::Hashable
1386
+
1387
+ # The file's contents.
1388
+ # Corresponds to the JSON property `fileContents`
1389
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1390
+ # @return [String]
1391
+ attr_accessor :file_contents
1392
+
1393
+ def initialize(**args)
1394
+ update!(**args)
1395
+ end
1396
+
1397
+ # Update properties of this object
1398
+ def update!(**args)
1399
+ @file_contents = args[:file_contents] if args.key?(:file_contents)
1400
+ end
1401
+ end
1402
+
1403
+ # Represents a database relation.
1404
+ class Relation
1405
+ include Google::Apis::Core::Hashable
1406
+
1407
+ # Additional options that will be provided as key/value pairs into the options
1408
+ # clause of a create table/view statement. See https://cloud.google.com/bigquery/
1409
+ # docs/reference/standard-sql/data-definition-language for more information on
1410
+ # which options are supported.
1411
+ # Corresponds to the JSON property `additionalOptions`
1412
+ # @return [Hash<String,String>]
1413
+ attr_accessor :additional_options
1414
+
1415
+ # A list of columns or SQL expressions used to cluster the table.
1416
+ # Corresponds to the JSON property `clusterExpressions`
1417
+ # @return [Array<String>]
1418
+ attr_accessor :cluster_expressions
1419
+
1420
+ # A list of actions that this action depends on.
1421
+ # Corresponds to the JSON property `dependencyTargets`
1422
+ # @return [Array<Google::Apis::DataformV1beta1::Target>]
1423
+ attr_accessor :dependency_targets
1424
+
1425
+ # Whether this action is disabled (i.e. should not be run).
1426
+ # Corresponds to the JSON property `disabled`
1427
+ # @return [Boolean]
1428
+ attr_accessor :disabled
1429
+ alias_method :disabled?, :disabled
1430
+
1431
+ # Contains settings for relations of type `INCREMENTAL_TABLE`.
1432
+ # Corresponds to the JSON property `incrementalTableConfig`
1433
+ # @return [Google::Apis::DataformV1beta1::IncrementalTableConfig]
1434
+ attr_accessor :incremental_table_config
1435
+
1436
+ # Sets the partition expiration in days.
1437
+ # Corresponds to the JSON property `partitionExpirationDays`
1438
+ # @return [Fixnum]
1439
+ attr_accessor :partition_expiration_days
1440
+
1441
+ # The SQL expression used to partition the relation.
1442
+ # Corresponds to the JSON property `partitionExpression`
1443
+ # @return [String]
1444
+ attr_accessor :partition_expression
1445
+
1446
+ # SQL statements to be executed after creating the relation.
1447
+ # Corresponds to the JSON property `postOperations`
1448
+ # @return [Array<String>]
1449
+ attr_accessor :post_operations
1450
+
1451
+ # SQL statements to be executed before creating the relation.
1452
+ # Corresponds to the JSON property `preOperations`
1453
+ # @return [Array<String>]
1454
+ attr_accessor :pre_operations
1455
+
1456
+ # Describes a relation and its columns.
1457
+ # Corresponds to the JSON property `relationDescriptor`
1458
+ # @return [Google::Apis::DataformV1beta1::RelationDescriptor]
1459
+ attr_accessor :relation_descriptor
1460
+
1461
+ # The type of this relation.
1462
+ # Corresponds to the JSON property `relationType`
1463
+ # @return [String]
1464
+ attr_accessor :relation_type
1465
+
1466
+ # Specifies whether queries on this table must include a predicate filter that
1467
+ # filters on the partitioning column.
1468
+ # Corresponds to the JSON property `requirePartitionFilter`
1469
+ # @return [Boolean]
1470
+ attr_accessor :require_partition_filter
1471
+ alias_method :require_partition_filter?, :require_partition_filter
1472
+
1473
+ # The SELECT query which returns rows which this relation should contain.
1474
+ # Corresponds to the JSON property `selectQuery`
1475
+ # @return [String]
1476
+ attr_accessor :select_query
1477
+
1478
+ # Arbitrary, user-defined tags on this action.
1479
+ # Corresponds to the JSON property `tags`
1480
+ # @return [Array<String>]
1481
+ attr_accessor :tags
1482
+
1483
+ def initialize(**args)
1484
+ update!(**args)
1485
+ end
1486
+
1487
+ # Update properties of this object
1488
+ def update!(**args)
1489
+ @additional_options = args[:additional_options] if args.key?(:additional_options)
1490
+ @cluster_expressions = args[:cluster_expressions] if args.key?(:cluster_expressions)
1491
+ @dependency_targets = args[:dependency_targets] if args.key?(:dependency_targets)
1492
+ @disabled = args[:disabled] if args.key?(:disabled)
1493
+ @incremental_table_config = args[:incremental_table_config] if args.key?(:incremental_table_config)
1494
+ @partition_expiration_days = args[:partition_expiration_days] if args.key?(:partition_expiration_days)
1495
+ @partition_expression = args[:partition_expression] if args.key?(:partition_expression)
1496
+ @post_operations = args[:post_operations] if args.key?(:post_operations)
1497
+ @pre_operations = args[:pre_operations] if args.key?(:pre_operations)
1498
+ @relation_descriptor = args[:relation_descriptor] if args.key?(:relation_descriptor)
1499
+ @relation_type = args[:relation_type] if args.key?(:relation_type)
1500
+ @require_partition_filter = args[:require_partition_filter] if args.key?(:require_partition_filter)
1501
+ @select_query = args[:select_query] if args.key?(:select_query)
1502
+ @tags = args[:tags] if args.key?(:tags)
1503
+ end
1504
+ end
1505
+
1506
+ # Describes a relation and its columns.
1507
+ class RelationDescriptor
1508
+ include Google::Apis::Core::Hashable
1509
+
1510
+ # A set of BigQuery labels that should be applied to the relation.
1511
+ # Corresponds to the JSON property `bigqueryLabels`
1512
+ # @return [Hash<String,String>]
1513
+ attr_accessor :bigquery_labels
1514
+
1515
+ # A list of descriptions of columns within the relation.
1516
+ # Corresponds to the JSON property `columns`
1517
+ # @return [Array<Google::Apis::DataformV1beta1::ColumnDescriptor>]
1518
+ attr_accessor :columns
1519
+
1520
+ # A text description of the relation.
1521
+ # Corresponds to the JSON property `description`
1522
+ # @return [String]
1523
+ attr_accessor :description
1524
+
1525
+ def initialize(**args)
1526
+ update!(**args)
1527
+ end
1528
+
1529
+ # Update properties of this object
1530
+ def update!(**args)
1531
+ @bigquery_labels = args[:bigquery_labels] if args.key?(:bigquery_labels)
1532
+ @columns = args[:columns] if args.key?(:columns)
1533
+ @description = args[:description] if args.key?(:description)
1534
+ end
1535
+ end
1536
+
1537
+ # Represents a Dataform release configuration.
1538
+ class ReleaseConfig
1539
+ include Google::Apis::Core::Hashable
1540
+
1541
+ # Configures various aspects of Dataform code compilation.
1542
+ # Corresponds to the JSON property `codeCompilationConfig`
1543
+ # @return [Google::Apis::DataformV1beta1::CodeCompilationConfig]
1544
+ attr_accessor :code_compilation_config
1545
+
1546
+ # Optional. Optional schedule (in cron format) for automatic creation of
1547
+ # compilation results.
1548
+ # Corresponds to the JSON property `cronSchedule`
1549
+ # @return [String]
1550
+ attr_accessor :cron_schedule
1551
+
1552
+ # Required. Git commit/tag/branch name at which the repository should be
1553
+ # compiled. Must exist in the remote repository. Examples: - a commit SHA: `
1554
+ # 12ade345` - a tag: `tag1` - a branch name: `branch1`
1555
+ # Corresponds to the JSON property `gitCommitish`
1556
+ # @return [String]
1557
+ attr_accessor :git_commitish
1558
+
1559
+ # Output only. The release config's name.
1560
+ # Corresponds to the JSON property `name`
1561
+ # @return [String]
1562
+ attr_accessor :name
1563
+
1564
+ # Output only. Records of the 10 most recent scheduled release attempts. Updated
1565
+ # whenever automatic creation of a compilation result is triggered by
1566
+ # cron_schedule.
1567
+ # Corresponds to the JSON property `recentScheduledReleaseRecords`
1568
+ # @return [Array<Google::Apis::DataformV1beta1::ScheduledReleaseRecord>]
1569
+ attr_accessor :recent_scheduled_release_records
1570
+
1571
+ # Optional. The name of the currently released compilation result for this
1572
+ # release config. This value is updated when a compilation result is created
1573
+ # from this release config, or when this resource is updated by API call (
1574
+ # perhaps to roll back to an earlier release). The compilation result must have
1575
+ # been created using this release config. Must be in the format `projects/*/
1576
+ # locations/*/repositories/*/compilationResults/*`.
1577
+ # Corresponds to the JSON property `releaseCompilationResult`
1578
+ # @return [String]
1579
+ attr_accessor :release_compilation_result
1580
+
1581
+ # Optional. Specifies the time zone to be used when interpreting cron_schedule.
1582
+ # Must be a time zone name from the time zone database (https://en.wikipedia.org/
1583
+ # wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC.
1584
+ # Corresponds to the JSON property `timeZone`
1585
+ # @return [String]
1586
+ attr_accessor :time_zone
1587
+
1588
+ def initialize(**args)
1589
+ update!(**args)
1590
+ end
1591
+
1592
+ # Update properties of this object
1593
+ def update!(**args)
1594
+ @code_compilation_config = args[:code_compilation_config] if args.key?(:code_compilation_config)
1595
+ @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
1596
+ @git_commitish = args[:git_commitish] if args.key?(:git_commitish)
1597
+ @name = args[:name] if args.key?(:name)
1598
+ @recent_scheduled_release_records = args[:recent_scheduled_release_records] if args.key?(:recent_scheduled_release_records)
1599
+ @release_compilation_result = args[:release_compilation_result] if args.key?(:release_compilation_result)
1600
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
1601
+ end
1602
+ end
1603
+
1604
+ # `RemoveDirectory` request message.
1605
+ class RemoveDirectoryRequest
1606
+ include Google::Apis::Core::Hashable
1607
+
1608
+ # Required. The directory's full path including directory name, relative to the
1609
+ # workspace root.
1610
+ # Corresponds to the JSON property `path`
1611
+ # @return [String]
1612
+ attr_accessor :path
1613
+
1614
+ def initialize(**args)
1615
+ update!(**args)
1616
+ end
1617
+
1618
+ # Update properties of this object
1619
+ def update!(**args)
1620
+ @path = args[:path] if args.key?(:path)
1621
+ end
1622
+ end
1623
+
1624
+ # `RemoveFile` request message.
1625
+ class RemoveFileRequest
1626
+ include Google::Apis::Core::Hashable
1627
+
1628
+ # Required. The file's full path including filename, relative to the workspace
1629
+ # root.
1630
+ # Corresponds to the JSON property `path`
1631
+ # @return [String]
1632
+ attr_accessor :path
1633
+
1634
+ def initialize(**args)
1635
+ update!(**args)
1636
+ end
1637
+
1638
+ # Update properties of this object
1639
+ def update!(**args)
1640
+ @path = args[:path] if args.key?(:path)
1641
+ end
1642
+ end
1643
+
1644
+ # Represents a Dataform Git repository.
1645
+ class Repository
1646
+ include Google::Apis::Core::Hashable
1647
+
1648
+ # Controls Git remote configuration for a repository.
1649
+ # Corresponds to the JSON property `gitRemoteSettings`
1650
+ # @return [Google::Apis::DataformV1beta1::GitRemoteSettings]
1651
+ attr_accessor :git_remote_settings
1652
+
1653
+ # Output only. The repository's name.
1654
+ # Corresponds to the JSON property `name`
1655
+ # @return [String]
1656
+ attr_accessor :name
1657
+
1658
+ # Optional. The name of the Secret Manager secret version to be used to
1659
+ # interpolate variables into the .npmrc file for package installation operations.
1660
+ # Must be in the format `projects/*/secrets/*/versions/*`. The file itself must
1661
+ # be in a JSON format.
1662
+ # Corresponds to the JSON property `npmrcEnvironmentVariablesSecretVersion`
1663
+ # @return [String]
1664
+ attr_accessor :npmrc_environment_variables_secret_version
1665
+
1666
+ def initialize(**args)
1667
+ update!(**args)
1668
+ end
1669
+
1670
+ # Update properties of this object
1671
+ def update!(**args)
1672
+ @git_remote_settings = args[:git_remote_settings] if args.key?(:git_remote_settings)
1673
+ @name = args[:name] if args.key?(:name)
1674
+ @npmrc_environment_variables_secret_version = args[:npmrc_environment_variables_secret_version] if args.key?(:npmrc_environment_variables_secret_version)
1675
+ end
1676
+ end
1677
+
1678
+ # `ResetWorkspaceChanges` request message.
1679
+ class ResetWorkspaceChangesRequest
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # Optional. If set to true, untracked files will be deleted.
1683
+ # Corresponds to the JSON property `clean`
1684
+ # @return [Boolean]
1685
+ attr_accessor :clean
1686
+ alias_method :clean?, :clean
1687
+
1688
+ # Optional. Full file paths to reset back to their committed state including
1689
+ # filename, rooted at workspace root. If left empty, all files will be reset.
1690
+ # Corresponds to the JSON property `paths`
1691
+ # @return [Array<String>]
1692
+ attr_accessor :paths
1693
+
1694
+ def initialize(**args)
1695
+ update!(**args)
1696
+ end
1697
+
1698
+ # Update properties of this object
1699
+ def update!(**args)
1700
+ @clean = args[:clean] if args.key?(:clean)
1701
+ @paths = args[:paths] if args.key?(:paths)
1702
+ end
1703
+ end
1704
+
1705
+ # A record of an attempt to create a workflow invocation for this workflow
1706
+ # config.
1707
+ class ScheduledExecutionRecord
1708
+ include Google::Apis::Core::Hashable
1709
+
1710
+ # The `Status` type defines a logical error model that is suitable for different
1711
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1712
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1713
+ # data: error code, error message, and error details. You can find out more
1714
+ # about this error model and how to work with it in the [API Design Guide](https:
1715
+ # //cloud.google.com/apis/design/errors).
1716
+ # Corresponds to the JSON property `errorStatus`
1717
+ # @return [Google::Apis::DataformV1beta1::Status]
1718
+ attr_accessor :error_status
1719
+
1720
+ # The timestamp of this execution attempt.
1721
+ # Corresponds to the JSON property `executionTime`
1722
+ # @return [String]
1723
+ attr_accessor :execution_time
1724
+
1725
+ # The name of the created workflow invocation, if one was successfully created.
1726
+ # Must be in the format `projects/*/locations/*/repositories/*/
1727
+ # workflowInvocations/*`.
1728
+ # Corresponds to the JSON property `workflowInvocation`
1729
+ # @return [String]
1730
+ attr_accessor :workflow_invocation
1731
+
1732
+ def initialize(**args)
1733
+ update!(**args)
1734
+ end
1735
+
1736
+ # Update properties of this object
1737
+ def update!(**args)
1738
+ @error_status = args[:error_status] if args.key?(:error_status)
1739
+ @execution_time = args[:execution_time] if args.key?(:execution_time)
1740
+ @workflow_invocation = args[:workflow_invocation] if args.key?(:workflow_invocation)
1741
+ end
1742
+ end
1743
+
1744
+ # A record of an attempt to create a compilation result for this release config.
1745
+ class ScheduledReleaseRecord
1746
+ include Google::Apis::Core::Hashable
1747
+
1748
+ # The name of the created compilation result, if one was successfully created.
1749
+ # Must be in the format `projects/*/locations/*/repositories/*/
1750
+ # compilationResults/*`.
1751
+ # Corresponds to the JSON property `compilationResult`
1752
+ # @return [String]
1753
+ attr_accessor :compilation_result
1754
+
1755
+ # The `Status` type defines a logical error model that is suitable for different
1756
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1757
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1758
+ # data: error code, error message, and error details. You can find out more
1759
+ # about this error model and how to work with it in the [API Design Guide](https:
1760
+ # //cloud.google.com/apis/design/errors).
1761
+ # Corresponds to the JSON property `errorStatus`
1762
+ # @return [Google::Apis::DataformV1beta1::Status]
1763
+ attr_accessor :error_status
1764
+
1765
+ # The timestamp of this release attempt.
1766
+ # Corresponds to the JSON property `releaseTime`
1767
+ # @return [String]
1768
+ attr_accessor :release_time
1769
+
1770
+ def initialize(**args)
1771
+ update!(**args)
1772
+ end
1773
+
1774
+ # Update properties of this object
1775
+ def update!(**args)
1776
+ @compilation_result = args[:compilation_result] if args.key?(:compilation_result)
1777
+ @error_status = args[:error_status] if args.key?(:error_status)
1778
+ @release_time = args[:release_time] if args.key?(:release_time)
1779
+ end
1780
+ end
1781
+
1782
+ # The `Status` type defines a logical error model that is suitable for different
1783
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1784
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1785
+ # data: error code, error message, and error details. You can find out more
1786
+ # about this error model and how to work with it in the [API Design Guide](https:
1787
+ # //cloud.google.com/apis/design/errors).
1788
+ class Status
1789
+ include Google::Apis::Core::Hashable
1790
+
1791
+ # The status code, which should be an enum value of google.rpc.Code.
1792
+ # Corresponds to the JSON property `code`
1793
+ # @return [Fixnum]
1794
+ attr_accessor :code
1795
+
1796
+ # A list of messages that carry the error details. There is a common set of
1797
+ # message types for APIs to use.
1798
+ # Corresponds to the JSON property `details`
1799
+ # @return [Array<Hash<String,Object>>]
1800
+ attr_accessor :details
1801
+
1802
+ # A developer-facing error message, which should be in English. Any user-facing
1803
+ # error message should be localized and sent in the google.rpc.Status.details
1804
+ # field, or localized by the client.
1805
+ # Corresponds to the JSON property `message`
1806
+ # @return [String]
1807
+ attr_accessor :message
1808
+
1809
+ def initialize(**args)
1810
+ update!(**args)
1811
+ end
1812
+
1813
+ # Update properties of this object
1814
+ def update!(**args)
1815
+ @code = args[:code] if args.key?(:code)
1816
+ @details = args[:details] if args.key?(:details)
1817
+ @message = args[:message] if args.key?(:message)
1818
+ end
1819
+ end
1820
+
1821
+ # Represents an action identifier. If the action writes output, the output will
1822
+ # be written to the referenced database object.
1823
+ class Target
1824
+ include Google::Apis::Core::Hashable
1825
+
1826
+ # The action's database (Google Cloud project ID) .
1827
+ # Corresponds to the JSON property `database`
1828
+ # @return [String]
1829
+ attr_accessor :database
1830
+
1831
+ # The action's name, within `database` and `schema`.
1832
+ # Corresponds to the JSON property `name`
1833
+ # @return [String]
1834
+ attr_accessor :name
1835
+
1836
+ # The action's schema (BigQuery dataset ID), within `database`.
1837
+ # Corresponds to the JSON property `schema`
1838
+ # @return [String]
1839
+ attr_accessor :schema
1840
+
1841
+ def initialize(**args)
1842
+ update!(**args)
1843
+ end
1844
+
1845
+ # Update properties of this object
1846
+ def update!(**args)
1847
+ @database = args[:database] if args.key?(:database)
1848
+ @name = args[:name] if args.key?(:name)
1849
+ @schema = args[:schema] if args.key?(:schema)
1850
+ end
1851
+ end
1852
+
1853
+ # Represents the Git state of a file with uncommitted changes.
1854
+ class UncommittedFileChange
1855
+ include Google::Apis::Core::Hashable
1856
+
1857
+ # The file's full path including filename, relative to the workspace root.
1858
+ # Corresponds to the JSON property `path`
1859
+ # @return [String]
1860
+ attr_accessor :path
1861
+
1862
+ # Indicates the status of the file.
1863
+ # Corresponds to the JSON property `state`
1864
+ # @return [String]
1865
+ attr_accessor :state
1866
+
1867
+ def initialize(**args)
1868
+ update!(**args)
1869
+ end
1870
+
1871
+ # Update properties of this object
1872
+ def update!(**args)
1873
+ @path = args[:path] if args.key?(:path)
1874
+ @state = args[:state] if args.key?(:state)
1875
+ end
1876
+ end
1877
+
1878
+ # Represents a Dataform workflow configuration.
1879
+ class WorkflowConfig
1880
+ include Google::Apis::Core::Hashable
1881
+
1882
+ # Optional. Optional schedule (in cron format) for automatic execution of this
1883
+ # workflow config.
1884
+ # Corresponds to the JSON property `cronSchedule`
1885
+ # @return [String]
1886
+ attr_accessor :cron_schedule
1887
+
1888
+ # Includes various configuration options for a workflow invocation. If both `
1889
+ # included_targets` and `included_tags` are unset, all actions will be included.
1890
+ # Corresponds to the JSON property `invocationConfig`
1891
+ # @return [Google::Apis::DataformV1beta1::InvocationConfig]
1892
+ attr_accessor :invocation_config
1893
+
1894
+ # Output only. The workflow config's name.
1895
+ # Corresponds to the JSON property `name`
1896
+ # @return [String]
1897
+ attr_accessor :name
1898
+
1899
+ # Output only. Records of the 10 most recent scheduled execution attempts.
1900
+ # Updated whenever automatic creation of a compilation result is triggered by
1901
+ # cron_schedule.
1902
+ # Corresponds to the JSON property `recentScheduledExecutionRecords`
1903
+ # @return [Array<Google::Apis::DataformV1beta1::ScheduledExecutionRecord>]
1904
+ attr_accessor :recent_scheduled_execution_records
1905
+
1906
+ # Required. The name of the release config whose release_compilation_result
1907
+ # should be executed. Must be in the format `projects/*/locations/*/repositories/
1908
+ # */releaseConfigs/*`.
1909
+ # Corresponds to the JSON property `releaseConfig`
1910
+ # @return [String]
1911
+ attr_accessor :release_config
1912
+
1913
+ # Optional. Specifies the time zone to be used when interpreting cron_schedule.
1914
+ # Must be a time zone name from the time zone database (https://en.wikipedia.org/
1915
+ # wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC.
1916
+ # Corresponds to the JSON property `timeZone`
1917
+ # @return [String]
1918
+ attr_accessor :time_zone
1919
+
1920
+ def initialize(**args)
1921
+ update!(**args)
1922
+ end
1923
+
1924
+ # Update properties of this object
1925
+ def update!(**args)
1926
+ @cron_schedule = args[:cron_schedule] if args.key?(:cron_schedule)
1927
+ @invocation_config = args[:invocation_config] if args.key?(:invocation_config)
1928
+ @name = args[:name] if args.key?(:name)
1929
+ @recent_scheduled_execution_records = args[:recent_scheduled_execution_records] if args.key?(:recent_scheduled_execution_records)
1930
+ @release_config = args[:release_config] if args.key?(:release_config)
1931
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
1932
+ end
1933
+ end
1934
+
1935
+ # Represents a single invocation of a compilation result.
1936
+ class WorkflowInvocation
1937
+ include Google::Apis::Core::Hashable
1938
+
1939
+ # Immutable. The name of the compilation result to compile. Must be in the
1940
+ # format `projects/*/locations/*/repositories/*/compilationResults/*`.
1941
+ # Corresponds to the JSON property `compilationResult`
1942
+ # @return [String]
1943
+ attr_accessor :compilation_result
1944
+
1945
+ # Includes various configuration options for a workflow invocation. If both `
1946
+ # included_targets` and `included_tags` are unset, all actions will be included.
1947
+ # Corresponds to the JSON property `invocationConfig`
1948
+ # @return [Google::Apis::DataformV1beta1::InvocationConfig]
1949
+ attr_accessor :invocation_config
1950
+
1951
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
1952
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
1953
+ # When the start equals the end, the interval is empty (matches no time). When
1954
+ # both start and end are unspecified, the interval matches any time.
1955
+ # Corresponds to the JSON property `invocationTiming`
1956
+ # @return [Google::Apis::DataformV1beta1::Interval]
1957
+ attr_accessor :invocation_timing
1958
+
1959
+ # Output only. The workflow invocation's name.
1960
+ # Corresponds to the JSON property `name`
1961
+ # @return [String]
1962
+ attr_accessor :name
1963
+
1964
+ # Output only. This workflow invocation's current state.
1965
+ # Corresponds to the JSON property `state`
1966
+ # @return [String]
1967
+ attr_accessor :state
1968
+
1969
+ def initialize(**args)
1970
+ update!(**args)
1971
+ end
1972
+
1973
+ # Update properties of this object
1974
+ def update!(**args)
1975
+ @compilation_result = args[:compilation_result] if args.key?(:compilation_result)
1976
+ @invocation_config = args[:invocation_config] if args.key?(:invocation_config)
1977
+ @invocation_timing = args[:invocation_timing] if args.key?(:invocation_timing)
1978
+ @name = args[:name] if args.key?(:name)
1979
+ @state = args[:state] if args.key?(:state)
1980
+ end
1981
+ end
1982
+
1983
+ # Represents a single action in a workflow invocation.
1984
+ class WorkflowInvocationAction
1985
+ include Google::Apis::Core::Hashable
1986
+
1987
+ # Represents a workflow action that will run against BigQuery.
1988
+ # Corresponds to the JSON property `bigqueryAction`
1989
+ # @return [Google::Apis::DataformV1beta1::BigQueryAction]
1990
+ attr_accessor :bigquery_action
1991
+
1992
+ # Represents an action identifier. If the action writes output, the output will
1993
+ # be written to the referenced database object.
1994
+ # Corresponds to the JSON property `canonicalTarget`
1995
+ # @return [Google::Apis::DataformV1beta1::Target]
1996
+ attr_accessor :canonical_target
1997
+
1998
+ # Output only. If and only if action's state is FAILED a failure reason is set.
1999
+ # Corresponds to the JSON property `failureReason`
2000
+ # @return [String]
2001
+ attr_accessor :failure_reason
2002
+
2003
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
2004
+ # Timestamp end (exclusive). The start must be less than or equal to the end.
2005
+ # When the start equals the end, the interval is empty (matches no time). When
2006
+ # both start and end are unspecified, the interval matches any time.
2007
+ # Corresponds to the JSON property `invocationTiming`
2008
+ # @return [Google::Apis::DataformV1beta1::Interval]
2009
+ attr_accessor :invocation_timing
2010
+
2011
+ # Output only. This action's current state.
2012
+ # Corresponds to the JSON property `state`
2013
+ # @return [String]
2014
+ attr_accessor :state
2015
+
2016
+ # Represents an action identifier. If the action writes output, the output will
2017
+ # be written to the referenced database object.
2018
+ # Corresponds to the JSON property `target`
2019
+ # @return [Google::Apis::DataformV1beta1::Target]
2020
+ attr_accessor :target
2021
+
2022
+ def initialize(**args)
2023
+ update!(**args)
2024
+ end
2025
+
2026
+ # Update properties of this object
2027
+ def update!(**args)
2028
+ @bigquery_action = args[:bigquery_action] if args.key?(:bigquery_action)
2029
+ @canonical_target = args[:canonical_target] if args.key?(:canonical_target)
2030
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
2031
+ @invocation_timing = args[:invocation_timing] if args.key?(:invocation_timing)
2032
+ @state = args[:state] if args.key?(:state)
2033
+ @target = args[:target] if args.key?(:target)
2034
+ end
2035
+ end
2036
+
2037
+ # Represents a Dataform Git workspace.
2038
+ class Workspace
2039
+ include Google::Apis::Core::Hashable
2040
+
2041
+ # Output only. The workspace's name.
2042
+ # Corresponds to the JSON property `name`
2043
+ # @return [String]
2044
+ attr_accessor :name
2045
+
2046
+ def initialize(**args)
2047
+ update!(**args)
2048
+ end
2049
+
2050
+ # Update properties of this object
2051
+ def update!(**args)
2052
+ @name = args[:name] if args.key?(:name)
2053
+ end
2054
+ end
2055
+
2056
+ # `WriteFile` request message.
2057
+ class WriteFileRequest
2058
+ include Google::Apis::Core::Hashable
2059
+
2060
+ # Required. The file's contents.
2061
+ # Corresponds to the JSON property `contents`
2062
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2063
+ # @return [String]
2064
+ attr_accessor :contents
2065
+
2066
+ # Required. The file.
2067
+ # Corresponds to the JSON property `path`
2068
+ # @return [String]
2069
+ attr_accessor :path
2070
+
2071
+ def initialize(**args)
2072
+ update!(**args)
2073
+ end
2074
+
2075
+ # Update properties of this object
2076
+ def update!(**args)
2077
+ @contents = args[:contents] if args.key?(:contents)
2078
+ @path = args[:path] if args.key?(:path)
2079
+ end
2080
+ end
2081
+
2082
+ # `WriteFile` response message.
2083
+ class WriteFileResponse
2084
+ include Google::Apis::Core::Hashable
2085
+
2086
+ def initialize(**args)
2087
+ update!(**args)
2088
+ end
2089
+
2090
+ # Update properties of this object
2091
+ def update!(**args)
2092
+ end
2093
+ end
2094
+ end
2095
+ end
2096
+ end