google-apis-dataform_v1beta1 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,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