google-apis-composer_v1beta1 0.38.0 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6ab880c64cdd577c6b2ec42083138b357325bed8db956217e1d67b85ce317ac
4
- data.tar.gz: c1f50c64ba3404a87987c7b41069c38e2954a6d7b3b389e190ba195cd2ae07ab
3
+ metadata.gz: 556da1d725ae4aeac91270a4d7b16ac5f7d449a1ca54dc967fd0b585696ab20b
4
+ data.tar.gz: 1e82ecd6795602acef2e5534dd5e3ef6d93bc3789b86c15189806e00dd7889ed
5
5
  SHA512:
6
- metadata.gz: 7a6c34dad55abe9ce56428c53cd632a76ca2db5c56fe58a7921debd9df6e2f45d07fd6315e97d4973dc5ce302e7e9be36dfd36c339b805cf34e97780d48e77ee
7
- data.tar.gz: 86ee62bc4893a223a61f35f2c9b67bba23b9be9140169f627cc24d51a6f10c07240bb542f49409a3939563c9658d797581dd93dfd3570ae8bc8fcc175246552d
6
+ metadata.gz: 47fbdebf7e55a303a22a0f6bbd19c765dba06d3b2b7c13d3559cdcac683d47928cf9b1c5d954351c16f324316197c0621969ab638f36ca2b6aa697a8ac861061
7
+ data.tar.gz: 26e55ea1d81b9872b1dc054856ea0f8bfd46c629a7de057572f6cd61a47566cd6d87b7613e5e1fca6f17cb132d06e710e75a27b0da3026cb55e6aeb3d64c95b3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Release history for google-apis-composer_v1beta1
2
2
 
3
+ ### v0.40.0 (2024-01-23)
4
+
5
+ * Regenerated from discovery document revision 20240106
6
+ * Regenerated using generator version 0.13.0
7
+
8
+ ### v0.39.0 (2023-12-10)
9
+
10
+ * Regenerated from discovery document revision 20231129
11
+
3
12
  ### v0.38.0 (2023-10-08)
4
13
 
5
14
  * Regenerated from discovery document revision 20231004
@@ -177,6 +177,65 @@ module Google
177
177
  end
178
178
  end
179
179
 
180
+ # Configuration for resources used by Airflow DAG processors.
181
+ class DagProcessorResource
182
+ include Google::Apis::Core::Hashable
183
+
184
+ # Optional. The number of DAG processors. If not provided or set to 0, a single
185
+ # DAG processor instance will be created.
186
+ # Corresponds to the JSON property `count`
187
+ # @return [Fixnum]
188
+ attr_accessor :count
189
+
190
+ # Optional. CPU request and limit for a single Airflow DAG processor replica.
191
+ # Corresponds to the JSON property `cpu`
192
+ # @return [Float]
193
+ attr_accessor :cpu
194
+
195
+ # Optional. Memory (GB) request and limit for a single Airflow DAG processor
196
+ # replica.
197
+ # Corresponds to the JSON property `memoryGb`
198
+ # @return [Float]
199
+ attr_accessor :memory_gb
200
+
201
+ # Optional. Storage (GB) request and limit for a single Airflow DAG processor
202
+ # replica.
203
+ # Corresponds to the JSON property `storageGb`
204
+ # @return [Float]
205
+ attr_accessor :storage_gb
206
+
207
+ def initialize(**args)
208
+ update!(**args)
209
+ end
210
+
211
+ # Update properties of this object
212
+ def update!(**args)
213
+ @count = args[:count] if args.key?(:count)
214
+ @cpu = args[:cpu] if args.key?(:cpu)
215
+ @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
216
+ @storage_gb = args[:storage_gb] if args.key?(:storage_gb)
217
+ end
218
+ end
219
+
220
+ # The configuration setting for Airflow database data retention mechanism.
221
+ class DataRetentionConfig
222
+ include Google::Apis::Core::Hashable
223
+
224
+ # The configuration setting for Task Logs.
225
+ # Corresponds to the JSON property `taskLogsRetentionConfig`
226
+ # @return [Google::Apis::ComposerV1beta1::TaskLogsRetentionConfig]
227
+ attr_accessor :task_logs_retention_config
228
+
229
+ def initialize(**args)
230
+ update!(**args)
231
+ end
232
+
233
+ # Update properties of this object
234
+ def update!(**args)
235
+ @task_logs_retention_config = args[:task_logs_retention_config] if args.key?(:task_logs_retention_config)
236
+ end
237
+ end
238
+
180
239
  # The configuration of Cloud SQL instance that is used by the Apache Airflow
