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

Sign up to get free protection for your applications and to get access to all the features.
@@ -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]