google-cloud-orchestration-airflow-service-v1 0.1.2 → 0.3.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.
@@ -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,14 +202,89 @@ 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]
@@ -227,6 +299,9 @@ module Google
227
299
  # @return [::Integer]
228
300
  # The number of nodes in the Kubernetes Engine cluster that will be
229
301
  # used to run this environment.
302
+ #
303
+ # This field is supported for Cloud Composer environments in versions
304
+ # composer-1.*.*-airflow-*.*.*.
230
305
  # @!attribute [rw] software_config
231
306
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::SoftwareConfig]
232
307
  # The configuration settings for software inside the environment.
@@ -251,14 +326,72 @@ module Google
251
326
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::EncryptionConfig]
252
327
  # Optional. The encryption options for the Cloud Composer environment
253
328
  # and its dependencies. Cannot be updated.
329
+ # @!attribute [rw] maintenance_window
330
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::MaintenanceWindow]
331
+ # Optional. The maintenance window is the period when Cloud Composer components may
332
+ # undergo maintenance. It is defined so that maintenance is not executed
333
+ # during peak hours or critical time periods.
334
+ #
335
+ # The system will not be under maintenance for every occurrence of this
336
+ # window, but when maintenance is planned, it will be scheduled
337
+ # during the window.
338
+ #
339
+ # The maintenance window period must encompass at least 12 hours per week.
340
+ # This may be split into multiple chunks, each with a size of
341
+ # at least 4 hours.
342
+ #
343
+ # If this value is omitted, the default value for maintenance window will be
344
+ # applied. The default value is Saturday and Sunday 00-06 GMT.
345
+ # @!attribute [rw] workloads_config
346
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig]
347
+ # Optional. The workloads configuration settings for the GKE cluster associated with
348
+ # the Cloud Composer environment. The GKE cluster runs Airflow scheduler, web
349
+ # server and workers workloads.
350
+ #
351
+ # This field is supported for Cloud Composer environments in versions
352
+ # composer-2.*.*-airflow-*.*.* and newer.
353
+ # @!attribute [rw] environment_size
354
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::EnvironmentConfig::EnvironmentSize]
355
+ # Optional. The size of the Cloud Composer environment.
356
+ #
357
+ # This field is supported for Cloud Composer environments in versions
358
+ # composer-2.*.*-airflow-*.*.* and newer.
254
359
  # @!attribute [rw] airflow_uri
255
360
  # @return [::String]
256
361
  # Output only. The URI of the Apache Airflow Web UI hosted within this environment (see
257
362
  # [Airflow web
258
363
  # interface](/composer/docs/how-to/accessing/airflow-web-interface)).
364
+ # @!attribute [rw] master_authorized_networks_config
365
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::MasterAuthorizedNetworksConfig]
366
+ # Optional. The configuration options for GKE cluster master authorized networks.
367
+ # By default master authorized networks feature is:
368
+ # - in case of private environment: enabled with no external networks
369
+ # allowlisted.
370
+ # - in case of public environment: disabled.
371
+ # @!attribute [rw] recovery_config
372
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::RecoveryConfig]
373
+ # Optional. The Recovery settings configuration of an environment.
374
+ #
375
+ # This field is supported for Cloud Composer environments in versions
376
+ # composer-2.*.*-airflow-*.*.* and newer.
259
377
  class EnvironmentConfig
260
378
  include ::Google::Protobuf::MessageExts
261
379
  extend ::Google::Protobuf::MessageExts::ClassMethods
380
+
381
+ # The size of the Cloud Composer environment.
382
+ module EnvironmentSize
383
+ # The size of the environment is unspecified.
384
+ ENVIRONMENT_SIZE_UNSPECIFIED = 0
385
+
386
+ # The environment size is small.
387
+ ENVIRONMENT_SIZE_SMALL = 1
388
+
389
+ # The environment size is medium.
390
+ ENVIRONMENT_SIZE_MEDIUM = 2
391
+
392
+ # The environment size is large.
393
+ ENVIRONMENT_SIZE_LARGE = 3
394
+ end
262
395
  end
263
396
 
264
397
  # Network-level access control policy for the Airflow web server.
@@ -296,12 +429,16 @@ module Google
296
429
  # Optional. Cloud SQL machine type used by Airflow database.
297
430
  # It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8
298
431
  # or db-n1-standard-16. If not specified, db-n1-standard-2 will be used.
432
+ # Supported for Cloud Composer environments in versions
433
+ # composer-1.*.*-airflow-*.*.*.
299
434
  class DatabaseConfig