181
240
  # software.
182
241
  class DatabaseConfig
@@ -420,6 +479,11 @@ module Google
420
479
  # @return [String]
421
480
  attr_accessor :dag_gcs_prefix
422
481
 
482
+ # The configuration setting for Airflow database data retention mechanism.
483
+ # Corresponds to the JSON property `dataRetentionConfig`
484
+ # @return [Google::Apis::ComposerV1beta1::DataRetentionConfig]
485
+ attr_accessor :data_retention_config
486
+
423
487
  # The configuration of Cloud SQL instance that is used by the Apache Airflow
424
488
  # software.
425
489
  # Corresponds to the JSON property `databaseConfig`
@@ -526,6 +590,7 @@ module Google
526
590
  @airflow_byoid_uri = args[:airflow_byoid_uri] if args.key?(:airflow_byoid_uri)
527
591
  @airflow_uri = args[:airflow_uri] if args.key?(:airflow_uri)
528
592
  @dag_gcs_prefix = args[:dag_gcs_prefix] if args.key?(:dag_gcs_prefix)
593
+ @data_retention_config = args[:data_retention_config] if args.key?(:data_retention_config)
529
594
  @database_config = args[:database_config] if args.key?(:database_config)
530
595
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
531
596
  @environment_size = args[:environment_size] if args.key?(:environment_size)
@@ -1067,6 +1132,29 @@ module Google
1067
1132
  class NodeConfig
1068
1133
  include Google::Apis::Core::Hashable
1069
1134
 
1135
+ # Optional. The IP range in CIDR notation to use internally by Cloud Composer.
1136
+ # IP addresses are not reserved - and the same range can be used by multiple
1137
+ # Cloud Composer environments. In case of overlap, IPs from this range will not
1138
+ # be accessible in the user's VPC network. Cannot be updated. If not specified,
1139
+ # the default value of '100.64.128.0/20' is used. This field is supported for
1140
+ # Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
1141
+ # Corresponds to the JSON property `composerInternalIpv4CidrBlock`
1142
+ # @return [String]
1143
+ attr_accessor :composer_internal_ipv4_cidr_block
1144
+
1145
+ # Optional. Network Attachment that Cloud Composer environment is connected to,
1146
+ # which provides connectivity with a user's VPC network. Takes precedence over
1147
+ # network and subnetwork settings. If not provided, but network and subnetwork
1148
+ # are defined during environment, it will be provisioned. If not provided and
1149
+ # network and subnetwork are also empty, then connectivity to user's VPC network
1150
+ # is disabled. Network attachment must be provided in format projects/`project`/
1151
+ # regions/`region`/networkAttachments/`networkAttachment`. This field is
1152
+ # supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.
1153
+ # *.* and newer.
1154
+ # Corresponds to the JSON property `composerNetworkAttachment`
1155
+ # @return [String]
1156
+ attr_accessor :composer_network_attachment
1157
+
1070
1158
  # Optional. The disk size in GB used for node VMs. Minimum size is 30GB. If
1071
1159
  # unspecified, defaults to 100GB. Cannot be updated. This field is supported for
1072
1160
  # Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
@@ -1188,6 +1276,8 @@ module Google
1188
1276
 
1189
1277
  # Update properties of this object
1190
1278
  def update!(**args)
1279
+ @composer_internal_ipv4_cidr_block = args[:composer_internal_ipv4_cidr_block] if args.key?(:composer_internal_ipv4_cidr_block)
1280
+ @composer_network_attachment = args[:composer_network_attachment] if args.key?(:composer_network_attachment)
1191
1281
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1192
1282
  @enable_ip_masq_agent = args[:enable_ip_masq_agent] if args.key?(:enable_ip_masq_agent)
1193
1283
  @ip_allocation_policy = args[:ip_allocation_policy] if args.key?(:ip_allocation_policy)
@@ -1459,6 +1549,18 @@ module Google
1459
1549
  # @return [String]
1460
1550
  attr_accessor :cloud_sql_ipv4_cidr_block
1461
1551
 
