google-cloud-orchestration-airflow-service-v1 0.2.0 → 0.3.1

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.
@@ -181,13 +181,10 @@ module Google
181
181
  # * `config.nodeCount`
182
182
  # * Horizontally scale the number of nodes in the environment. An integer
183
183
  # greater than or equal to 3 must be provided in the `config.nodeCount`
184
- # field.
184
+ # field. Supported for Cloud Composer environments in versions
185
+ # composer-1.*.*-airflow-*.*.*.
185
186
  # * `config.webServerNetworkAccessControl`
186
187
  # * Replace the environment's current `WebServerNetworkAccessControl`.
187
- # * `config.databaseConfig`
188
- # * Replace the environment's current `DatabaseConfig`.
189
- # * `config.webServerConfig`
190
- # * Replace the environment's current `WebServerConfig`.
191
188
  # * `config.softwareConfig.airflowConfigOverrides`
192
189
  # * Replace all Apache Airflow config overrides. If a replacement config
193
190
  # overrides map is not included in `environment`, all config overrides
@@ -205,28 +202,107 @@ module Google
205
202
  # * `config.softwareConfig.envVariables`
206
203
  # * Replace all environment variables. If a replacement environment
207
204
  # variable map is not included in `environment`, all custom environment
208
- # variables are cleared.
209
- # It is an error to provide both this mask and a mask specifying one or
210
- # more individual environment variables.
205
+ # variables are cleared.
206
+ # * `config.softwareConfig.schedulerCount`
207
+ # * Horizontally scale the number of schedulers in Airflow. A positive
208
+ # integer not greater than the number of nodes must be provided in the
209
+ # `config.softwareConfig.schedulerCount` field. Supported for Cloud
210
+ # Composer environments in versions composer-1.*.*-airflow-2.*.*.
211
+ # * `config.databaseConfig.machineType`
212
+ # * Cloud SQL machine type used by Airflow database.
213
+ # It has to be one of: db-n1-standard-2, db-n1-standard-4,
214
+ # db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer
215
+ # environments in versions composer-1.*.*-airflow-*.*.*.
216
+ # * `config.webServerConfig.machineType`
217
+ # * Machine type on which Airflow web server is running.
218
+ # It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4
219
+ # or composer-n1-webserver-8. Supported for Cloud Composer environments
220
+ # in versions composer-1.*.*-airflow-*.*.*.
211
221
  class UpdateEnvironmentRequest
212
222
  include ::Google::Protobuf::MessageExts
213
223
  extend ::Google::Protobuf::MessageExts::ClassMethods
214
224
  end
215
225
 
226
+ # Request to create a snapshot of a Cloud Composer environment.
227
+ # @!attribute [rw] environment
228
+ # @return [::String]
229
+ # The resource name of the source environment in the form:
230
+ # "projects/\\{projectId}/locations/\\{locationId}/environments/\\{environmentId}"
231
+ # @!attribute [rw] snapshot_location
232
+ # @return [::String]
233
+ # Location in a Cloud Storage where the snapshot is going to be stored, e.g.:
234
+ # "gs://my-bucket/snapshots".
235
+ class SaveSnapshotRequest
236
+ include ::Google::Protobuf::MessageExts
237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
238
+ end
239
+
240
+ # Response to SaveSnapshotRequest.
241
+ # @!attribute [rw] snapshot_path
242
+ # @return [::String]
243
+ # The fully-resolved Cloud Storage path of the created snapshot,
244
+ # e.g.:
245
+ # "gs://my-bucket/snapshots/project_location_environment_timestamp".
246
+ # This field is populated only if the snapshot creation was successful.
247
+ class SaveSnapshotResponse
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+ end
251
+
252
+ # Request to load a snapshot into a Cloud Composer environment.
253
+ # @!attribute [rw] environment
254
+ # @return [::String]
255
+ # The resource name of the target environment in the form:
256
+ # "projects/\\{projectId}/locations/\\{locationId}/environments/\\{environmentId}"
257
+ # @!attribute [rw] snapshot_path
258
+ # @return [::String]
259
+ # A Cloud Storage path to a snapshot to load, e.g.:
260
+ # "gs://my-bucket/snapshots/project_location_environment_timestamp".
261
+ # @!attribute [rw] skip_pypi_packages_installation
262
+ # @return [::Boolean]
263
+ # Whether or not to skip installing Pypi packages when loading the
264
+ # environment's state.
265
+ # @!attribute [rw] skip_environment_variables_setting
266
+ # @return [::Boolean]
267
+ # Whether or not to skip setting environment variables when loading the
268
+ # environment's state.
269
+ # @!attribute [rw] skip_airflow_overrides_setting
270
+ # @return [::Boolean]
271
+ # Whether or not to skip setting Airflow overrides when loading the
272
+ # environment's state.
273
+ # @!attribute [rw] skip_gcs_data_copying
274
+ # @return [::Boolean]
275
+ # Whether or not to skip copying Cloud Storage data when loading the
276
+ # environment's state.
277
+ class LoadSnapshotRequest
278
+ include ::Google::Protobuf::MessageExts
279
+ extend ::Google::Protobuf::MessageExts::ClassMethods
280
+ end
281
+
282
+ # Response to LoadSnapshotRequest.
283
+ class LoadSnapshotResponse
284
+ include ::Google::Protobuf::MessageExts
285
+ extend ::Google::Protobuf::MessageExts::ClassMethods
286
+ end
287
+
216
288
  # Configuration information for an environment.