300
435
  include ::Google::Protobuf::MessageExts
301
436
  extend ::Google::Protobuf::MessageExts::ClassMethods
302
437
  end
303
438
 
304
439
  # The configuration settings for the Airflow web server App Engine instance.
440
+ # Supported for Cloud Composer environments in versions
441
+ # composer-1.*.*-airflow-*.*.*
305
442
  # @!attribute [rw] machine_type
306
443
  # @return [::String]
307
444
  # Optional. Machine type on which Airflow web server is running.
@@ -316,7 +453,8 @@ module Google
316
453
  end
317
454
 
318
455
  # The encryption options for the Cloud Composer environment
319
- # and its dependencies.
456
+ # and its dependencies.Supported for Cloud Composer environments in versions
457
+ # composer-1.*.*-airflow-*.*.*.
320
458
  # @!attribute [rw] kms_key_name
321
459
  # @return [::String]
322
460
  # Optional. Customer-managed Encryption Key available through Google's Key Management
@@ -327,29 +465,66 @@ module Google
327
465
  extend ::Google::Protobuf::MessageExts::ClassMethods
328
466
  end
329
467
 
468
+ # The configuration settings for Cloud Composer maintenance window.
469
+ # The following example:
470
+ #
471
+ # ```
472
+ # {
473
+ # "startTime":"2019-08-01T01:00:00Z"
474
+ # "endTime":"2019-08-01T07:00:00Z"
475
+ # "recurrence":"FREQ=WEEKLY;BYDAY=TU,WE"
476
+ # }
477
+ # ```
478
+ #
479
+ # would define a maintenance window between 01 and 07 hours UTC during
480
+ # each Tuesday and Wednesday.
481
+ # @!attribute [rw] start_time
482
+ # @return [::Google::Protobuf::Timestamp]
483
+ # Required. Start time of the first recurrence of the maintenance window.
484
+ # @!attribute [rw] end_time
485
+ # @return [::Google::Protobuf::Timestamp]
486
+ # Required. Maintenance window end time. It is used only to calculate the duration of
487
+ # the maintenance window.
488
+ # The value for end-time must be in the future, relative to
489
+ # `start_time`.
490
+ # @!attribute [rw] recurrence
491
+ # @return [::String]
492
+ # Required. Maintenance window recurrence. Format is a subset of
493
+ # [RFC-5545](https://tools.ietf.org/html/rfc5545) `RRULE`. The only allowed
494
+ # values for `FREQ` field are `FREQ=DAILY` and `FREQ=WEEKLY;BYDAY=...`
495
+ # Example values: `FREQ=WEEKLY;BYDAY=TU,WE`, `FREQ=DAILY`.
496
+ class MaintenanceWindow
497
+ include ::Google::Protobuf::MessageExts
498
+ extend ::Google::Protobuf::MessageExts::ClassMethods
499
+ end
500
+
330
501
  # Specifies the selection and configuration of software inside the environment.
331
502
  # @!attribute [rw] image_version
332
503
  # @return [::String]
333
504
  # The version of the software running in the environment.
334
505
  # This encapsulates both the version of Cloud Composer functionality and the
335
506
  # 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]+.*)?`.
507
+ # `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`.
337
508
  # When used as input, the server also checks if the provided version is
338
509
  # supported and denies the request for an unsupported version.
339
510
  #
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.
511
+ # The Cloud Composer portion of the image version is a full
512
+ # [semantic version](https://semver.org), or an alias in the form of major
513
+ # version number or `latest`. When an alias is provided, the server replaces
514
+ # it with the current Cloud Composer version that satisfies the alias.
346
515
  #
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).
516
+ # The Apache Airflow portion of the image version is a full semantic version
517
+ # that points to one of the supported Apache Airflow versions, or an alias in
518
+ # the form of only major or major.minor versions specified. When an alias is
519
+ # provided, the server replaces it with the latest Apache Airflow version
520
+ # that satisfies the alias and is supported in the given Cloud Composer
521
+ # version.
350
522
  #
351
- # See also [Version
352
- # List](/composer/docs/concepts/versioning/composer-versions).
523
+ # In all cases, the resolved image version is stored in the same field.
524
+ #
525
+ # See also [version
526
+ # list](/composer/docs/concepts/versioning/composer-versions) and [versioning
527
+ # overview](/composer/docs/concepts/versioning/composer-versioning-overview).
353
528
  # @!attribute [rw] airflow_config_overrides