1552
+ # Optional. If `true`, builds performed during operations that install Python
1553
+ # packages have only private connectivity to Google services (including Artifact
1554
+ # Registry) and VPC network (if either `NodeConfig.network` and `NodeConfig.
1555
+ # subnetwork` fields or `NodeConfig.composer_network_attachment` field are
1556
+ # specified). If `false`, the builds also have access to the internet. This
1557
+ # field is supported for Cloud Composer environments in versions composer-3.*.*-
1558
+ # airflow-*.*.* and newer.
1559
+ # Corresponds to the JSON property `enablePrivateBuildsOnly`
1560
+ # @return [Boolean]
1561
+ attr_accessor :enable_private_builds_only
1562
+ alias_method :enable_private_builds_only?, :enable_private_builds_only
1563
+
1462
1564
  # Optional. If `true`, a Private IP Cloud Composer environment is created. If
1463
1565
  # this field is set to true, `IPAllocationPolicy.use_ip_aliases` must be set to
1464
1566
  # true for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
@@ -1511,6 +1613,7 @@ module Google
1511
1613
  @cloud_composer_network_ipv4_cidr_block = args[:cloud_composer_network_ipv4_cidr_block] if args.key?(:cloud_composer_network_ipv4_cidr_block)
1512
1614
  @cloud_composer_network_ipv4_reserved_range = args[:cloud_composer_network_ipv4_reserved_range] if args.key?(:cloud_composer_network_ipv4_reserved_range)
1513
1615
  @cloud_sql_ipv4_cidr_block = args[:cloud_sql_ipv4_cidr_block] if args.key?(:cloud_sql_ipv4_cidr_block)
1616
+ @enable_private_builds_only = args[:enable_private_builds_only] if args.key?(:enable_private_builds_only)
1514
1617
  @enable_private_environment = args[:enable_private_environment] if args.key?(:enable_private_environment)
1515
1618
  @enable_privately_used_public_ips = args[:enable_privately_used_public_ips] if args.key?(:enable_privately_used_public_ips)
1516
1619
  @networking_config = args[:networking_config] if args.key?(:networking_config)
@@ -1756,6 +1859,13 @@ module Google
1756
1859
  # @return [Fixnum]
1757
1860
  attr_accessor :scheduler_count
1758
1861
 
1862
+ # Optional. Whether or not the web server uses custom plugins. If unspecified,
1863
+ # the field defaults to `PLUGINS_ENABLED`. This field is supported for Cloud
1864
+ # Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.
1865
+ # Corresponds to the JSON property `webServerPluginsMode`
1866
+ # @return [String]
1867
+ attr_accessor :web_server_plugins_mode
1868
+
1759
1869
  def initialize(**args)
1760
1870
  update!(**args)
1761
1871
  end
@@ -1769,6 +1879,7 @@ module Google
1769
1879
  @pypi_packages = args[:pypi_packages] if args.key?(:pypi_packages)
1770
1880
  @python_version = args[:python_version] if args.key?(:python_version)
1771
1881
  @scheduler_count = args[:scheduler_count] if args.key?(:scheduler_count)
1882
+ @web_server_plugins_mode = args[:web_server_plugins_mode] if args.key?(:web_server_plugins_mode)
1772
1883
  end
1773
1884
  end
1774
1885
 
@@ -1896,6 +2007,26 @@ module Google
1896
2007
  end
1897
2008
  end
1898
2009
 
2010
+ # The configuration setting for Task Logs.
2011
+ class TaskLogsRetentionConfig
2012
+ include Google::Apis::Core::Hashable
2013
+
2014
+ # Optional. The mode of storage for Airflow workers task logs. For details, see
2015
+ # go/composer-store-task-logs-in-cloud-logging-only-design-doc
2016
+ # Corresponds to the JSON property `storageMode`
2017
+ # @return [String]
2018
+ attr_accessor :storage_mode
2019
+
2020
+ def initialize(**args)
2021
+ update!(**args)
2022
+ end
2023
+
2024
+ # Update properties of this object
2025
+ def update!(**args)
2026
+ @storage_mode = args[:storage_mode] if args.key?(:storage_mode)
2027
+ end
2028
+ end
2029
+
1899
2030
  # Configuration for resources used by Airflow triggerers.
1900
2031
  class TriggererResource
1901
2032
  include Google::Apis::Core::Hashable
@@ -2051,6 +2182,11 @@ module Google
2051
2182
  class WorkloadsConfig
2052
2183
  include Google::Apis::Core::Hashable
2053
2184
 