217
289
  # @!attribute [rw] gke_cluster
218
290
  # @return [::String]
219
291
  # Output only. The Kubernetes Engine cluster used to run this environment.
220
292
  # @!attribute [rw] dag_gcs_prefix
221
293
  # @return [::String]
222
- # Output only. The Cloud Storage prefix of the DAGs for this environment. Although Cloud
223
- # Storage objects reside in a flat namespace, a hierarchical file tree
224
- # can be simulated using "/"-delimited object name prefixes. DAG objects for
225
- # this environment reside in a simulated directory with the given prefix.
294
+ # Output only. The Cloud Storage prefix of the DAGs for this environment.
295
+ # Although Cloud Storage objects reside in a flat namespace, a hierarchical
296
+ # file tree can be simulated using "/"-delimited object name prefixes. DAG
297
+ # objects for this environment reside in a simulated directory with the given
298
+ # prefix.
226
299
  # @!attribute [rw] node_count
227
300
  # @return [::Integer]
228
301
  # The number of nodes in the Kubernetes Engine cluster that will be
229
302
  # used to run this environment.
303
+ #
304
+ # This field is supported for Cloud Composer environments in versions
305
+ # composer-1.*.*-airflow-*.*.*.
230
306
  # @!attribute [rw] software_config
231
307
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::SoftwareConfig]
232
308
  # The configuration settings for software inside the environment.
@@ -238,27 +314,87 @@ module Google
238
314
  # The configuration used for the Private IP Cloud Composer environment.
239
315
  # @!attribute [rw] web_server_network_access_control
240
316
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WebServerNetworkAccessControl]
241
- # Optional. The network-level access control policy for the Airflow web server. If
242
- # unspecified, no network-level access restrictions will be applied.
317
+ # Optional. The network-level access control policy for the Airflow web
318
+ # server. If unspecified, no network-level access restrictions will be
319
+ # applied.
243
320
  # @!attribute [rw] database_config
244
321
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::DatabaseConfig]
245
- # Optional. The configuration settings for Cloud SQL instance used internally by Apache
246
- # Airflow software.
322
+ # Optional. The configuration settings for Cloud SQL instance used internally
323
+ # by Apache Airflow software.
247
324
  # @!attribute [rw] web_server_config
248
325
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WebServerConfig]
249
- # Optional. The configuration settings for the Airflow web server App Engine instance.
326
+ # Optional. The configuration settings for the Airflow web server App Engine
327
+ # instance.
250
328
  # @!attribute [rw] encryption_config
251
329
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::EncryptionConfig]
252
330
  # Optional. The encryption options for the Cloud Composer environment
253
331
  # and its dependencies. Cannot be updated.
332
+ # @!attribute [rw] maintenance_window
333
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::MaintenanceWindow]
334
+ # Optional. The maintenance window is the period when Cloud Composer
335
+ # components may undergo maintenance. It is defined so that maintenance is
336
+ # not executed during peak hours or critical time periods.
337
+ #
338
+ # The system will not be under maintenance for every occurrence of this
339
+ # window, but when maintenance is planned, it will be scheduled
340
+ # during the window.
341
+ #
342
+ # The maintenance window period must encompass at least 12 hours per week.
343
+ # This may be split into multiple chunks, each with a size of
344
+ # at least 4 hours.
345
+ #
346
+ # If this value is omitted, the default value for maintenance window will be
347
+ # applied. The default value is Saturday and Sunday 00-06 GMT.
348
+ # @!attribute [rw] workloads_config
349
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig]
350
+ # Optional. The workloads configuration settings for the GKE cluster
351
+ # associated with the Cloud Composer environment. The GKE cluster runs
352
+ # Airflow scheduler, web server and workers workloads.
353
+ #
354
+ # This field is supported for Cloud Composer environments in versions
355
+ # composer-2.*.*-airflow-*.*.* and newer.
356
+ # @!attribute [rw] environment_size
357
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::EnvironmentConfig::EnvironmentSize]
358
+ # Optional. The size of the Cloud Composer environment.
359
+ #
360
+ # This field is supported for Cloud Composer environments in versions
361
+ # composer-2.*.*-airflow-*.*.* and newer.
254
362
  # @!attribute [rw] airflow_uri
