google-cloud-dataflow-v1beta3 0.12.1 → 0.13.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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service/client.rb +1 -1
  3. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service/credentials.rb +1 -3
  4. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service/rest/client.rb +1 -1
  5. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service/rest.rb +1 -1
  6. data/lib/google/cloud/dataflow/v1beta3/flex_templates_service.rb +1 -1
  7. data/lib/google/cloud/dataflow/v1beta3/jobs/client.rb +26 -5
  8. data/lib/google/cloud/dataflow/v1beta3/jobs/credentials.rb +1 -3
  9. data/lib/google/cloud/dataflow/v1beta3/jobs/rest/client.rb +26 -5
  10. data/lib/google/cloud/dataflow/v1beta3/messages/credentials.rb +1 -3
  11. data/lib/google/cloud/dataflow/v1beta3/metrics/credentials.rb +1 -3
  12. data/lib/google/cloud/dataflow/v1beta3/snapshots/credentials.rb +1 -3
  13. data/lib/google/cloud/dataflow/v1beta3/templates_service/client.rb +25 -6
  14. data/lib/google/cloud/dataflow/v1beta3/templates_service/credentials.rb +1 -3
  15. data/lib/google/cloud/dataflow/v1beta3/templates_service/rest/client.rb +25 -6
  16. data/lib/google/cloud/dataflow/v1beta3/version.rb +1 -1
  17. data/lib/google/dataflow/v1beta3/environment_pb.rb +4 -1
  18. data/lib/google/dataflow/v1beta3/jobs_pb.rb +9 -1
  19. data/lib/google/dataflow/v1beta3/jobs_services_pb.rb +12 -2
  20. data/lib/google/dataflow/v1beta3/messages_pb.rb +1 -1
  21. data/lib/google/dataflow/v1beta3/metrics_pb.rb +10 -1
  22. data/lib/google/dataflow/v1beta3/snapshots_pb.rb +1 -1
  23. data/lib/google/dataflow/v1beta3/streaming_pb.rb +1 -1
  24. data/lib/google/dataflow/v1beta3/templates_pb.rb +3 -1
  25. data/lib/google/dataflow/v1beta3/templates_services_pb.rb +22 -3
  26. data/proto_docs/google/dataflow/v1beta3/environment.rb +96 -16
  27. data/proto_docs/google/dataflow/v1beta3/jobs.rb +163 -23
  28. data/proto_docs/google/dataflow/v1beta3/metrics.rb +148 -3
  29. data/proto_docs/google/dataflow/v1beta3/streaming.rb +3 -0
  30. data/proto_docs/google/dataflow/v1beta3/templates.rb +183 -35
  31. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  32. metadata +7 -12
@@ -44,6 +44,15 @@ module Google
44
44
  # @!attribute [rw] default_environment
45
45
  # @return [::Google::Cloud::Dataflow::V1beta3::FlexTemplateRuntimeEnvironment]
46
46
  # Default runtime environment for the job.
47
+ # @!attribute [rw] image_repository_username_secret_id
48
+ # @return [::String]
49
+ # Secret Manager secret id for username to authenticate to private registry.
50
+ # @!attribute [rw] image_repository_password_secret_id
51
+ # @return [::String]
52
+ # Secret Manager secret id for password to authenticate to private registry.
53
+ # @!attribute [rw] image_repository_cert_path
54
+ # @return [::String]
55
+ # Cloud Storage path to self-signed certificate of private registry.
47
56
  class ContainerSpec
48
57
  include ::Google::Protobuf::MessageExts
49
58
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -213,19 +222,33 @@ module Google
213
222
  # The algorithm to use for autoscaling
214
223
  # @!attribute [rw] dump_heap_on_oom
215
224
  # @return [::Boolean]
216
- # If true, save a heap dump before killing a thread or process which is GC
217
- # thrashing or out of memory. The location of the heap file will either be
218
- # echoed back to the user, or the user will be given the opportunity to
225
+ # If true, when processing time is spent almost entirely
226
+ # on garbage collection (GC), saves a heap dump before ending the thread
227
+ # or process. If false, ends the thread or process without saving a heap
228
+ # dump. Does not save a heap dump when the Java Virtual Machine (JVM) has an
229
+ # out of memory error during processing. The location of the heap file is
230
+ # either echoed back to the user, or the user is given the opportunity to
219
231
  # download the heap file.