2185
+ # Configuration for resources used by Airflow DAG processors.
2186
+ # Corresponds to the JSON property `dagProcessor`
2187
+ # @return [Google::Apis::ComposerV1beta1::DagProcessorResource]
2188
+ attr_accessor :dag_processor
2189
+
2054
2190
  # Configuration for resources used by Airflow schedulers.
2055
2191
  # Corresponds to the JSON property `scheduler`
2056
2192
  # @return [Google::Apis::ComposerV1beta1::SchedulerResource]
@@ -2077,6 +2213,7 @@ module Google
2077
2213
 
2078
2214
  # Update properties of this object
2079
2215
  def update!(**args)
2216
+ @dag_processor = args[:dag_processor] if args.key?(:dag_processor)
2080
2217
  @scheduler = args[:scheduler] if args.key?(:scheduler)
2081
2218
  @triggerer = args[:triggerer] if args.key?(:triggerer)
2082
2219
  @web_server = args[:web_server] if args.key?(:web_server)
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module ComposerV1beta1
18
18
  # Version of the google-apis-composer_v1beta1 gem
19
- GEM_VERSION = "0.38.0"
19
+ GEM_VERSION = "0.40.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.12.0"
22
+ GENERATOR_VERSION = "0.13.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20231004"
25
+ REVISION = "20240106"
26
26
  end
27
27
  end
28
28
  end
@@ -52,6 +52,18 @@ module Google
52
52
  include Google::Apis::Core::JsonObjectSupport
53
53
  end
54
54
 
55
+ class DagProcessorResource
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class DataRetentionConfig
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
55
67
  class DatabaseConfig
56
68
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
69
 
@@ -298,6 +310,12 @@ module Google
298
310
  include Google::Apis::Core::JsonObjectSupport
299
311
  end
300
312
 
313
+ class TaskLogsRetentionConfig
314
+ class Representation < Google::Apis::Core::JsonRepresentation; end
315
+
316
+ include Google::Apis::Core::JsonObjectSupport
317
+ end
318
+
301
319
  class TriggererResource
302
320
  class Representation < Google::Apis::Core::JsonRepresentation; end
303
321
 
@@ -375,6 +393,24 @@ module Google
375
393
  end
376
394
  end
377
395
 
396
+ class DagProcessorResource
397
+ # @private
398
+ class Representation < Google::Apis::Core::JsonRepresentation
399
+ property :count, as: 'count'
400
+ property :cpu, as: 'cpu'
401
+ property :memory_gb, as: 'memoryGb'
402
+ property :storage_gb, as: 'storageGb'
403
+ end
404
+ end
405
+
406
+ class DataRetentionConfig
407
+ # @private
408
+ class Representation < Google::Apis::Core::JsonRepresentation
409
+ property :task_logs_retention_config, as: 'taskLogsRetentionConfig', class: Google::Apis::ComposerV1beta1::TaskLogsRetentionConfig, decorator: Google::Apis::ComposerV1beta1::TaskLogsRetentionConfig::Representation
410
+
411
+ end
412
+ end
413
+
378
414
  class DatabaseConfig
379
415
  # @private
380
416
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -440,6 +476,8 @@ module Google
440
476
  property :airflow_byoid_uri, as: 'airflowByoidUri'
441
477
  property :airflow_uri, as: 'airflowUri'
442
478
  property :dag_gcs_prefix, as: 'dagGcsPrefix'
479
+ property :data_retention_config, as: 'dataRetentionConfig', class: Google::Apis::ComposerV1beta1::DataRetentionConfig, decorator: Google::Apis::ComposerV1beta1::DataRetentionConfig::Representation
480
+
443
481
  property :database_config, as: 'databaseConfig', class: Google::Apis::ComposerV1beta1::DatabaseConfig, decorator: Google::Apis::ComposerV1beta1::DatabaseConfig::Representation
444
482
 
445
483
  property :encryption_config, as: 'encryptionConfig', class: Google::Apis::ComposerV1beta1::EncryptionConfig, decorator: Google::Apis::ComposerV1beta1::EncryptionConfig::Representation
@@ -609,6 +647,8 @@ module Google
609
647
  class NodeConfig
610
648
  # @private
611
649
  class Representation < Google::Apis::Core::JsonRepresentation
650
+ property :composer_internal_ipv4_cidr_block, as: 'composerInternalIpv4CidrBlock'
651
+ property :composer_network_attachment, as: 'composerNetworkAttachment'
612
652
  property :disk_size_gb, as: 'diskSizeGb'