255
363
  # @return [::String]
256
- # Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
257
- # [Airflow web
364
+ # Output only. The URI of the Apache Airflow Web UI hosted within this
365
+ # environment (see [Airflow web
258
366
  # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
367
+ # @!attribute [rw] master_authorized_networks_config
368
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::MasterAuthorizedNetworksConfig]
369
+ # Optional. The configuration options for GKE cluster master authorized
370
+ # networks. By default master authorized networks feature is:
371
+ # - in case of private environment: enabled with no external networks
372
+ # allowlisted.
373
+ # - in case of public environment: disabled.
374
+ # @!attribute [rw] recovery_config
375
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::RecoveryConfig]
376
+ # Optional. The Recovery settings configuration of an environment.
377
+ #
378
+ # This field is supported for Cloud Composer environments in versions
379
+ # composer-2.*.*-airflow-*.*.* and newer.
259
380
  class EnvironmentConfig
260
381
  include ::Google::Protobuf::MessageExts
261
382
  extend ::Google::Protobuf::MessageExts::ClassMethods
383
+
384
+ # The size of the Cloud Composer environment.
385
+ module EnvironmentSize
386
+ # The size of the environment is unspecified.
387
+ ENVIRONMENT_SIZE_UNSPECIFIED = 0
388
+
389
+ # The environment size is small.
390
+ ENVIRONMENT_SIZE_SMALL = 1
391
+
392
+ # The environment size is medium.
393
+ ENVIRONMENT_SIZE_MEDIUM = 2
394
+
395
+ # The environment size is large.
396
+ ENVIRONMENT_SIZE_LARGE = 3
397
+ end
262
398
  end
263
399
 
264
400
  # Network-level access control policy for the Airflow web server.
@@ -282,7 +418,8 @@ module Google
282
418
  # `2001:db8::1/32` should be truncated to `2001:db8::/32`.
283
419
  # @!attribute [rw] description
284
420
  # @return [::String]
285
- # Optional. User-provided description. It must contain at most 300 characters.
421
+ # Optional. User-provided description. It must contain at most 300
422
+ # characters.
286
423
  class AllowedIpRange
287
424
  include ::Google::Protobuf::MessageExts
288
425
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -296,12 +433,16 @@ module Google
296
433
  # Optional. Cloud SQL machine type used by Airflow database.
297
434
  # It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8
298
435
  # or db-n1-standard-16. If not specified, db-n1-standard-2 will be used.
436
+ # Supported for Cloud Composer environments in versions
437
+ # composer-1.*.*-airflow-*.*.*.
299
438
  class DatabaseConfig
300
439
  include ::Google::Protobuf::MessageExts
301
440
  extend ::Google::Protobuf::MessageExts::ClassMethods
302
441
  end
303
442
 
304
443
  # The configuration settings for the Airflow web server App Engine instance.
444
+ # Supported for Cloud Composer environments in versions
445
+ # composer-1.*.*-airflow-*.*.*
305
446
  # @!attribute [rw] machine_type
306
447
  # @return [::String]
307
448
  # Optional. Machine type on which Airflow web server is running.
@@ -316,40 +457,77 @@ module Google
316
457
  end
317
458
 
318
459
  # The encryption options for the Cloud Composer environment
319
- # and its dependencies.
460
+ # and its dependencies.Supported for Cloud Composer environments in versions
461
+ # composer-1.*.*-airflow-*.*.*.
320
462
  # @!attribute [rw] kms_key_name
321
463
  # @return [::String]
322
- # Optional. Customer-managed Encryption Key available through Google's Key Management
323
- # Service. Cannot be updated.
324
- # If not specified, Google-managed key will be used.
464
+ # Optional. Customer-managed Encryption Key available through Google's Key
465
+ # Management Service. Cannot be updated. If not specified, Google-managed key
466
+ # will be used.
325
467
  class EncryptionConfig
326
468
  include ::Google::Protobuf::MessageExts
327
469
  extend ::Google::Protobuf::MessageExts::ClassMethods
328
470
  end
329
471
 
