google-apis-composer_v1 0.1.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.
@@ -0,0 +1,28 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Apis
17
+ module ComposerV1
18
+ # Version of the google-apis-composer_v1 gem
19
+ GEM_VERSION = "0.1.0"
20
+
21
+ # Version of the code generator used to generate this client
22
+ GENERATOR_VERSION = "0.1.1"
23
+
24
+ # Revision of the discovery document this client was generated from
25
+ REVISION = "20201202"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,329 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ComposerV1
24
+
25
+ class AllowedIpRange
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class Date
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class Empty
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class Environment
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class EnvironmentConfig
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class IpAllocationPolicy
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class ImageVersion
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class ListEnvironmentsResponse
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class ListImageVersionsResponse
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class ListOperationsResponse
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class NodeConfig
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class Operation
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class OperationMetadata
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class PrivateClusterConfig
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class PrivateEnvironmentConfig
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
115
+ class SoftwareConfig
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class Status
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class WebServerNetworkAccessControl
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class AllowedIpRange
134
+ # @private
135
+ class Representation < Google::Apis::Core::JsonRepresentation
136
+ property :description, as: 'description'
137
+ property :value, as: 'value'
138
+ end
139
+ end
140
+
141
+ class Date
142
+ # @private
143
+ class Representation < Google::Apis::Core::JsonRepresentation
144
+ property :day, as: 'day'
145
+ property :month, as: 'month'
146
+ property :year, as: 'year'
147
+ end
148
+ end
149
+
150
+ class Empty
151
+ # @private
152
+ class Representation < Google::Apis::Core::JsonRepresentation
153
+ end
154
+ end
155
+
156
+ class Environment
157
+ # @private
158
+ class Representation < Google::Apis::Core::JsonRepresentation
159
+ property :config, as: 'config', class: Google::Apis::ComposerV1::EnvironmentConfig, decorator: Google::Apis::ComposerV1::EnvironmentConfig::Representation
160
+
161
+ property :create_time, as: 'createTime'
162
+ hash :labels, as: 'labels'
163
+ property :name, as: 'name'
164
+ property :state, as: 'state'
165
+ property :update_time, as: 'updateTime'
166
+ property :uuid, as: 'uuid'
167
+ end
168
+ end
169
+
170
+ class EnvironmentConfig
171
+ # @private
172
+ class Representation < Google::Apis::Core::JsonRepresentation
173
+ property :airflow_uri, as: 'airflowUri'
174
+ property :dag_gcs_prefix, as: 'dagGcsPrefix'
175
+ property :gke_cluster, as: 'gkeCluster'
176
+ property :node_config, as: 'nodeConfig', class: Google::Apis::ComposerV1::NodeConfig, decorator: Google::Apis::ComposerV1::NodeConfig::Representation
177
+
178
+ property :node_count, as: 'nodeCount'
179
+ property :private_environment_config, as: 'privateEnvironmentConfig', class: Google::Apis::ComposerV1::PrivateEnvironmentConfig, decorator: Google::Apis::ComposerV1::PrivateEnvironmentConfig::Representation
180
+
181
+ property :software_config, as: 'softwareConfig', class: Google::Apis::ComposerV1::SoftwareConfig, decorator: Google::Apis::ComposerV1::SoftwareConfig::Representation
182
+
183
+ property :web_server_network_access_control, as: 'webServerNetworkAccessControl', class: Google::Apis::ComposerV1::WebServerNetworkAccessControl, decorator: Google::Apis::ComposerV1::WebServerNetworkAccessControl::Representation
184
+
185
+ end
186
+ end
187
+
188
+ class IpAllocationPolicy
189
+ # @private
190
+ class Representation < Google::Apis::Core::JsonRepresentation
191
+ property :cluster_ipv4_cidr_block, as: 'clusterIpv4CidrBlock'
192
+ property :cluster_secondary_range_name, as: 'clusterSecondaryRangeName'
193
+ property :services_ipv4_cidr_block, as: 'servicesIpv4CidrBlock'
194
+ property :services_secondary_range_name, as: 'servicesSecondaryRangeName'
195
+ property :use_ip_aliases, as: 'useIpAliases'
196
+ end
197
+ end
198
+
199
+ class ImageVersion
200
+ # @private
201
+ class Representation < Google::Apis::Core::JsonRepresentation
202
+ property :creation_disabled, as: 'creationDisabled'
203
+ property :image_version_id, as: 'imageVersionId'
204
+ property :is_default, as: 'isDefault'
205
+ property :release_date, as: 'releaseDate', class: Google::Apis::ComposerV1::Date, decorator: Google::Apis::ComposerV1::Date::Representation
206
+
207
+ collection :supported_python_versions, as: 'supportedPythonVersions'
208
+ property :upgrade_disabled, as: 'upgradeDisabled'
209
+ end
210
+ end
211
+
212
+ class ListEnvironmentsResponse
213
+ # @private
214
+ class Representation < Google::Apis::Core::JsonRepresentation
215
+ collection :environments, as: 'environments', class: Google::Apis::ComposerV1::Environment, decorator: Google::Apis::ComposerV1::Environment::Representation
216
+
217
+ property :next_page_token, as: 'nextPageToken'
218
+ end
219
+ end
220
+
221
+ class ListImageVersionsResponse
222
+ # @private
223
+ class Representation < Google::Apis::Core::JsonRepresentation
224
+ collection :image_versions, as: 'imageVersions', class: Google::Apis::ComposerV1::ImageVersion, decorator: Google::Apis::ComposerV1::ImageVersion::Representation
225
+
226
+ property :next_page_token, as: 'nextPageToken'
227
+ end
228
+ end
229
+
230
+ class ListOperationsResponse
231
+ # @private
232
+ class Representation < Google::Apis::Core::JsonRepresentation
233
+ property :next_page_token, as: 'nextPageToken'
234
+ collection :operations, as: 'operations', class: Google::Apis::ComposerV1::Operation, decorator: Google::Apis::ComposerV1::Operation::Representation
235
+
236
+ end
237
+ end
238
+
239
+ class NodeConfig
240
+ # @private
241
+ class Representation < Google::Apis::Core::JsonRepresentation
242
+ property :disk_size_gb, as: 'diskSizeGb'
243
+ property :ip_allocation_policy, as: 'ipAllocationPolicy', class: Google::Apis::ComposerV1::IpAllocationPolicy, decorator: Google::Apis::ComposerV1::IpAllocationPolicy::Representation
244
+
245
+ property :location, as: 'location'
246
+ property :machine_type, as: 'machineType'
247
+ property :network, as: 'network'
248
+ collection :oauth_scopes, as: 'oauthScopes'
249
+ property :service_account, as: 'serviceAccount'
250
+ property :subnetwork, as: 'subnetwork'
251
+ collection :tags, as: 'tags'
252
+ end
253
+ end
254
+
255
+ class Operation
256
+ # @private
257
+ class Representation < Google::Apis::Core::JsonRepresentation
258
+ property :done, as: 'done'
259
+ property :error, as: 'error', class: Google::Apis::ComposerV1::Status, decorator: Google::Apis::ComposerV1::Status::Representation
260
+
261
+ hash :metadata, as: 'metadata'
262
+ property :name, as: 'name'
263
+ hash :response, as: 'response'
264
+ end
265
+ end
266
+
267
+ class OperationMetadata
268
+ # @private
269
+ class Representation < Google::Apis::Core::JsonRepresentation
270
+ property :create_time, as: 'createTime'
271
+ property :end_time, as: 'endTime'
272
+ property :operation_type, as: 'operationType'
273
+ property :resource, as: 'resource'
274
+ property :resource_uuid, as: 'resourceUuid'
275
+ property :state, as: 'state'
276
+ end
277
+ end
278
+
279
+ class PrivateClusterConfig
280
+ # @private
281
+ class Representation < Google::Apis::Core::JsonRepresentation
282
+ property :enable_private_endpoint, as: 'enablePrivateEndpoint'
283
+ property :master_ipv4_cidr_block, as: 'masterIpv4CidrBlock'
284
+ property :master_ipv4_reserved_range, as: 'masterIpv4ReservedRange'
285
+ end
286
+ end
287
+
288
+ class PrivateEnvironmentConfig
289
+ # @private
290
+ class Representation < Google::Apis::Core::JsonRepresentation
291
+ property :cloud_sql_ipv4_cidr_block, as: 'cloudSqlIpv4CidrBlock'
292
+ property :enable_private_environment, as: 'enablePrivateEnvironment'
293
+ property :private_cluster_config, as: 'privateClusterConfig', class: Google::Apis::ComposerV1::PrivateClusterConfig, decorator: Google::Apis::ComposerV1::PrivateClusterConfig::Representation
294
+
295
+ property :web_server_ipv4_cidr_block, as: 'webServerIpv4CidrBlock'
296
+ property :web_server_ipv4_reserved_range, as: 'webServerIpv4ReservedRange'
297
+ end
298
+ end
299
+
300
+ class SoftwareConfig
301
+ # @private
302
+ class Representation < Google::Apis::Core::JsonRepresentation
303
+ hash :airflow_config_overrides, as: 'airflowConfigOverrides'
304
+ hash :env_variables, as: 'envVariables'
305
+ property :image_version, as: 'imageVersion'
306
+ hash :pypi_packages, as: 'pypiPackages'
307
+ property :python_version, as: 'pythonVersion'
308
+ end
309
+ end
310
+
311
+ class Status
312
+ # @private
313
+ class Representation < Google::Apis::Core::JsonRepresentation
314
+ property :code, as: 'code'
315
+ collection :details, as: 'details'
316
+ property :message, as: 'message'
317
+ end
318
+ end
319
+
320
+ class WebServerNetworkAccessControl
321
+ # @private
322
+ class Representation < Google::Apis::Core::JsonRepresentation
323
+ collection :allowed_ip_ranges, as: 'allowedIpRanges', class: Google::Apis::ComposerV1::AllowedIpRange, decorator: Google::Apis::ComposerV1::AllowedIpRange::Representation
324
+
325
+ end
326
+ end
327
+ end
328
+ end
329
+ end
@@ -0,0 +1,436 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module ComposerV1
23
+ # Cloud Composer API
24
+ #
25
+ # Manages Apache Airflow environments on Google Cloud Platform.
26
+ #
27
+ # @example
28
+ # require 'google/apis/composer_v1'
29
+ #
30
+ # Composer = Google::Apis::ComposerV1 # Alias the module
31
+ # service = Composer::CloudComposerService.new
32
+ #
33
+ # @see https://cloud.google.com/composer/
34
+ class CloudComposerService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://composer.googleapis.com/', '',
47
+ client_name: 'google-apis-composer_v1',
48
+ client_version: Google::Apis::ComposerV1::GEM_VERSION)
49
+ @batch_path = 'batch'
50
+ end
51
+
52
+ # Create a new environment.
53
+ # @param [String] parent
54
+ # The parent must be of the form "projects/`projectId`/locations/`locationId`".
55
+ # @param [Google::Apis::ComposerV1::Environment] environment_object
56
+ # @param [String] fields
57
+ # Selector specifying which fields to include in a partial response.
58
+ # @param [String] quota_user
59
+ # Available to use for quota purposes for server-side applications. Can be any
60
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
61
+ # @param [Google::Apis::RequestOptions] options
62
+ # Request-specific options
63
+ #
64
+ # @yield [result, err] Result & error if block supplied
65
+ # @yieldparam result [Google::Apis::ComposerV1::Operation] parsed result object
66
+ # @yieldparam err [StandardError] error object if request failed
67
+ #
68
+ # @return [Google::Apis::ComposerV1::Operation]
69
+ #
70
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
71
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
72
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
73
+ def create_project_location_environment(parent, environment_object = nil, fields: nil, quota_user: nil, options: nil, &block)
74
+ command = make_simple_command(:post, 'v1/{+parent}/environments', options)
75
+ command.request_representation = Google::Apis::ComposerV1::Environment::Representation
76
+ command.request_object = environment_object
77
+ command.response_representation = Google::Apis::ComposerV1::Operation::Representation
78
+ command.response_class = Google::Apis::ComposerV1::Operation
79
+ command.params['parent'] = parent unless parent.nil?
80
+ command.query['fields'] = fields unless fields.nil?
81
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
82
+ execute_or_queue_command(command, &block)
83
+ end
84
+
85
+ # Delete an environment.
86
+ # @param [String] name
87
+ # The environment to delete, in the form: "projects/`projectId`/locations/`
88
+ # locationId`/environments/`environmentId`"
89
+ # @param [String] fields
90
+ # Selector specifying which fields to include in a partial response.
91
+ # @param [String] quota_user
92
+ # Available to use for quota purposes for server-side applications. Can be any
93
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
94
+ # @param [Google::Apis::RequestOptions] options
95
+ # Request-specific options
96
+ #
97
+ # @yield [result, err] Result & error if block supplied
98
+ # @yieldparam result [Google::Apis::ComposerV1::Operation] parsed result object
99
+ # @yieldparam err [StandardError] error object if request failed
100
+ #
101
+ # @return [Google::Apis::ComposerV1::Operation]
102
+ #
103
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
104
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
105
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
106
+ def delete_project_location_environment(name, fields: nil, quota_user: nil, options: nil, &block)
107
+ command = make_simple_command(:delete, 'v1/{+name}', options)
108
+ command.response_representation = Google::Apis::ComposerV1::Operation::Representation
109
+ command.response_class = Google::Apis::ComposerV1::Operation
110
+ command.params['name'] = name unless name.nil?
111
+ command.query['fields'] = fields unless fields.nil?
112
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
113
+ execute_or_queue_command(command, &block)
114
+ end
115
+
116
+ # Get an existing environment.
117
+ # @param [String] name
118
+ # The resource name of the environment to get, in the form: "projects/`projectId`
119
+ # /locations/`locationId`/environments/`environmentId`"
120
+ # @param [String] fields
121
+ # Selector specifying which fields to include in a partial response.
122
+ # @param [String] quota_user
123
+ # Available to use for quota purposes for server-side applications. Can be any
124
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
125
+ # @param [Google::Apis::RequestOptions] options
126
+ # Request-specific options
127
+ #
128
+ # @yield [result, err] Result & error if block supplied
129
+ # @yieldparam result [Google::Apis::ComposerV1::Environment] parsed result object
130
+ # @yieldparam err [StandardError] error object if request failed
131
+ #
132
+ # @return [Google::Apis::ComposerV1::Environment]
133
+ #
134
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
135
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
136
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
137
+ def get_project_location_environment(name, fields: nil, quota_user: nil, options: nil, &block)
138
+ command = make_simple_command(:get, 'v1/{+name}', options)
139
+ command.response_representation = Google::Apis::ComposerV1::Environment::Representation
140
+ command.response_class = Google::Apis::ComposerV1::Environment
141
+ command.params['name'] = name unless name.nil?
142
+ command.query['fields'] = fields unless fields.nil?
143
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
144
+ execute_or_queue_command(command, &block)
145
+ end
146
+
147
+ # List environments.
148
+ # @param [String] parent
149
+ # List environments in the given project and location, in the form: "projects/`
150
+ # projectId`/locations/`locationId`"
151
+ # @param [Fixnum] page_size
152
+ # The maximum number of environments to return.
153
+ # @param [String] page_token
154
+ # The next_page_token value returned from a previous List request, if any.
155
+ # @param [String] fields
156
+ # Selector specifying which fields to include in a partial response.
157
+ # @param [String] quota_user
158
+ # Available to use for quota purposes for server-side applications. Can be any
159
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
160
+ # @param [Google::Apis::RequestOptions] options
161
+ # Request-specific options
162
+ #
163
+ # @yield [result, err] Result & error if block supplied
164
+ # @yieldparam result [Google::Apis::ComposerV1::ListEnvironmentsResponse] parsed result object
165
+ # @yieldparam err [StandardError] error object if request failed
166
+ #
167
+ # @return [Google::Apis::ComposerV1::ListEnvironmentsResponse]
168
+ #
169
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
170
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
171
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
172
+ def list_project_location_environments(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
173
+ command = make_simple_command(:get, 'v1/{+parent}/environments', options)
174
+ command.response_representation = Google::Apis::ComposerV1::ListEnvironmentsResponse::Representation
175
+ command.response_class = Google::Apis::ComposerV1::ListEnvironmentsResponse
176
+ command.params['parent'] = parent unless parent.nil?
177
+ command.query['pageSize'] = page_size unless page_size.nil?
178
+ command.query['pageToken'] = page_token unless page_token.nil?
179
+ command.query['fields'] = fields unless fields.nil?
180
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
181
+ execute_or_queue_command(command, &block)
182
+ end
183
+
184
+ # Update an environment.
185
+ # @param [String] name
186
+ # The relative resource name of the environment to update, in the form: "
187
+ # projects/`projectId`/locations/`locationId`/environments/`environmentId`"
188
+ # @param [Google::Apis::ComposerV1::Environment] environment_object
189
+ # @param [String] update_mask
190
+ # Required. A comma-separated list of paths, relative to `Environment`, of
191
+ # fields to update. For example, to set the version of scikit-learn to install
192
+ # in the environment to 0.19.0 and to remove an existing installation of numpy,
193
+ # the `updateMask` parameter would include the following two `paths` values: "
194
+ # config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.
195
+ # pypiPackages.numpy". The included patch environment would specify the scikit-
196
+ # learn version as follows: ` "config":` "softwareConfig":` "pypiPackages":` "
197
+ # scikit-learn":"==0.19.0" ` ` ` ` Note that in the above example, any existing
198
+ # PyPI packages other than scikit-learn and numpy will be unaffected. Only one
199
+ # update type may be included in a single request's `updateMask`. For example,
200
+ # one cannot update both the PyPI packages and labels in the same request.
201
+ # However, it is possible to update multiple members of a map field
202
+ # simultaneously in the same request. For example, to set the labels "label1"
203
+ # and "label2" while clearing "label3" (assuming it already exists), one can
204
+ # provide the paths "labels.label1", "labels.label2", and "labels.label3" and
205
+ # populate the patch environment as follows: ` "labels":` "label1":"new-label1-
206
+ # value" "label2":"new-label2-value" ` ` Note that in the above example, any
207
+ # existing labels that are not included in the `updateMask` will be unaffected.
208
+ # It is also possible to replace an entire map field by providing the map field'
209
+ # s path in the `updateMask`. The new value of the field will be that which is
210
+ # provided in the patch environment. For example, to delete all pre-existing
211
+ # user-specified PyPI packages and install botocore at version 1.7.14, the `
212
+ # updateMask` would contain the path "config.softwareConfig.pypiPackages", and
213
+ # the patch environment would be the following: ` "config":` "softwareConfig":` "
214
+ # pypiPackages":` "botocore":"==1.7.14" ` ` ` ` **Note:** Only the following
215
+ # fields can be updated: *Mask* *Purpose* config.softwareConfig.pypiPackages
216
+ # Replace all custom custom PyPI packages. If a replacement package map is not
217
+ # included in `environment`, all custom PyPI packages are cleared. It is an
218
+ # error to provide both this mask and a mask specifying an individual package.
219
+ # config.softwareConfig.pypiPackages.packagename Update the custom PyPI package
220
+ # packagename, preserving other packages. To delete the package, include it in `
221
+ # updateMask`, and omit the mapping for it in `environment.config.softwareConfig.
222
+ # pypiPackages`. It is an error to provide both a mask of this form and the "
223
+ # config.softwareConfig.pypiPackages" mask. labels Replace all environment
224
+ # labels. If a replacement labels map is not included in `environment`, all
225
+ # labels are cleared. It is an error to provide both this mask and a mask
226
+ # specifying one or more individual labels. labels.labelName Set the label named
227
+ # labelName, while preserving other labels. To delete the label, include it in `
228
+ # updateMask` and omit its mapping in `environment.labels`. It is an error to
229
+ # provide both a mask of this form and the "labels" mask. config.nodeCount
230
+ # Horizontally scale the number of nodes in the environment. An integer greater
231
+ # than or equal to 3 must be provided in the `config.nodeCount` field. config.
232
+ # webServerNetworkAccessControl Replace the environment's current
233
+ # WebServerNetworkAccessControl. config.softwareConfig.airflowConfigOverrides
234
+ # Replace all Apache Airflow config overrides. If a replacement config overrides
235
+ # map is not included in `environment`, all config overrides are cleared. It is
236
+ # an error to provide both this mask and a mask specifying one or more
237
+ # individual config overrides. config.softwareConfig.airflowConfigOverrides.
238
+ # section-name Override the Apache Airflow config property name in the section
239
+ # named section, preserving other properties. To delete the property override,
240
+ # include it in `updateMask` and omit its mapping in `environment.config.
241
+ # softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask
242
+ # of this form and the "config.softwareConfig.airflowConfigOverrides" mask.
243
+ # config.softwareConfig.envVariables Replace all environment variables. If a
244
+ # replacement environment variable map is not included in `environment`, all
245
+ # custom environment variables are cleared. It is an error to provide both this
246
+ # mask and a mask specifying one or more individual environment variables.
247
+ # @param [String] fields
248
+ # Selector specifying which fields to include in a partial response.
249
+ # @param [String] quota_user
250
+ # Available to use for quota purposes for server-side applications. Can be any
251
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
252
+ # @param [Google::Apis::RequestOptions] options
253
+ # Request-specific options
254
+ #
255
+ # @yield [result, err] Result & error if block supplied
256
+ # @yieldparam result [Google::Apis::ComposerV1::Operation] parsed result object
257
+ # @yieldparam err [StandardError] error object if request failed
258
+ #
259
+ # @return [Google::Apis::ComposerV1::Operation]
260
+ #
261
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
262
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
263
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
264
+ def patch_project_location_environment(name, environment_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
265
+ command = make_simple_command(:patch, 'v1/{+name}', options)
266
+ command.request_representation = Google::Apis::ComposerV1::Environment::Representation
267
+ command.request_object = environment_object
268
+ command.response_representation = Google::Apis::ComposerV1::Operation::Representation
269
+ command.response_class = Google::Apis::ComposerV1::Operation
270
+ command.params['name'] = name unless name.nil?
271
+ command.query['updateMask'] = update_mask unless update_mask.nil?
272
+ command.query['fields'] = fields unless fields.nil?
273
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
274
+ execute_or_queue_command(command, &block)
275
+ end
276
+
277
+ # List ImageVersions for provided location.
278
+ # @param [String] parent
279
+ # List ImageVersions in the given project and location, in the form: "projects/`
280
+ # projectId`/locations/`locationId`"
281
+ # @param [Boolean] include_past_releases
282
+ # Whether or not image versions from old releases should be included.
283
+ # @param [Fixnum] page_size
284
+ # The maximum number of image_versions to return.
285
+ # @param [String] page_token
286
+ # The next_page_token value returned from a previous List request, if any.
287
+ # @param [String] fields
288
+ # Selector specifying which fields to include in a partial response.
289
+ # @param [String] quota_user
290
+ # Available to use for quota purposes for server-side applications. Can be any
291
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
292
+ # @param [Google::Apis::RequestOptions] options
293
+ # Request-specific options
294
+ #
295
+ # @yield [result, err] Result & error if block supplied
296
+ # @yieldparam result [Google::Apis::ComposerV1::ListImageVersionsResponse] parsed result object
297
+ # @yieldparam err [StandardError] error object if request failed
298
+ #
299
+ # @return [Google::Apis::ComposerV1::ListImageVersionsResponse]
300
+ #
301
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
302
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
303
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
304
+ def list_project_location_image_versions(parent, include_past_releases: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
305
+ command = make_simple_command(:get, 'v1/{+parent}/imageVersions', options)
306
+ command.response_representation = Google::Apis::ComposerV1::ListImageVersionsResponse::Representation
307
+ command.response_class = Google::Apis::ComposerV1::ListImageVersionsResponse
308
+ command.params['parent'] = parent unless parent.nil?
309
+ command.query['includePastReleases'] = include_past_releases unless include_past_releases.nil?
310
+ command.query['pageSize'] = page_size unless page_size.nil?
311
+ command.query['pageToken'] = page_token unless page_token.nil?
312
+ command.query['fields'] = fields unless fields.nil?
313
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
314
+ execute_or_queue_command(command, &block)
315
+ end
316
+
317
+ # Deletes a long-running operation. This method indicates that the client is no
318
+ # longer interested in the operation result. It does not cancel the operation.
319
+ # If the server doesn't support this method, it returns `google.rpc.Code.
320
+ # UNIMPLEMENTED`.
321
+ # @param [String] name
322
+ # The name of the operation resource to be deleted.
323
+ # @param [String] fields
324
+ # Selector specifying which fields to include in a partial response.
325
+ # @param [String] quota_user
326
+ # Available to use for quota purposes for server-side applications. Can be any
327
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
328
+ # @param [Google::Apis::RequestOptions] options
329
+ # Request-specific options
330
+ #
331
+ # @yield [result, err] Result & error if block supplied
332
+ # @yieldparam result [Google::Apis::ComposerV1::Empty] parsed result object
333
+ # @yieldparam err [StandardError] error object if request failed
334
+ #
335
+ # @return [Google::Apis::ComposerV1::Empty]
336
+ #
337
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
338
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
339
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
340
+ def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
341
+ command = make_simple_command(:delete, 'v1/{+name}', options)
342
+ command.response_representation = Google::Apis::ComposerV1::Empty::Representation
343
+ command.response_class = Google::Apis::ComposerV1::Empty
344
+ command.params['name'] = name unless name.nil?
345
+ command.query['fields'] = fields unless fields.nil?
346
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
347
+ execute_or_queue_command(command, &block)
348
+ end
349
+
350
+ # Gets the latest state of a long-running operation. Clients can use this method
351
+ # to poll the operation result at intervals as recommended by the API service.
352
+ # @param [String] name
353
+ # The name of the operation resource.
354
+ # @param [String] fields
355
+ # Selector specifying which fields to include in a partial response.
356
+ # @param [String] quota_user
357
+ # Available to use for quota purposes for server-side applications. Can be any
358
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
359
+ # @param [Google::Apis::RequestOptions] options
360
+ # Request-specific options
361
+ #
362
+ # @yield [result, err] Result & error if block supplied
363
+ # @yieldparam result [Google::Apis::ComposerV1::Operation] parsed result object
364
+ # @yieldparam err [StandardError] error object if request failed
365
+ #
366
+ # @return [Google::Apis::ComposerV1::Operation]
367
+ #
368
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
369
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
370
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
371
+ def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
372
+ command = make_simple_command(:get, 'v1/{+name}', options)
373
+ command.response_representation = Google::Apis::ComposerV1::Operation::Representation
374
+ command.response_class = Google::Apis::ComposerV1::Operation
375
+ command.params['name'] = name unless name.nil?
376
+ command.query['fields'] = fields unless fields.nil?
377
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
378
+ execute_or_queue_command(command, &block)
379
+ end
380
+
381
+ # Lists operations that match the specified filter in the request. If the server
382
+ # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name`
383
+ # binding allows API services to override the binding to use different resource
384
+ # name schemes, such as `users/*/operations`. To override the binding, API
385
+ # services can add a binding such as `"/v1/`name=users/*`/operations"` to their
386
+ # service configuration. For backwards compatibility, the default name includes
387
+ # the operations collection id, however overriding users must ensure the name
388
+ # binding is the parent resource, without the operations collection id.
389
+ # @param [String] name
390
+ # The name of the operation's parent resource.
391
+ # @param [String] filter
392
+ # The standard list filter.
393
+ # @param [Fixnum] page_size
394
+ # The standard list page size.
395
+ # @param [String] page_token
396
+ # The standard list page token.
397
+ # @param [String] fields
398
+ # Selector specifying which fields to include in a partial response.
399
+ # @param [String] quota_user
400
+ # Available to use for quota purposes for server-side applications. Can be any
401
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
402
+ # @param [Google::Apis::RequestOptions] options
403
+ # Request-specific options
404
+ #
405
+ # @yield [result, err] Result & error if block supplied
406
+ # @yieldparam result [Google::Apis::ComposerV1::ListOperationsResponse] parsed result object
407
+ # @yieldparam err [StandardError] error object if request failed
408
+ #
409
+ # @return [Google::Apis::ComposerV1::ListOperationsResponse]
410
+ #
411
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
412
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
413
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
414
+ def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
415
+ command = make_simple_command(:get, 'v1/{+name}/operations', options)
416
+ command.response_representation = Google::Apis::ComposerV1::ListOperationsResponse::Representation
417
+ command.response_class = Google::Apis::ComposerV1::ListOperationsResponse
418
+ command.params['name'] = name unless name.nil?
419
+ command.query['filter'] = filter unless filter.nil?
420
+ command.query['pageSize'] = page_size unless page_size.nil?
421
+ command.query['pageToken'] = page_token unless page_token.nil?
422
+ command.query['fields'] = fields unless fields.nil?
423
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
424
+ execute_or_queue_command(command, &block)
425
+ end
426
+
427
+ protected
428
+
429
+ def apply_command_defaults(command)
430
+ command.query['key'] = key unless key.nil?
431
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
432
+ end
433
+ end
434
+ end
435
+ end
436
+ end