613
653
  property :enable_ip_masq_agent, as: 'enableIpMasqAgent'
614
654
  property :ip_allocation_policy, as: 'ipAllocationPolicy', class: Google::Apis::ComposerV1beta1::IpAllocationPolicy, decorator: Google::Apis::ComposerV1beta1::IpAllocationPolicy::Representation
@@ -685,6 +725,7 @@ module Google
685
725
  property :cloud_composer_network_ipv4_cidr_block, as: 'cloudComposerNetworkIpv4CidrBlock'
686
726
  property :cloud_composer_network_ipv4_reserved_range, as: 'cloudComposerNetworkIpv4ReservedRange'
687
727
  property :cloud_sql_ipv4_cidr_block, as: 'cloudSqlIpv4CidrBlock'
728
+ property :enable_private_builds_only, as: 'enablePrivateBuildsOnly'
688
729
  property :enable_private_environment, as: 'enablePrivateEnvironment'
689
730
  property :enable_privately_used_public_ips, as: 'enablePrivatelyUsedPublicIps'
690
731
  property :networking_config, as: 'networkingConfig', class: Google::Apis::ComposerV1beta1::NetworkingConfig, decorator: Google::Apis::ComposerV1beta1::NetworkingConfig::Representation
@@ -755,6 +796,7 @@ module Google
755
796
  hash :pypi_packages, as: 'pypiPackages'
756
797
  property :python_version, as: 'pythonVersion'
757
798
  property :scheduler_count, as: 'schedulerCount'
799
+ property :web_server_plugins_mode, as: 'webServerPluginsMode'
758
800
  end
759
801
  end
760
802
 
@@ -792,6 +834,13 @@ module Google
792
834
  end
793
835
  end
794
836
 
837
+ class TaskLogsRetentionConfig
838
+ # @private
839
+ class Representation < Google::Apis::Core::JsonRepresentation
840
+ property :storage_mode, as: 'storageMode'
841
+ end
842
+ end
843
+
795
844
  class TriggererResource
796
845
  # @private
797
846
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -839,6 +888,8 @@ module Google
839
888
  class WorkloadsConfig
840
889
  # @private
841
890
  class Representation < Google::Apis::Core::JsonRepresentation
891
+ property :dag_processor, as: 'dagProcessor', class: Google::Apis::ComposerV1beta1::DagProcessorResource, decorator: Google::Apis::ComposerV1beta1::DagProcessorResource::Representation
892
+
842
893
  property :scheduler, as: 'scheduler', class: Google::Apis::ComposerV1beta1::SchedulerResource, decorator: Google::Apis::ComposerV1beta1::SchedulerResource::Representation
843
894
 
844
895
  property :triggerer, as: 'triggerer', class: Google::Apis::ComposerV1beta1::TriggererResource, decorator: Google::Apis::ComposerV1beta1::TriggererResource::Representation
@@ -32,6 +32,8 @@ module Google
32
32
  #
33
33
  # @see https://cloud.google.com/composer/
34
34
  class CloudComposerService < Google::Apis::Core::BaseService
35
+ DEFAULT_ENDPOINT_TEMPLATE = "https://composer.$UNIVERSE_DOMAIN$/"
36
+
35
37
  # @return [String]
36
38
  # API key. Your API key identifies your project and provides you with API access,
37
39
  # quota, and reports. Required unless you provide an OAuth 2.0 token.
@@ -43,7 +45,7 @@ module Google
43
45
  attr_accessor :quota_user
44
46
 
45
47
  def initialize
46
- super('https://composer.googleapis.com/', '',
48
+ super(DEFAULT_ENDPOINT_TEMPLATE, '',
47
49
  client_name: 'google-apis-composer_v1beta1',
48
50
  client_version: Google::Apis::ComposerV1beta1::GEM_VERSION)
49
51
  @batch_path = 'batch'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-composer_v1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.38.0
4
+ version: 0.40.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-08 00:00:00.000000000 Z
11
+ date: 2024-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.11.0
19
+ version: 0.12.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.11.0
29
+ version: 0.12.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -58,7 +58,7 @@ licenses:
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-composer_v1beta1/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-composer_v1beta1/v0.38.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-composer_v1beta1/v0.40.0
62
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-composer_v1beta1
63
63
  post_install_message:
64
64
  rdoc_options: []
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.4.19
78
+ rubygems_version: 3.5.3
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: Simple REST client for Cloud Composer API V1beta1