472
+ # The configuration settings for Cloud Composer maintenance window.
473
+ # The following example:
474
+ #
475
+ # ```
476
+ # {
477
+ # "startTime":"2019-08-01T01:00:00Z"
478
+ # "endTime":"2019-08-01T07:00:00Z"
479
+ # "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE"
480
+ # }
481
+ # ```
482
+ #
483
+ # would define a maintenance window between 01 and 07 hours UTC during
484
+ # each Tuesday and Wednesday.
485
+ # @!attribute [rw] start_time
486
+ # @return [::Google::Protobuf::Timestamp]
487
+ # Required. Start time of the first recurrence of the maintenance window.
488
+ # @!attribute [rw] end_time
489
+ # @return [::Google::Protobuf::Timestamp]
490
+ # Required. Maintenance window end time. It is used only to calculate the
491
+ # duration of the maintenance window. The value for end-time must be in the
492
+ # future, relative to `start_time`.
493
+ # @!attribute [rw] recurrence
494
+ # @return [::String]
495
+ # Required. Maintenance window recurrence. Format is a subset of
496
+ # [RFC-5545](https://tools.ietf.org/html/rfc5545) `RRULE`. The only allowed
497
+ # values for `FREQ` field are `FREQ=DAILY` and `FREQ=WEEKLY;BYDAY=...`
498
+ # Example values: `FREQ=WEEKLY;BYDAY=TU,WE`, `FREQ=DAILY`.
499
+ class MaintenanceWindow
500
+ include ::Google::Protobuf::MessageExts
501
+ extend ::Google::Protobuf::MessageExts::ClassMethods
502
+ end
503
+
330
504
  # Specifies the selection and configuration of software inside the environment.
331
505
  # @!attribute [rw] image_version
332
506
  # @return [::String]
333
507
  # The version of the software running in the environment.
334
508
  # This encapsulates both the version of Cloud Composer functionality and the
335
509
  # version of Apache Airflow. It must match the regular expression
336
- # `composer-([0-9]+\.[0-9]+\.[0-9]+|latest)-airflow-[0-9]+\.[0-9]+(\.[0-9]+.*)?`.
510
+ # `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`.
337
511
  # When used as input, the server also checks if the provided version is
338
512
  # supported and denies the request for an unsupported version.
339
513
  #
340
- # The Cloud Composer portion of the version is a
341
- # [semantic version](https://semver.org) or `latest`. When the patch version
342
- # is omitted, the current Cloud Composer patch version is selected.
343
- # When `latest` is provided instead of an explicit version number,
344
- # the server replaces `latest` with the current Cloud Composer version
345
- # and stores that version number in the same field.
514
+ # The Cloud Composer portion of the image version is a full
515
+ # [semantic version](https://semver.org), or an alias in the form of major
516
+ # version number or `latest`. When an alias is provided, the server replaces
517
+ # it with the current Cloud Composer version that satisfies the alias.
346
518
  #
347
- # The portion of the image version that follows *airflow-* is an
348
- # official Apache Airflow repository
349
- # [release name](https://github.com/apache/incubator-airflow/releases).
519
+ # The Apache Airflow portion of the image version is a full semantic version
520
+ # that points to one of the supported Apache Airflow versions, or an alias in
521
+ # the form of only major or major.minor versions specified. When an alias is
522
+ # provided, the server replaces it with the latest Apache Airflow version
523
+ # that satisfies the alias and is supported in the given Cloud Composer
524
+ # version.
350
525
  #
351
- # See also [Version
352
- # List](/composer/docs/concepts/versioning/composer-versions).
526
+ # In all cases, the resolved image version is stored in the same field.
527
+ #
528
+ # See also [version
529
+ # list](/composer/docs/concepts/versioning/composer-versions) and [versioning
530
+ # overview](/composer/docs/concepts/versioning/composer-versioning-overview).
353
531
  # @!attribute [rw] airflow_config_overrides
354
532
  # @return [::Google::Protobuf::Map{::String => ::String}]
355
533
  # Optional. Apache Airflow configuration properties to override.
@@ -408,6 +586,16 @@ module Google
408
586
  #
409
587
  # Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be
410
588
  # updated.
589
+ #
590
+ # This field is only supported for Cloud Composer environments in versions
591
+ # composer-1.*.*-airflow-*.*.*. Environments in newer versions always use
592
+ # Python major version 3.
593
+ # @!attribute [rw] scheduler_count
594
+ # @return [::Integer]
595
+ # Optional. The number of schedulers for Airflow.
596
+ #
597
+ # This field is supported for Cloud Composer environments in versions
598
+ # composer-1.*.*-airflow-2.*.*.
411
599
  class SoftwareConfig
412
600
  include ::Google::Protobuf::MessageExts
413
601
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -446,18 +634,24 @@ module Google
446
634
  # @return [::Boolean]
447
635
  # Optional. Whether or not to enable Alias IPs in the GKE cluster.
448
636
  # If `true`, a VPC-native cluster is created.
637
+ #
638
+ # This field is only supported for Cloud Composer environments in versions
639
+ # composer-1.*.*-airflow-*.*.*. Environments in newer versions always use
640
+ # VPC-native GKE clusters.
449
641
  # @!attribute [rw] cluster_secondary_range_name