220
232
  # @!attribute [rw] save_heap_dumps_to_gcs_path
221
233
  # @return [::String]
222
- # Cloud Storage bucket (directory) to upload heap dumps to the given
223
- # location. Enabling this implies that heap dumps should be generated on OOM
224
- # (dump_heap_on_oom is set to true).
234
+ # Cloud Storage bucket (directory) to upload heap dumps to.
235
+ # Enabling this field implies that `dump_heap_on_oom` is set to true.
225
236
  # @!attribute [rw] launcher_machine_type
226
237
  # @return [::String]
227
238
  # The machine type to use for launching the job. The default is
228
239
  # n1-standard-1.
240
+ # @!attribute [rw] enable_launcher_vm_serial_port_logging
241
+ # @return [::Boolean]
242
+ # If true serial port logging will be enabled for the launcher VM.
243
+ # @!attribute [rw] streaming_mode
244
+ # @return [::Google::Cloud::Dataflow::V1beta3::StreamingMode]
245
+ # Optional. Specifies the Streaming Engine message processing guarantees.
246
+ # Reduces cost and latency but might result in duplicate messages committed
247
+ # to storage. Designed to run simple mapping streaming ETL jobs at the lowest
248
+ # cost. For example, Change Data Capture (CDC) to BigQuery is a canonical use
249
+ # case. For more information, see
250
+ # [Set the pipeline streaming
251
+ # mode](https://cloud.google.com/dataflow/docs/guides/streaming-modes).
229
252
  class FlexTemplateRuntimeEnvironment
230
253
  include ::Google::Protobuf::MessageExts
231
254
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -264,51 +287,53 @@ module Google
264
287
  # The environment values to set at runtime.
265
288
  # @!attribute [rw] num_workers
266
289
  # @return [::Integer]
267
- # The initial number of Google Compute Engine instnaces for the job.
290
+ # Optional. The initial number of Google Compute Engine instances for the
291
+ # job. The default value is 11.
268
292
  # @!attribute [rw] max_workers
269
293
  # @return [::Integer]
270
- # The maximum number of Google Compute Engine instances to be made
271
- # available to your pipeline during execution, from 1 to 1000.
294
+ # Optional. The maximum number of Google Compute Engine instances to be made
295
+ # available to your pipeline during execution, from 1 to 1000. The default
296
+ # value is 1.
272
297
  # @!attribute [rw] zone
273
298
  # @return [::String]
274
- # The Compute Engine [availability
299
+ # Optional. The Compute Engine [availability
275
300
  # zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)
276
301
  # for launching worker instances to run your pipeline.
277
302
  # In the future, worker_zone will take precedence.
278
303
  # @!attribute [rw] service_account_email
279
304
  # @return [::String]
280
- # The email address of the service account to run the job as.
305
+ # Optional. The email address of the service account to run the job as.
281
306
  # @!attribute [rw] temp_location
282
307
  # @return [::String]
283
- # The Cloud Storage path to use for temporary files.
308
+ # Required. The Cloud Storage path to use for temporary files.
284
309
  # Must be a valid Cloud Storage URL, beginning with `gs://`.
285
310
  # @!attribute [rw] bypass_temp_dir_validation
286
311
  # @return [::Boolean]
287
- # Whether to bypass the safety checks for the job's temporary directory.
288
- # Use with caution.
312
+ # Optional. Whether to bypass the safety checks for the job's temporary
313
+ # directory. Use with caution.
289
314
  # @!attribute [rw] machine_type
290
315
  # @return [::String]
291
- # The machine type to use for the job. Defaults to the value from the
292
- # template if not specified.
316
+ # Optional. The machine type to use for the job. Defaults to the value from
317
+ # the template if not specified.
293
318
  # @!attribute [rw] additional_experiments
294
319
  # @return [::Array<::String>]
295
- # Additional experiment flags for the job, specified with the
320
+ # Optional. Additional experiment flags for the job, specified with the
296
321
  # `--experiments` option.
297
322
  # @!attribute [rw] network
298
323
  # @return [::String]
299
- # Network to which VMs will be assigned. If empty or unspecified,
324
+ # Optional. Network to which VMs will be assigned. If empty or unspecified,
300
325
  # the service will use the network "default".
301
326
  # @!attribute [rw] subnetwork