354
529
  # @return [::Google::Protobuf::Map{::String => ::String}]
355
530
  # Optional. Apache Airflow configuration properties to override.
@@ -408,6 +583,16 @@ module Google
408
583
  #
409
584
  # Can be set to '2' or '3'. If not specified, the default is '3'. Cannot be
410
585
  # updated.
586
+ #
587
+ # This field is only supported for Cloud Composer environments in versions
588
+ # composer-1.*.*-airflow-*.*.*. Environments in newer versions always use
589
+ # Python major version 3.
590
+ # @!attribute [rw] scheduler_count
591
+ # @return [::Integer]
592
+ # Optional. The number of schedulers for Airflow.
593
+ #
594
+ # This field is supported for Cloud Composer environments in versions
595
+ # composer-1.*.*-airflow-2.*.*.
411
596
  class SoftwareConfig
412
597
  include ::Google::Protobuf::MessageExts
413
598
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -446,18 +631,24 @@ module Google
446
631
  # @return [::Boolean]
447
632
  # Optional. Whether or not to enable Alias IPs in the GKE cluster.
448
633
  # If `true`, a VPC-native cluster is created.
634
+ #
635
+ # This field is only supported for Cloud Composer environments in versions
636
+ # composer-1.*.*-airflow-*.*.*. Environments in newer versions always use
637
+ # VPC-native GKE clusters.
449
638
  # @!attribute [rw] cluster_secondary_range_name
450
639
  # @return [::String]
451
640
  # Optional. The name of the GKE cluster's secondary range used to allocate
452
641
  # IP addresses to pods.
453
642
  #
454
- # This field is applicable only when `use_ip_aliases` is true.
643
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
644
+ # this field is applicable only when `use_ip_aliases` is true.
455
645
  # @!attribute [rw] cluster_ipv4_cidr_block
456
646
  # @return [::String]
457
647
  # Optional. The IP address range used to allocate IP addresses to pods in
458
648
  # the GKE cluster.
459
649
  #
460
- # This field is applicable only when `use_ip_aliases` is true.
650
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
651
+ # this field is applicable only when `use_ip_aliases` is true.
461
652
  #
462
653
  # Set to blank to have GKE choose a range with the default size.
463
654
  #
@@ -465,7 +656,7 @@ module Google
465
656
  # netmask.
466
657
  #
467
658
  # Set to a
468
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
659
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
469
660
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
470
661
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
471
662
  # to use.
@@ -474,13 +665,15 @@ module Google
474
665
  # Optional. The name of the services' secondary range used to allocate
475
666
  # IP addresses to the GKE cluster.
476
667
  #
477
- # This field is applicable only when `use_ip_aliases` is true.
668
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
669
+ # this field is applicable only when `use_ip_aliases` is true.
478
670
  # @!attribute [rw] services_ipv4_cidr_block
479
671
  # @return [::String]
480
672
  # Optional. The IP address range of the services IP addresses in this
481
673
  # GKE cluster.
482
674
  #
483
- # This field is applicable only when `use_ip_aliases` is true.
675
+ # For Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*,
676
+ # this field is applicable only when `use_ip_aliases` is true.
484
677
  #
485
678
  # Set to blank to have GKE choose a range with the default size.
486
679
  #
@@ -488,7 +681,7 @@ module Google
488
681
  # netmask.
489
682
  #
490
683
  # Set to a
491
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
684
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
492
685
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
493
686
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
494
687
  # to use.
@@ -515,6 +708,9 @@ module Google
515
708
  # both fields. If only one field (`location` or `nodeConfig.machineType`) is
516
709
  # specified, the location information from the specified field will be
517
710
  # propagated to the unspecified field.
711
+ #
712
+ # This field is supported for Cloud Composer environments in versions
713
+ # composer-1.*.*-airflow-*.*.*.
518
714
  # @!attribute [rw] machine_type
519
715
  # @return [::String]
520
716
  # Optional. The Compute Engine
@@ -538,6 +734,9 @@ module Google
538
734
  #
539
735
  # If this field is unspecified, the `machineTypeId` defaults
540
736
  # to "n1-standard-1".
737
+ #
738
+ # This field is supported for Cloud Composer environments in versions
739
+ # composer-1.*.*-airflow-*.*.*.
541
740
  # @!attribute [rw] network
542
741
  # @return [::String]
543
742
  # Optional. The Compute Engine network to be used for machine