450
642
  # @return [::String]
451
643
  # Optional. The name of the GKE cluster's secondary range used to allocate
452
644
  # IP addresses to pods.
453
645
  #
454
- # This field is applicable only when `use_ip_aliases` is true.
646
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
647
+ # this field is applicable only when `use_ip_aliases` is true.
455
648
  # @!attribute [rw] cluster_ipv4_cidr_block
456
649
  # @return [::String]
457
650
  # Optional. The IP address range used to allocate IP addresses to pods in
458
651
  # the GKE cluster.
459
652
  #
460
- # This field is applicable only when `use_ip_aliases` is true.
653
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
654
+ # this field is applicable only when `use_ip_aliases` is true.
461
655
  #
462
656
  # Set to blank to have GKE choose a range with the default size.
463
657
  #
@@ -465,7 +659,7 @@ module Google
465
659
  # netmask.
466
660
  #
467
661
  # Set to a
468
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
662
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
469
663
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
470
664
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
471
665
  # to use.
@@ -474,13 +668,15 @@ module Google
474
668
  # Optional. The name of the services' secondary range used to allocate
475
669
  # IP addresses to the GKE cluster.
476
670
  #
477
- # This field is applicable only when `use_ip_aliases` is true.
671
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
672
+ # this field is applicable only when `use_ip_aliases` is true.
478
673
  # @!attribute [rw] services_ipv4_cidr_block
479
674
  # @return [::String]
480
675
  # Optional. The IP address range of the services IP addresses in this
481
676
  # GKE cluster.
482
677
  #
483
- # This field is applicable only when `use_ip_aliases` is true.
678
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
679
+ # this field is applicable only when `use_ip_aliases` is true.
484
680
  #
485
681
  # Set to blank to have GKE choose a range with the default size.
486
682
  #
@@ -488,7 +684,7 @@ module Google
488
684
  # netmask.
489
685
  #
490
686
  # Set to a
491
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
687
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
492
688
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
493
689
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
494
690
  # to use.
@@ -515,6 +711,9 @@ module Google
515
711
  # both fields. If only one field (`location` or `nodeConfig.machineType`) is
516
712
  # specified, the location information from the specified field will be
517
713
  # propagated to the unspecified field.
714
+ #
715
+ # This field is supported for Cloud Composer environments in versions
716
+ # composer-1.*.*-airflow-*.*.*.
518
717
  # @!attribute [rw] machine_type
519
718
  # @return [::String]
520
719
  # Optional. The Compute Engine
@@ -538,6 +737,9 @@ module Google
538
737
  #
539
738
  # If this field is unspecified, the `machineTypeId` defaults
540
739
  # to "n1-standard-1".
740
+ #
741
+ # This field is supported for Cloud Composer environments in versions
742
+ # composer-1.*.*-airflow-*.*.*.
541
743
  # @!attribute [rw] network
542
744
  # @return [::String]
543
745
  # Optional. The Compute Engine network to be used for machine
@@ -564,13 +766,19 @@ module Google
564
766
  # location.
565
767
  # @!attribute [rw] disk_size_gb
566
768
  # @return [::Integer]
567
- # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
769
+ # Optional. The disk size in GB used for node VMs. Minimum size is 30GB.
568
770
  # If unspecified, defaults to 100GB. Cannot be updated.
771
+ #
772
+ # This field is supported for Cloud Composer environments in versions
773
+ # composer-1.*.*-airflow-*.*.*.
569
774
  # @!attribute [rw] oauth_scopes
570
775
  # @return [::Array<::String>]
571
776
  # Optional. The set of Google API scopes to be made available on all
572
777
  # node VMs. If `oauth_scopes` is empty, defaults to
573
778
  # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
779
+ #
780
+ # This field is supported for Cloud Composer environments in versions
781
+ # composer-1.*.*-airflow-*.*.*.
574
782
  # @!attribute [rw] service_account
575
783
  # @return [::String]
576
784
  # Optional. The Google Cloud Platform Service Account to be used by the node
@@ -584,7 +792,16 @@ module Google
584
792
  # Cannot be updated.
585
793
  # @!attribute [rw] ip_allocation_policy
586
794
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::IPAllocationPolicy]
587
- # Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
795
+ # Optional. The configuration for controlling how IPs are allocated in the
796
+ # GKE cluster.
797
+ # @!attribute [rw] enable_ip_masq_agent
798
+ # @return [::Boolean]
799
+ # Optional. Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines
800
+ # nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for
801
+ # all destination addresses, except between pods traffic.
802
+ #
803
+ # See:
804
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
588
805
  class NodeConfig
589
806
  include ::Google::Protobuf::MessageExts