302
327
  # @return [::String]
303
- # Subnetwork to which VMs will be assigned, if desired. You can specify a
304
- # subnetwork using either a complete URL or an abbreviated path. Expected to
305
- # be of the form
328
+ # Optional. Subnetwork to which VMs will be assigned, if desired. You can
329
+ # specify a subnetwork using either a complete URL or an abbreviated path.
330
+ # Expected to be of the form
306
331
  # "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK"
307
332
  # or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in
308
333
  # a Shared VPC network, you must use the complete URL.
309
334
  # @!attribute [rw] additional_user_labels
310
335
  # @return [::Google::Protobuf::Map{::String => ::String}]
311
- # Additional user labels to be specified for the job.
336
+ # Optional. Additional user labels to be specified for the job.
312
337
  # Keys and values should follow the restrictions specified in the [labeling
313
338
  # restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)
314
339
  # page.
@@ -316,22 +341,22 @@ module Google
316
341
  # Example: { "name": "wrench", "mass": "1kg", "count": "3" }.
317
342
  # @!attribute [rw] kms_key_name
318
343
  # @return [::String]
319
- # Name for the Cloud KMS key for the job.
344
+ # Optional. Name for the Cloud KMS key for the job.
320
345
  # Key format is:
321
346
  # projects/<project>/locations/<location>/keyRings/<keyring>/cryptoKeys/<key>
322
347
  # @!attribute [rw] ip_configuration
323
348
  # @return [::Google::Cloud::Dataflow::V1beta3::WorkerIPAddressConfiguration]
324
- # Configuration for VM IPs.
349
+ # Optional. Configuration for VM IPs.
325
350
  # @!attribute [rw] worker_region
326
351
  # @return [::String]
327
- # The Compute Engine region
352
+ # Required. The Compute Engine region
328
353
  # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
329
354
  # which worker processing should occur, e.g. "us-west1". Mutually exclusive
330
355
  # with worker_zone. If neither worker_region nor worker_zone is specified,
331
356
  # default to the control plane's region.
332
357
  # @!attribute [rw] worker_zone
333
358
  # @return [::String]
334
- # The Compute Engine zone
359
+ # Optional. The Compute Engine zone
335
360
  # (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in
336
361
  # which worker processing should occur, e.g. "us-west1-a". Mutually exclusive
337
362
  # with worker_region. If neither worker_region nor worker_zone is specified,
@@ -339,7 +364,20 @@ module Google
339
364
  # If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.
340
365
  # @!attribute [rw] enable_streaming_engine
341
366
  # @return [::Boolean]
342
- # Whether to enable Streaming Engine for the job.
367
+ # Optional. Whether to enable Streaming Engine for the job.
368
+ # @!attribute [rw] disk_size_gb
369
+ # @return [::Integer]
370
+ # Optional. The disk size, in gigabytes, to use on each remote Compute Engine
371
+ # worker instance.
372
+ # @!attribute [rw] streaming_mode
373
+ # @return [::Google::Cloud::Dataflow::V1beta3::StreamingMode]
374
+ # Optional. Specifies the Streaming Engine message processing guarantees.
375
+ # Reduces cost and latency but might result in duplicate messages committed
376
+ # to storage. Designed to run simple mapping streaming ETL jobs at the lowest
377
+ # cost. For example, Change Data Capture (CDC) to BigQuery is a canonical use
378
+ # case. For more information, see
379
+ # [Set the pipeline streaming
380
+ # mode](https://cloud.google.com/dataflow/docs/guides/streaming-modes).
343
381
  class RuntimeEnvironment
344
382
  include ::Google::Protobuf::MessageExts
345
383
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -354,6 +392,21 @@ module Google
354
392
  end
355
393
  end
356
394
 
395
+ # ParameterMetadataEnumOption specifies the option shown in the enum form.
396
+ # @!attribute [rw] value
397
+ # @return [::String]
398
+ # Required. The value of the enum option.
399
+ # @!attribute [rw] label
400
+ # @return [::String]
401
+ # Optional. The label to display for the enum option.
402
+ # @!attribute [rw] description
403
+ # @return [::String]
404
+ # Optional. The description to display for the enum option.
405
+ class ParameterMetadataEnumOption
406
+ include ::Google::Protobuf::MessageExts
407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
408
+ end
409
+
357
410
  # Metadata for a specific parameter.