@@ -564,13 +763,19 @@ module Google
564
763
  # location.
565
764
  # @!attribute [rw] disk_size_gb
566
765
  # @return [::Integer]
567
- # Optional. The disk size in GB used for node VMs. Minimum size is 20GB.
766
+ # Optional. The disk size in GB used for node VMs. Minimum size is 30GB.
568
767
  # If unspecified, defaults to 100GB. Cannot be updated.
768
+ #
769
+ # This field is supported for Cloud Composer environments in versions
770
+ # composer-1.*.*-airflow-*.*.*.
569
771
  # @!attribute [rw] oauth_scopes
570
772
  # @return [::Array<::String>]
571
773
  # Optional. The set of Google API scopes to be made available on all
572
774
  # node VMs. If `oauth_scopes` is empty, defaults to
573
775
  # ["https://www.googleapis.com/auth/cloud-platform"]. Cannot be updated.
776
+ #
777
+ # This field is supported for Cloud Composer environments in versions
778
+ # composer-1.*.*-airflow-*.*.*.
574
779
  # @!attribute [rw] service_account
575
780
  # @return [::String]
576
781
  # Optional. The Google Cloud Platform Service Account to be used by the node
@@ -582,9 +787,20 @@ module Google
582
787
  # to identify valid sources or targets for network firewalls. Each tag within
583
788
  # the list must comply with [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
584
789
  # Cannot be updated.
790
+ #
791
+ # This field is supported for Cloud Composer environments in versions
792
+ # composer-1.*.*-airflow-*.*.*.
585
793
  # @!attribute [rw] ip_allocation_policy
586
794
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::IPAllocationPolicy]
587
795
  # Optional. The configuration for controlling how IPs are allocated in the GKE cluster.
796
+ # @!attribute [rw] enable_ip_masq_agent
797
+ # @return [::Boolean]
798
+ # Optional. Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines
799
+ # nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for
800
+ # all destination addresses, except between pods traffic.
801
+ #
802
+ # See:
803
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
588
804
  class NodeConfig
589
805
  include ::Google::Protobuf::MessageExts
590
806
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -612,13 +828,43 @@ module Google
612
828
  extend ::Google::Protobuf::MessageExts::ClassMethods
613
829
  end
614
830
 
831
+ # Configuration options for networking connections in the Composer 2
832
+ # environment.
833
+ # @!attribute [rw] connection_type
834
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::NetworkingConfig::ConnectionType]
835
+ # Optional. Indicates the user requested specifc connection type between Tenant and
836
+ # Customer projects.
837
+ # You cannot set networking connection type in public IP environment.
838
+ class NetworkingConfig
839
+ include ::Google::Protobuf::MessageExts
840
+ extend ::Google::Protobuf::MessageExts::ClassMethods
841
+
842
+ # Represents connection type between Composer environment in Customer
843
+ # Project and the corresponding Tenant project, from a predefined list
844
+ # of available connection modes.
845
+ module ConnectionType
846
+ # No specific connection type was requested, so the environment uses
847
+ # the default value corresponding to the rest of its configuration.
848
+ CONNECTION_TYPE_UNSPECIFIED = 0
849
+
850
+ # Requests the use of VPC peerings for connecting the Customer and Tenant
851
+ # projects.
852
+ VPC_PEERING = 1
853
+
854
+ # Requests the use of Private Service Connect for connecting the Customer
855
+ # and Tenant projects.
856
+ PRIVATE_SERVICE_CONNECT = 2
857
+ end
858
+ end
859
+
615
860
  # The configuration information for configuring a Private IP Cloud Composer
616
861
  # environment.
617
862
  # @!attribute [rw] enable_private_environment
618
863
  # @return [::Boolean]
619
864
  # Optional. If `true`, a Private IP Cloud Composer environment is created.
620
865
  # If this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be
621
- # set to true.
866
+ # set to true for Cloud Composer environments in versions
867
+ # composer-1.*.*-airflow-*.*.*.
622
868
  # @!attribute [rw] private_cluster_config
623
869
  # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::PrivateClusterConfig]
624
870
  # Optional. Configuration for the private GKE cluster for a Private IP
@@ -628,6 +874,9 @@ module Google
628
874
  # Optional. The CIDR block from which IP range for web server will be reserved. Needs
629
875
  # to be disjoint from `private_cluster_config.master_ipv4_cidr_block` and
630
876
  # `cloud_sql_ipv4_cidr_block`.