590
807
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -598,48 +815,251 @@ module Google
598
815
  # denied.
599
816
  # @!attribute [rw] master_ipv4_cidr_block
600
817
  # @return [::String]
601
- # Optional. The CIDR block from which IPv4 range for GKE master will be reserved. If
602
- # left blank, the default value of '172.16.0.0/23' is used.
818
+ # Optional. The CIDR block from which IPv4 range for GKE master will be
819
+ # reserved. If left blank, the default value of '172.16.0.0/23' is used.
603
820
  # @!attribute [r] master_ipv4_reserved_range
604
821
  # @return [::String]
605
- # Output only. The IP range in CIDR notation to use for the hosted master network. This
606
- # range is used for assigning internal IP addresses to the GKE cluster
607
- # master or set of masters and to the internal load balancer virtual IP.
608
- # This range must not overlap with any other ranges in use
609
- # within the cluster's network.
822
+ # Output only. The IP range in CIDR notation to use for the hosted master
823
+ # network. This range is used for assigning internal IP addresses to the GKE
824
+ # cluster master or set of masters and to the internal load balancer virtual
825
+ # IP. This range must not overlap with any other ranges in use within the
826
+ # cluster's network.
610
827
  class PrivateClusterConfig
611
828
  include ::Google::Protobuf::MessageExts
612
829
  extend ::Google::Protobuf::MessageExts::ClassMethods
613
830
  end
614
831
 
832
+ # Configuration options for networking connections in the Composer 2
833
+ # environment.
834
+ # @!attribute [rw] connection_type
835
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::NetworkingConfig::ConnectionType]
836
+ # Optional. Indicates the user requested specifc connection type between
837
+ # Tenant and Customer projects. You cannot set networking connection type in
838
+ # public IP environment.
839
+ class NetworkingConfig
840
+ include ::Google::Protobuf::MessageExts
841
+ extend ::Google::Protobuf::MessageExts::ClassMethods
842
+
843
+ # Represents connection type between Composer environment in Customer
844
+ # Project and the corresponding Tenant project, from a predefined list
845
+ # of available connection modes.
846
+ module ConnectionType
847
+ # No specific connection type was requested, so the environment uses
848
+ # the default value corresponding to the rest of its configuration.
849
+ CONNECTION_TYPE_UNSPECIFIED = 0
850
+
851
+ # Requests the use of VPC peerings for connecting the Customer and Tenant
852
+ # projects.
853
+ VPC_PEERING = 1
854
+
855
+ # Requests the use of Private Service Connect for connecting the Customer
856
+ # and Tenant projects.
857
+ PRIVATE_SERVICE_CONNECT = 2
858
+ end
859
+ end
860
+
615
861
  # The configuration information for configuring a Private IP Cloud Composer
616
862
  # environment.
617
863
  # @!attribute [rw] enable_private_environment
618
864
  # @return [::Boolean]
619
865
  # Optional. If `true`, a Private IP Cloud Composer environment is created.
620
866
  # If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be
621
- # set to true.
867
+ # set to true for Cloud Composer environments in versions
868
+ # composer-1.*.*-airflow-*.*.*.
622
869
  # @!attribute [rw] private_cluster_config
623
870
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::PrivateClusterConfig]
624
871
  # Optional. Configuration for the private GKE cluster for a Private IP
625
872
  # Cloud Composer environment.
626
873
  # @!attribute [rw] web_server_ipv4_cidr_block
627
874
  # @return [::String]
628
- # Optional. The CIDR block from which IP range for web server will be reserved. Needs
629
- # to be disjoint from `private_cluster_config.master_ipv4_cidr_block` and
875
+ # Optional. The CIDR block from which IP range for web server will be
876
+ # reserved. Needs to be disjoint from
877
+ # `private_cluster_config.master_ipv4_cidr_block` and
630
878
  # `cloud_sql_ipv4_cidr_block`.
879
+ #
880
+ # This field is supported for Cloud Composer environments in versions
881
+ # composer-1.*.*-airflow-*.*.*.
631
882
  # @!attribute [rw] cloud_sql_ipv4_cidr_block
632
883
  # @return [::String]
633
- # Optional. The CIDR block from which IP range in tenant project will be reserved for
634
- # Cloud SQL. Needs to be disjoint from `web_server_ipv4_cidr_block`.
884
+ # Optional. The CIDR block from which IP range in tenant project will be
885
+ # reserved for Cloud SQL. Needs to be disjoint from
886
+ # `web_server_ipv4_cidr_block`.
635
887
  # @!attribute [r] web_server_ipv4_reserved_range
636
888
  # @return [::String]
637
889
  # Output only. The IP range reserved for the tenant project's App Engine VMs.