358
411
  # @!attribute [rw] name
359
412
  # @return [::String]
@@ -377,6 +430,35 @@ module Google
377
430
  # @!attribute [rw] custom_metadata
378
431
  # @return [::Google::Protobuf::Map{::String => ::String}]
379
432
  # Optional. Additional metadata for describing this parameter.
433
+ # @!attribute [rw] group_name
434
+ # @return [::String]
435
+ # Optional. Specifies a group name for this parameter to be rendered under.
436
+ # Group header text will be rendered exactly as specified in this field. Only
437
+ # considered when parent_name is NOT provided.
438
+ # @!attribute [rw] parent_name
439
+ # @return [::String]
440
+ # Optional. Specifies the name of the parent parameter. Used in conjunction
441
+ # with 'parent_trigger_values' to make this parameter conditional (will only
442
+ # be rendered conditionally). Should be mappable to a ParameterMetadata.name
443
+ # field.
444
+ # @!attribute [rw] parent_trigger_values
445
+ # @return [::Array<::String>]
446
+ # Optional. The value(s) of the 'parent_name' parameter which will trigger
447
+ # this parameter to be shown. If left empty, ANY non-empty value in
448
+ # parent_name will trigger this parameter to be shown. Only considered when
449
+ # this parameter is conditional (when 'parent_name' has been provided).
450
+ # @!attribute [rw] enum_options
451
+ # @return [::Array<::Google::Cloud::Dataflow::V1beta3::ParameterMetadataEnumOption>]
452
+ # Optional. The options shown when ENUM ParameterType is specified.
453
+ # @!attribute [rw] default_value
454
+ # @return [::String]
455
+ # Optional. The default values will pre-populate the parameter with the
456
+ # given value from the proto. If default_value is left empty, the parameter
457
+ # will be populated with a default of the relevant type, e.g. false for a
458
+ # boolean.
459
+ # @!attribute [rw] hidden_ui
460
+ # @return [::Boolean]
461
+ # Optional. Whether the parameter should be hidden in the UI.
380
462
  class ParameterMetadata
381
463
  include ::Google::Protobuf::MessageExts
382
464
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -401,6 +483,20 @@ module Google
401
483
  # @!attribute [rw] parameters
402
484
  # @return [::Array<::Google::Cloud::Dataflow::V1beta3::ParameterMetadata>]
403
485
  # The parameters for the template.
486
+ # @!attribute [rw] streaming
487
+ # @return [::Boolean]
488
+ # Optional. Indicates if the template is streaming or not.
489
+ # @!attribute [rw] supports_at_least_once
490
+ # @return [::Boolean]
491
+ # Optional. Indicates if the streaming template supports at least once mode.
492
+ # @!attribute [rw] supports_exactly_once
493
+ # @return [::Boolean]
494
+ # Optional. Indicates if the streaming template supports exactly once mode.
495
+ # @!attribute [rw] default_streaming_mode
496
+ # @return [::String]
497
+ # Optional. Indicates the default streaming mode for a streaming template.
498
+ # Only valid if both supports_at_least_once and supports_exactly_once are
499
+ # true. Possible values: UNSPECIFIED, EXACTLY_ONCE and AT_LEAST_ONCE
404
500
  class TemplateMetadata
405
501
  include ::Google::Protobuf::MessageExts
406
502
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -427,6 +523,9 @@ module Google
427
523
 
428
524
  # Python.
429
525
  PYTHON = 2
526
+
527
+ # Go.
528
+ GO = 3
430
529
  end
431
530
  end
432
531
 
@@ -540,10 +639,16 @@ module Google
540
639
  end
541
640
  end
542
641
 
543
- # Parameters to provide to the template being launched.
642
+ # Parameters to provide to the template being launched. Note that the
643
+ # [metadata in the pipeline code]
644
+ # (https://cloud.google.com/dataflow/docs/guides/templates/creating-templates#metadata)
645
+ # determines which runtime parameters are valid.
544
646
  # @!attribute [rw] job_name
545
647
  # @return [::String]
546
648
  # Required. The job name to use for the created job.
649
+ #
650
+ # The name must match the regular expression
651
+ # `[a-z]([-a-z0-9]{0,1022}[a-z0-9])?`
547
652
  # @!attribute [rw] parameters