877
+ #
878
+ # This field is supported for Cloud Composer environments in versions
879
+ # composer-1.*.*-airflow-*.*.*.
631
880
  # @!attribute [rw] cloud_sql_ipv4_cidr_block
632
881
  # @return [::String]
633
882
  # Optional. The CIDR block from which IP range in tenant project will be reserved for
@@ -635,11 +884,171 @@ module Google
635
884
  # @!attribute [r] web_server_ipv4_reserved_range
636
885
  # @return [::String]
637
886
  # Output only. The IP range reserved for the tenant project's App Engine VMs.
887
+ #
888
+ # This field is supported for Cloud Composer environments in versions
889
+ # composer-1.*.*-airflow-*.*.*.
890
+ # @!attribute [rw] cloud_composer_network_ipv4_cidr_block
891
+ # @return [::String]
892
+ # Optional. The CIDR block from which IP range for Cloud Composer Network in tenant
893
+ # project will be reserved. Needs to be disjoint from
894
+ # private_cluster_config.master_ipv4_cidr_block and
895
+ # cloud_sql_ipv4_cidr_block.
896
+ #
897
+ # This field is supported for Cloud Composer environments in versions
898
+ # composer-2.*.*-airflow-*.*.* and newer.
899
+ # @!attribute [r] cloud_composer_network_ipv4_reserved_range
900
+ # @return [::String]
901
+ # Output only. The IP range reserved for the tenant project's Cloud Composer network.
902
+ #
903
+ # This field is supported for Cloud Composer environments in versions
904
+ # composer-2.*.*-airflow-*.*.* and newer.
905
+ # @!attribute [rw] enable_privately_used_public_ips
906
+ # @return [::Boolean]
907
+ # Optional. When enabled, IPs from public (non-RFC1918) ranges can be used for
908
+ # `IPAllocationPolicy.cluster_ipv4_cidr_block` and
909
+ # `IPAllocationPolicy.service_ipv4_cidr_block`.
910
+ # @!attribute [rw] cloud_composer_connection_subnetwork
911
+ # @return [::String]
912
+ # Optional. When specified, the environment will use Private Service Connect
913
+ # instead of VPC peerings to connect to Cloud SQL in the Tenant Project,
914
+ # and the PSC endpoint in the Customer Project will use an IP address from
915
+ # this subnetwork.
916
+ # @!attribute [rw] networking_config
917
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::NetworkingConfig]
918
+ # Optional. Configuration for the network connections configuration in the environment.
638
919
  class PrivateEnvironmentConfig
639
920
  include ::Google::Protobuf::MessageExts
640
921
  extend ::Google::Protobuf::MessageExts::ClassMethods
641
922
  end
642
923
 