890
+ #
891
+ # This field is supported for Cloud Composer environments in versions
892
+ # composer-1.*.*-airflow-*.*.*.
893
+ # @!attribute [rw] cloud_composer_network_ipv4_cidr_block
894
+ # @return [::String]
895
+ # Optional. The CIDR block from which IP range for Cloud Composer Network in
896
+ # tenant project will be reserved. Needs to be disjoint from
897
+ # private_cluster_config.master_ipv4_cidr_block and
898
+ # cloud_sql_ipv4_cidr_block.
899
+ #
900
+ # This field is supported for Cloud Composer environments in versions
901
+ # composer-2.*.*-airflow-*.*.* and newer.
902
+ # @!attribute [r] cloud_composer_network_ipv4_reserved_range
903
+ # @return [::String]
904
+ # Output only. The IP range reserved for the tenant project's Cloud Composer
905
+ # network.
906
+ #
907
+ # This field is supported for Cloud Composer environments in versions
908
+ # composer-2.*.*-airflow-*.*.* and newer.
909
+ # @!attribute [rw] enable_privately_used_public_ips
910
+ # @return [::Boolean]
911
+ # Optional. When enabled, IPs from public (non-RFC1918) ranges can be used
912
+ # for `IPAllocationPolicy.cluster_ipv4_cidr_block` and
913
+ # `IPAllocationPolicy.service_ipv4_cidr_block`.
914
+ # @!attribute [rw] cloud_composer_connection_subnetwork
915
+ # @return [::String]
916
+ # Optional. When specified, the environment will use Private Service Connect
917
+ # instead of VPC peerings to connect to Cloud SQL in the Tenant Project,
918
+ # and the PSC endpoint in the Customer Project will use an IP address from
919
+ # this subnetwork.
920
+ # @!attribute [rw] networking_config
921
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::NetworkingConfig]
922
+ # Optional. Configuration for the network connections configuration in the
923
+ # environment.
638
924
  class PrivateEnvironmentConfig
639
925
  include ::Google::Protobuf::MessageExts
640
926
  extend ::Google::Protobuf::MessageExts::ClassMethods
641
927
  end
642
928
 