548
653
  # @return [::Google::Protobuf::Map{::String => ::String}]
549
654
  # The runtime parameters to pass to the job.
@@ -591,19 +696,19 @@ module Google
591
696
  # Defaults to false.
592
697
  # @!attribute [rw] gcs_path
593
698
  # @return [::String]
594
- # A Cloud Storage path to the template from which to create
699
+ # A Cloud Storage path to the template to use to create
595
700
  # the job.
596
- # Must be valid Cloud Storage URL, beginning with 'gs://'.
701
+ # Must be valid Cloud Storage URL, beginning with `gs://`.
597
702
  #
598
703
  # Note: The following fields are mutually exclusive: `gcs_path`, `dynamic_template`. If a field in that set is populated, all other fields in the set will automatically be cleared.
599
704
  # @!attribute [rw] dynamic_template
600
705
  # @return [::Google::Cloud::Dataflow::V1beta3::DynamicTemplateLaunchParams]
601
- # Params for launching a dynamic template.
706
+ # Parameters for launching a dynamic template.
602
707
  #
603
708
  # Note: The following fields are mutually exclusive: `dynamic_template`, `gcs_path`. If a field in that set is populated, all other fields in the set will automatically be cleared.
604
709
  # @!attribute [rw] launch_parameters
605
710
  # @return [::Google::Cloud::Dataflow::V1beta3::LaunchTemplateParameters]
606
- # The parameters of the template to launch. This should be part of the
711
+ # The parameters of the template to launch. Part of the
607
712
  # body of the POST request.
608
713
  # @!attribute [rw] location
609
714
  # @return [::String]
@@ -647,11 +752,11 @@ module Google
647
752
  end
648
753
  end
649
754
 
650
- # Params which should be passed when launching a dynamic template.
755
+ # Parameters to pass when launching a dynamic template.
651
756
  # @!attribute [rw] gcs_path
652
757
  # @return [::String]
653
- # Path to dynamic template spec file on Cloud Storage.
654
- # The file must be a Json serialized DynamicTemplateFieSpec object.
758
+ # Path to the dynamic template specification file on Cloud Storage.
759
+ # The file must be a JSON serialized `DynamicTemplateFileSpec` object.
655
760
  # @!attribute [rw] staging_location
656
761
  # @return [::String]
657
762
  # Cloud Storage path for staging dependencies.
@@ -692,6 +797,49 @@ module Google
692
797
 
693
798
  # The parameter specifies a Pub/Sub Subscription.
694
799
  PUBSUB_SUBSCRIPTION = 9
800
+
801
+ # The parameter specifies a BigQuery table.
802
+ BIGQUERY_TABLE = 10
803
+
804
+ # The parameter specifies a JavaScript UDF in Cloud Storage.
805
+ JAVASCRIPT_UDF_FILE = 11
806
+
807
+ # The parameter specifies a Service Account email.
808
+ SERVICE_ACCOUNT = 12
809
+
810
+ # The parameter specifies a Machine Type.
811
+ MACHINE_TYPE = 13
812
+
813
+ # The parameter specifies a KMS Key name.
814
+ KMS_KEY_NAME = 14
815
+
816
+ # The parameter specifies a Worker Region.
817
+ WORKER_REGION = 15
818
+
819
+ # The parameter specifies a Worker Zone.
820
+ WORKER_ZONE = 16
821
+
822
+ # The parameter specifies a boolean input.
823
+ BOOLEAN = 17
824
+
825
+ # The parameter specifies an enum input.
826
+ ENUM = 18
827
+
828
+ # The parameter specifies a number input.
829
+ NUMBER = 19
830
+
831
+ # Deprecated. Please use KAFKA_READ_TOPIC instead.
832
+ KAFKA_TOPIC = 20
833
+
834
+ # The parameter specifies the fully-qualified name of an Apache Kafka topic.
835
+ # This can be either a Google Managed Kafka topic or a non-managed Kafka
836
+ # topic.
837
+ KAFKA_READ_TOPIC = 21
838
+
839
+ # The parameter specifies the fully-qualified name of an Apache Kafka topic.
840
+ # This can be an existing Google Managed Kafka topic, the name for a new
841
+ # Google Managed Kafka topic, or an existing non-managed Kafka topic.
842
+ KAFKA_WRITE_TOPIC = 22
695
843
  end
696
844
  end