924
+ # The Kubernetes workloads configuration for GKE cluster associated with the
925
+ # Cloud Composer environment. Supported for Cloud Composer environments in
926
+ # versions composer-2.*.*-airflow-*.*.* and newer.
927
+ # @!attribute [rw] scheduler
928
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig::SchedulerResource]
929
+ # Optional. Resources used by Airflow schedulers.
930
+ # @!attribute [rw] web_server
931
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig::WebServerResource]
932
+ # Optional. Resources used by Airflow web server.
933
+ # @!attribute [rw] worker
934
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::WorkloadsConfig::WorkerResource]
935
+ # Optional. Resources used by Airflow workers.
936
+ class WorkloadsConfig
937
+ include ::Google::Protobuf::MessageExts
938
+ extend ::Google::Protobuf::MessageExts::ClassMethods
939
+
940
+ # Configuration for resources used by Airflow schedulers.
941
+ # @!attribute [rw] cpu
942
+ # @return [::Float]
943
+ # Optional. CPU request and limit for a single Airflow scheduler replica.
944
+ # @!attribute [rw] memory_gb
945
+ # @return [::Float]
946
+ # Optional. Memory (GB) request and limit for a single Airflow scheduler replica.
947
+ # @!attribute [rw] storage_gb
948
+ # @return [::Float]
949
+ # Optional. Storage (GB) request and limit for a single Airflow scheduler replica.
950
+ # @!attribute [rw] count
951
+ # @return [::Integer]
952
+ # Optional. The number of schedulers.
953
+ class SchedulerResource
954
+ include ::Google::Protobuf::MessageExts
955
+ extend ::Google::Protobuf::MessageExts::ClassMethods
956
+ end
957
+
958
+ # Configuration for resources used by Airflow web server.
959
+ # @!attribute [rw] cpu
960
+ # @return [::Float]
961
+ # Optional. CPU request and limit for Airflow web server.
962
+ # @!attribute [rw] memory_gb
963
+ # @return [::Float]
964
+ # Optional. Memory (GB) request and limit for Airflow web server.
965
+ # @!attribute [rw] storage_gb
966
+ # @return [::Float]
967
+ # Optional. Storage (GB) request and limit for Airflow web server.
968
+ class WebServerResource
969
+ include ::Google::Protobuf::MessageExts
970
+ extend ::Google::Protobuf::MessageExts::ClassMethods
971
+ end
972
+
973
+ # Configuration for resources used by Airflow workers.
974
+ # @!attribute [rw] cpu
975
+ # @return [::Float]
976
+ # Optional. CPU request and limit for a single Airflow worker replica.
977
+ # @!attribute [rw] memory_gb
978
+ # @return [::Float]
979
+ # Optional. Memory (GB) request and limit for a single Airflow worker replica.
980
+ # @!attribute [rw] storage_gb
981
+ # @return [::Float]
982
+ # Optional. Storage (GB) request and limit for a single Airflow worker replica.
983
+ # @!attribute [rw] min_count
984
+ # @return [::Integer]
985
+ # Optional. Minimum number of workers for autoscaling.
986
+ # @!attribute [rw] max_count
987
+ # @return [::Integer]
988
+ # Optional. Maximum number of workers for autoscaling.
989
+ class WorkerResource
990
+ include ::Google::Protobuf::MessageExts
991
+ extend ::Google::Protobuf::MessageExts::ClassMethods
992
+ end
993
+ end
994
+
995
+ # The Recovery settings of an environment.
996
+ # @!attribute [rw] scheduled_snapshots_config
997
+ # @return [::Google::Cloud::Orchestration::Airflow::Service::V1::ScheduledSnapshotsConfig]
998
+ # Optional. The configuration for scheduled snapshot creation mechanism.
999
+ class RecoveryConfig
1000
+ include ::Google::Protobuf::MessageExts
1001
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1002
+ end
1003
+
1004
+ # The configuration for scheduled snapshot creation mechanism.
1005
+ # @!attribute [rw] enabled
1006
+ # @return [::Boolean]
1007
+ # Optional. Whether scheduled snapshots creation is enabled.
1008
+ # @!attribute [rw] snapshot_location
1009
+ # @return [::String]
1010
+ # Optional. The Cloud Storage location for storing automatically created snapshots.
1011
+ # @!attribute [rw] snapshot_creation_schedule
1012
+ # @return [::String]
1013
+ # Optional. The cron expression representing the time when snapshots creation mechanism
1014
+ # runs. This field is subject to additional validation around frequency of
1015
+ # execution.
1016
+ # @!attribute [rw] time_zone
1017
+ # @return [::String]
1018
+ # Optional. Time zone that sets the context to interpret snapshot_creation_schedule.
1019
+ class ScheduledSnapshotsConfig
1020
+ include ::Google::Protobuf::MessageExts
1021
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1022
+ end
1023
+
1024
+ # Configuration options for the master authorized networks feature. Enabled
1025
+ # master authorized networks will disallow all external traffic to access
1026
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
1027
+ # Google Compute Engine Public IPs and Google Prod IPs.
1028
+ # @!attribute [rw] enabled
1029
+ # @return [::Boolean]
1030
+ # Whether or not master authorized networks feature is enabled.
1031
+ # @!attribute [rw] cidr_blocks
1032
+ # @return [::Array<::Google::Cloud::Orchestration::Airflow::Service::V1::MasterAuthorizedNetworksConfig::CidrBlock>]
1033
+ # Up to 50 external networks that could access Kubernetes master through
1034
+ # HTTPS.
1035
+ class MasterAuthorizedNetworksConfig
1036
+ include ::Google::Protobuf::MessageExts
1037
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1038
+
1039
+ # CIDR block with an optional name.
1040
+ # @!attribute [rw] display_name
1041
+ # @return [::String]
1042
+ # User-defined name that identifies the CIDR block.
1043
+ # @!attribute [rw] cidr_block
1044
+ # @return [::String]
1045
+ # CIDR block that must be specified in CIDR notation.
1046
+ class CidrBlock
1047
+ include ::Google::Protobuf::MessageExts
1048
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1049
+ end
1050
+ end
1051
+
643
1052
  # An environment for running orchestration tasks.
644
1053
  # @!attribute [rw] name
645
1054
  # @return [::String]