929
+ # The Kubernetes workloads configuration for GKE cluster associated with the
930
+ # Cloud Composer environment. Supported for Cloud Composer environments in
931
+ # versions composer-2.*.*-airflow-*.*.* and newer.
932
+ # @!attribute [rw] scheduler
933
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig::SchedulerResource]
934
+ # Optional. Resources used by Airflow schedulers.
935
+ # @!attribute [rw] web_server
936
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig::WebServerResource]
937
+ # Optional. Resources used by Airflow web server.
938
+ # @!attribute [rw] worker
939
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig::WorkerResource]
940
+ # Optional. Resources used by Airflow workers.
941
+ class WorkloadsConfig
942
+ include ::Google::Protobuf::MessageExts
943
+ extend ::Google::Protobuf::MessageExts::ClassMethods
944
+
945
+ # Configuration for resources used by Airflow schedulers.
946
+ # @!attribute [rw] cpu
947
+ # @return [::Float]
948
+ # Optional. CPU request and limit for a single Airflow scheduler replica.
949
+ # @!attribute [rw] memory_gb
950
+ # @return [::Float]
951
+ # Optional. Memory (GB) request and limit for a single Airflow scheduler
952
+ # replica.
953
+ # @!attribute [rw] storage_gb
954
+ # @return [::Float]
955
+ # Optional. Storage (GB) request and limit for a single Airflow scheduler
956
+ # replica.
957
+ # @!attribute [rw] count
958
+ # @return [::Integer]
959
+ # Optional. The number of schedulers.
960
+ class SchedulerResource
961
+ include ::Google::Protobuf::MessageExts
962
+ extend ::Google::Protobuf::MessageExts::ClassMethods
963
+ end
964
+
965
+ # Configuration for resources used by Airflow web server.
966
+ # @!attribute [rw] cpu
967
+ # @return [::Float]
968
+ # Optional. CPU request and limit for Airflow web server.
969
+ # @!attribute [rw] memory_gb
970
+ # @return [::Float]
971
+ # Optional. Memory (GB) request and limit for Airflow web server.
972
+ # @!attribute [rw] storage_gb
973
+ # @return [::Float]
974
+ # Optional. Storage (GB) request and limit for Airflow web server.
975
+ class WebServerResource
976
+ include ::Google::Protobuf::MessageExts
977
+ extend ::Google::Protobuf::MessageExts::ClassMethods
978
+ end
979
+
980
+ # Configuration for resources used by Airflow workers.
981
+ # @!attribute [rw] cpu
982
+ # @return [::Float]
983
+ # Optional. CPU request and limit for a single Airflow worker replica.
984
+ # @!attribute [rw] memory_gb
985
+ # @return [::Float]
986
+ # Optional. Memory (GB) request and limit for a single Airflow worker
987
+ # replica.
988
+ # @!attribute [rw] storage_gb
989
+ # @return [::Float]
990
+ # Optional. Storage (GB) request and limit for a single Airflow worker
991
+ # replica.
992
+ # @!attribute [rw] min_count
993
+ # @return [::Integer]
994
+ # Optional. Minimum number of workers for autoscaling.
995
+ # @!attribute [rw] max_count
996
+ # @return [::Integer]
997
+ # Optional. Maximum number of workers for autoscaling.
998
+ class WorkerResource
999
+ include ::Google::Protobuf::MessageExts
1000
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1001
+ end
1002
+ end
1003
+
1004
+ # The Recovery settings of an environment.
1005
+ # @!attribute [rw] scheduled_snapshots_config
1006
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::ScheduledSnapshotsConfig]
1007
+ # Optional. The configuration for scheduled snapshot creation mechanism.
1008
+ class RecoveryConfig
1009
+ include ::Google::Protobuf::MessageExts
1010
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1011
+ end
1012
+
1013
+ # The configuration for scheduled snapshot creation mechanism.
1014
+ # @!attribute [rw] enabled
1015
+ # @return [::Boolean]
1016
+ # Optional. Whether scheduled snapshots creation is enabled.
1017
+ # @!attribute [rw] snapshot_location
1018
+ # @return [::String]
1019
+ # Optional. The Cloud Storage location for storing automatically created
1020
+ # snapshots.
1021
+ # @!attribute [rw] snapshot_creation_schedule
1022
+ # @return [::String]
1023
+ # Optional. The cron expression representing the time when snapshots creation
1024
+ # mechanism runs. This field is subject to additional validation around
1025
+ # frequency of execution.
1026
+ # @!attribute [rw] time_zone
1027
+ # @return [::String]
1028
+ # Optional. Time zone that sets the context to interpret
1029
+ # snapshot_creation_schedule.
1030
+ class ScheduledSnapshotsConfig
1031
+ include ::Google::Protobuf::MessageExts
1032
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1033
+ end
1034
+
1035
+ # Configuration options for the master authorized networks feature. Enabled
1036
+ # master authorized networks will disallow all external traffic to access
1037
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
1038
+ # Google Compute Engine Public IPs and Google Prod IPs.
1039
+ # @!attribute [rw] enabled
1040
+ # @return [::Boolean]
1041
+ # Whether or not master authorized networks feature is enabled.
1042
+ # @!attribute [rw] cidr_blocks
1043
+ # @return [::Array<::Google::Cloud::Orchestration::Airflow::Service::V1::MasterAuthorizedNetworksConfig::CidrBlock>]
1044
+ # Up to 50 external networks that could access Kubernetes master through
1045
+ # HTTPS.
1046
+ class MasterAuthorizedNetworksConfig
1047
+ include ::Google::Protobuf::MessageExts
1048
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1049
+
1050
+ # CIDR block with an optional name.
1051
+ # @!attribute [rw] display_name
1052
+ # @return [::String]
1053
+ # User-defined name that identifies the CIDR block.
1054
+ # @!attribute [rw] cidr_block
1055
+ # @return [::String]
1056
+ # CIDR block that must be specified in CIDR notation.
1057
+ class CidrBlock
1058
+ include ::Google::Protobuf::MessageExts
1059
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1060
+ end
1061
+ end
1062
+
643
1063
  # An environment for running orchestration tasks.
644
1064
  # @!attribute [rw] name
645
1065
  # @return [::String]
@@ -653,8 +1073,8 @@ module Google
653
1073
  # Configuration parameters for this environment.
654
1074
  # @!attribute [rw] uuid
655
1075
  # @return [::String]
656
- # Output only. The UUID (Universally Unique IDentifier) associated with this environment.
657
- # This value is generated when the environment is created.
1076
+ # Output only. The UUID (Universally Unique IDentifier) associated with this
1077
+ # environment. This value is generated when the environment is created.
658
1078
  # @!attribute [rw] state
659
1079
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::Environment::State]
660
1080
  # The current state of the environment.
@@ -720,8 +1140,8 @@ module Google
720
1140
  # Output only. Whether build has succeeded or failed on modules conflicts.
721
1141
  # @!attribute [r] pypi_conflict_build_log_extract
722
1142
  # @return [::String]
723
- # Output only. Extract from a docker image build log containing information about pypi
724
- # modules conflicts.
1143
+ # Output only. Extract from a docker image build log containing information
1144
+ # about pypi modules conflicts.
725
1145
  # @!attribute [rw] image_version
726
1146
  # @return [::String]
727
1147
  # Composer image for which the build was happening.