697
845
  end
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # `FieldMask` represents a set of symbolic field paths, for example:
23
+ #
24
+ # paths: "f.a"
25
+ # paths: "f.b.d"
26
+ #
27
+ # Here `f` represents a field in some root message, `a` and `b`
28
+ # fields in the message found in `f`, and `d` a field found in the
29
+ # message in `f.b`.
30
+ #
31
+ # Field masks are used to specify a subset of fields that should be
32
+ # returned by a get operation or modified by an update operation.
33
+ # Field masks also have a custom JSON encoding (see below).
34
+ #
35
+ # # Field Masks in Projections
36
+ #
37
+ # When used in the context of a projection, a response message or
38
+ # sub-message is filtered by the API to only contain those fields as
39
+ # specified in the mask. For example, if the mask in the previous
40
+ # example is applied to a response message as follows:
41
+ #
42
+ # f {
43
+ # a : 22
44
+ # b {
45
+ # d : 1
46
+ # x : 2
47
+ # }
48
+ # y : 13
49
+ # }
50
+ # z: 8
51
+ #
52
+ # The result will not contain specific values for fields x,y and z
53
+ # (their value will be set to the default, and omitted in proto text
54
+ # output):
55
+ #
56
+ #
57
+ # f {
58
+ # a : 22
59
+ # b {
60
+ # d : 1
61
+ # }
62
+ # }
63
+ #
64
+ # A repeated field is not allowed except at the last position of a
65
+ # paths string.
66
+ #
67
+ # If a FieldMask object is not present in a get operation, the
68
+ # operation applies to all fields (as if a FieldMask of all fields
69
+ # had been specified).
70
+ #
71
+ # Note that a field mask does not necessarily apply to the
72
+ # top-level response message. In case of a REST get operation, the
73
+ # field mask applies directly to the response, but in case of a REST
74
+ # list operation, the mask instead applies to each individual message
75
+ # in the returned resource list. In case of a REST custom method,
76
+ # other definitions may be used. Where the mask applies will be
77
+ # clearly documented together with its declaration in the API. In
78
+ # any case, the effect on the returned resource/resources is required
79
+ # behavior for APIs.
80
+ #
81
+ # # Field Masks in Update Operations
82
+ #
83
+ # A field mask in update operations specifies which fields of the
84
+ # targeted resource are going to be updated. The API is required
85
+ # to only change the values of the fields as specified in the mask
86
+ # and leave the others untouched. If a resource is passed in to
87
+ # describe the updated values, the API ignores the values of all
88
+ # fields not covered by the mask.
89
+ #
90
+ # If a repeated field is specified for an update operation, new values will
91
+ # be appended to the existing repeated field in the target resource. Note that
92
+ # a repeated field is only allowed in the last position of a `paths` string.
93
+ #
94
+ # If a sub-message is specified in the last position of the field mask for an
95
+ # update operation, then new value will be merged into the existing sub-message
96
+ # in the target resource.
97
+ #
98
+ # For example, given the target message:
99
+ #
100
+ # f {
101
+ # b {
102
+ # d: 1
103
+ # x: 2
104
+ # }
105
+ # c: [1]
106
+ # }
107
+ #
108
+ # And an update message:
109
+ #
110
+ # f {
111
+ # b {
112
+ # d: 10
113
+ # }
114
+ # c: [2]
115
+ # }
116
+ #
117
+ # then if the field mask is:
118
+ #
119
+ # paths: ["f.b", "f.c"]
120
+ #
121
+ # then the result will be:
122
+ #
123
+ # f {
124
+ # b {
125
+ # d: 10
126
+ # x: 2
127
+ # }
128
+ # c: [1, 2]
129
+ # }
130
+ #
131
+ # An implementation may provide options to override this default behavior for
132
+ # repeated and message fields.
133
+ #
134
+ # In order to reset a field's value to the default, the field must
135
+ # be in the mask and set to the default value in the provided resource.
136
+ # Hence, in order to reset all fields of a resource, provide a default
137
+ # instance of the resource and set all fields in the mask, or do
138
+ # not provide a mask as described below.
139
+ #
140
+ # If a field mask is not present on update, the operation applies to
141
+ # all fields (as if a field mask of all fields has been specified).
142
+ # Note that in the presence of schema evolution, this may mean that
143
+ # fields the client does not know and has therefore not filled into
144
+ # the request will be reset to their default. If this is unwanted
145
+ # behavior, a specific service may require a client to always specify
146
+ # a field mask, producing an error if not.
147
+ #
148
+ # As with get operations, the location of the resource which
149
+ # describes the updated values in the request message depends on the
150
+ # operation kind. In any case, the effect of the field mask is
151
+ # required to be honored by the API.
152
+ #
153
+ # ## Considerations for HTTP REST
154
+ #
155
+ # The HTTP kind of an update operation which uses a field mask must
156
+ # be set to PATCH instead of PUT in order to satisfy HTTP semantics
157
+ # (PUT must only be used for full updates).
158
+ #
159
+ # # JSON Encoding of Field Masks
160
+ #
161
+ # In JSON, a field mask is encoded as a single string where paths are
162
+ # separated by a comma. Fields name in each path are converted
163
+ # to/from lower-camel naming conventions.
164
+ #
165
+ # As an example, consider the following message declarations:
166
+ #
167
+ # message Profile {
168
+ # User user = 1;
169
+ # Photo photo = 2;
170
+ # }
171
+ # message User {
172
+ # string display_name = 1;
173
+ # string address = 2;
174
+ # }
175
+ #
176
+ # In proto a field mask for `Profile` may look as such:
177
+ #
178
+ # mask {
179
+ # paths: "user.display_name"
180
+ # paths: "photo"
181
+ # }
182
+ #
183
+ # In JSON, the same mask is represented as below:
184
+ #
185
+ # {
186
+ # mask: "user.displayName,photo"
187
+ # }
188
+ #
189
+ # # Field Masks and Oneof Fields
190
+ #
191
+ # Field masks treat fields in oneofs just as regular fields. Consider the
192
+ # following message:
193
+ #
194
+ # message SampleMessage {
195
+ # oneof test_oneof {
196
+ # string name = 4;
197
+ # SubMessage sub_message = 9;
198
+ # }
199
+ # }
200
+ #
201
+ # The field mask can be:
202
+ #
203
+ # mask {
204
+ # paths: "name"
205
+ # }
206
+ #
207
+ # Or:
208
+ #
209
+ # mask {
210
+ # paths: "sub_message"
211
+ # }
212
+ #
213
+ # Note that oneof type names ("test_oneof" in this case) cannot be used in
214
+ # paths.
215
+ #
216
+ # ## Field Mask Verification
217
+ #
218
+ # The implementation of any API method which has a FieldMask type field in the
219
+ # request should verify the included field paths, and return an
220
+ # `INVALID_ARGUMENT` error if any path is unmappable.
221
+ # @!attribute [rw] paths
222
+ # @return [::Array<::String>]
223
+ # The set of field mask paths.
224
+ class FieldMask
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-dataflow-v1beta3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -13,22 +13,16 @@ dependencies:
13
13
  name: gapic-common
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - ">="
17
- - !ruby/object:Gem::Version
18
- version: 0.25.0
19
- - - "<"
16
+ - - "~>"
20
17
  - !ruby/object:Gem::Version
21
- version: 2.a
18
+ version: '1.0'
22
19
  type: :runtime
23
20
  prerelease: false
24
21
  version_requirements: !ruby/object:Gem::Requirement
25
22
  requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- version: 0.25.0
29
- - - "<"
23
+ - - "~>"
30
24
  - !ruby/object:Gem::Version
31
- version: 2.a
25
+ version: '1.0'
32
26
  - !ruby/object:Gem::Dependency
33
27
  name: google-cloud-errors
34
28
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +116,7 @@ files:
122
116
  - proto_docs/google/dataflow/v1beta3/templates.rb
123
117
  - proto_docs/google/protobuf/any.rb
124
118
  - proto_docs/google/protobuf/duration.rb
119
+ - proto_docs/google/protobuf/field_mask.rb
125
120
  - proto_docs/google/protobuf/struct.rb
126
121
  - proto_docs/google/protobuf/timestamp.rb
127
122
  - proto_docs/google/rpc/status.rb
@@ -136,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
131
  requirements:
137
132
  - - ">="
138
133
  - !ruby/object:Gem::Version
139
- version: '3.0'
134
+ version: '3.1'
140
135
  required_rubygems_version: !ruby/object:Gem::Requirement
141
136
  requirements:
142
137
  - - ">="