google-apis-datamigration_v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1174 @@
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 DatamigrationV1beta1
23
+ # Database Migration API
24
+ #
25
+ # Manage Cloud Database Migration Service resources on Google Cloud Platform.
26
+ #
27
+ # @example
28
+ # require 'google/apis/datamigration_v1beta1'
29
+ #
30
+ # Datamigration = Google::Apis::DatamigrationV1beta1 # Alias the module
31
+ # service = Datamigration::DatabaseMigrationServiceService.new
32
+ #
33
+ # @see https://cloud.google.com/database-migration/
34
+ class DatabaseMigrationServiceService < 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://datamigration.googleapis.com/', '',
47
+ client_name: 'google-apis-datamigration_v1beta1',
48
+ client_version: Google::Apis::DatamigrationV1beta1::GEM_VERSION)
49
+ @batch_path = 'batch'
50
+ end
51
+
52
+ # Gets information about a location.
53
+ # @param [String] name
54
+ # Resource name for the location.
55
+ # @param [String] fields
56
+ # Selector specifying which fields to include in a partial response.
57
+ # @param [String] quota_user
58
+ # Available to use for quota purposes for server-side applications. Can be any
59
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
60
+ # @param [Google::Apis::RequestOptions] options
61
+ # Request-specific options
62
+ #
63
+ # @yield [result, err] Result & error if block supplied
64
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Location] parsed result object
65
+ # @yieldparam err [StandardError] error object if request failed
66
+ #
67
+ # @return [Google::Apis::DatamigrationV1beta1::Location]
68
+ #
69
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
70
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
71
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
72
+ def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block)
73
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
74
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Location::Representation
75
+ command.response_class = Google::Apis::DatamigrationV1beta1::Location
76
+ command.params['name'] = name unless name.nil?
77
+ command.query['fields'] = fields unless fields.nil?
78
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
79
+ execute_or_queue_command(command, &block)
80
+ end
81
+
82
+ # Lists information about the supported locations for this service.
83
+ # @param [String] name
84
+ # The resource that owns the locations collection, if applicable.
85
+ # @param [String] filter
86
+ # The standard list filter.
87
+ # @param [Fixnum] page_size
88
+ # The standard list page size.
89
+ # @param [String] page_token
90
+ # The standard list page token.
91
+ # @param [String] fields
92
+ # Selector specifying which fields to include in a partial response.
93
+ # @param [String] quota_user
94
+ # Available to use for quota purposes for server-side applications. Can be any
95
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
96
+ # @param [Google::Apis::RequestOptions] options
97
+ # Request-specific options
98
+ #
99
+ # @yield [result, err] Result & error if block supplied
100
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListLocationsResponse] parsed result object
101
+ # @yieldparam err [StandardError] error object if request failed
102
+ #
103
+ # @return [Google::Apis::DatamigrationV1beta1::ListLocationsResponse]
104
+ #
105
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
106
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
107
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
108
+ def list_project_locations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
109
+ command = make_simple_command(:get, 'v1beta1/{+name}/locations', options)
110
+ command.response_representation = Google::Apis::DatamigrationV1beta1::ListLocationsResponse::Representation
111
+ command.response_class = Google::Apis::DatamigrationV1beta1::ListLocationsResponse
112
+ command.params['name'] = name unless name.nil?
113
+ command.query['filter'] = filter unless filter.nil?
114
+ command.query['pageSize'] = page_size unless page_size.nil?
115
+ command.query['pageToken'] = page_token unless page_token.nil?
116
+ command.query['fields'] = fields unless fields.nil?
117
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
118
+ execute_or_queue_command(command, &block)
119
+ end
120
+
121
+ # Creates a new connection profile in a given project and location.
122
+ # @param [String] parent
123
+ # Required. The parent, which owns this collection of connection profiles.
124
+ # @param [Google::Apis::DatamigrationV1beta1::ConnectionProfile] connection_profile_object
125
+ # @param [String] connection_profile_id
126
+ # Required. The connection profile identifier.
127
+ # @param [String] request_id
128
+ # A unique id used to identify the request. If the server receives two requests
129
+ # with the same id, then the second request will be ignored. It is recommended
130
+ # to always set this value to a UUID. The id must contain only letters (a-z, A-Z)
131
+ # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
132
+ # characters.
133
+ # @param [String] fields
134
+ # Selector specifying which fields to include in a partial response.
135
+ # @param [String] quota_user
136
+ # Available to use for quota purposes for server-side applications. Can be any
137
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
138
+ # @param [Google::Apis::RequestOptions] options
139
+ # Request-specific options
140
+ #
141
+ # @yield [result, err] Result & error if block supplied
142
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
143
+ # @yieldparam err [StandardError] error object if request failed
144
+ #
145
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
146
+ #
147
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
148
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
149
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
150
+ def create_project_location_connection_profile(parent, connection_profile_object = nil, connection_profile_id: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block)
151
+ command = make_simple_command(:post, 'v1beta1/{+parent}/connectionProfiles', options)
152
+ command.request_representation = Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation
153
+ command.request_object = connection_profile_object
154
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
155
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
156
+ command.params['parent'] = parent unless parent.nil?
157
+ command.query['connectionProfileId'] = connection_profile_id unless connection_profile_id.nil?
158
+ command.query['requestId'] = request_id unless request_id.nil?
159
+ command.query['fields'] = fields unless fields.nil?
160
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
161
+ execute_or_queue_command(command, &block)
162
+ end
163
+
164
+ # Deletes a single Database Migration Service connection profile. A connection
165
+ # profile can only be deleted if it is not in use by any active migration jobs.
166
+ # @param [String] name
167
+ # Required. Name of the connection profile resource to delete.
168
+ # @param [Boolean] force
169
+ # In case of force delete, the CloudSQL replica database is also deleted (only
170
+ # for CloudSQL connection profile).
171
+ # @param [String] request_id
172
+ # A unique id used to identify the request. If the server receives two requests
173
+ # with the same id, then the second request will be ignored. It is recommended
174
+ # to always set this value to a UUID. The id must contain only letters (a-z, A-Z)
175
+ # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
176
+ # characters.
177
+ # @param [String] fields
178
+ # Selector specifying which fields to include in a partial response.
179
+ # @param [String] quota_user
180
+ # Available to use for quota purposes for server-side applications. Can be any
181
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
182
+ # @param [Google::Apis::RequestOptions] options
183
+ # Request-specific options
184
+ #
185
+ # @yield [result, err] Result & error if block supplied
186
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
187
+ # @yieldparam err [StandardError] error object if request failed
188
+ #
189
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
190
+ #
191
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
192
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
193
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
194
+ def delete_project_location_connection_profile(name, force: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block)
195
+ command = make_simple_command(:delete, 'v1beta1/{+name}', options)
196
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
197
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
198
+ command.params['name'] = name unless name.nil?
199
+ command.query['force'] = force unless force.nil?
200
+ command.query['requestId'] = request_id unless request_id.nil?
201
+ command.query['fields'] = fields unless fields.nil?
202
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
203
+ execute_or_queue_command(command, &block)
204
+ end
205
+
206
+ # Gets details of a single connection profile.
207
+ # @param [String] name
208
+ # Required. Name of the connection profile resource to get.
209
+ # @param [String] fields
210
+ # Selector specifying which fields to include in a partial response.
211
+ # @param [String] quota_user
212
+ # Available to use for quota purposes for server-side applications. Can be any
213
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
214
+ # @param [Google::Apis::RequestOptions] options
215
+ # Request-specific options
216
+ #
217
+ # @yield [result, err] Result & error if block supplied
218
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::ConnectionProfile] parsed result object
219
+ # @yieldparam err [StandardError] error object if request failed
220
+ #
221
+ # @return [Google::Apis::DatamigrationV1beta1::ConnectionProfile]
222
+ #
223
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
224
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
225
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
226
+ def get_project_location_connection_profile(name, fields: nil, quota_user: nil, options: nil, &block)
227
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
228
+ command.response_representation = Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation
229
+ command.response_class = Google::Apis::DatamigrationV1beta1::ConnectionProfile
230
+ command.params['name'] = name unless name.nil?
231
+ command.query['fields'] = fields unless fields.nil?
232
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
233
+ execute_or_queue_command(command, &block)
234
+ end
235
+
236
+ # Gets the access control policy for a resource. Returns an empty policy if the
237
+ # resource exists and does not have a policy set.
238
+ # @param [String] resource
239
+ # REQUIRED: The resource for which the policy is being requested. See the
240
+ # operation documentation for the appropriate value for this field.
241
+ # @param [Fixnum] options_requested_policy_version
242
+ # Optional. The policy format version to be returned. Valid values are 0, 1, and
243
+ # 3. Requests specifying an invalid value will be rejected. Requests for
244
+ # policies with any conditional bindings must specify version 3. Policies
245
+ # without any conditional bindings may specify any valid value or leave the
246
+ # field unset. To learn which resources support conditions in their IAM policies,
247
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
248
+ # resource-policies).
249
+ # @param [String] fields
250
+ # Selector specifying which fields to include in a partial response.
251
+ # @param [String] quota_user
252
+ # Available to use for quota purposes for server-side applications. Can be any
253
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
254
+ # @param [Google::Apis::RequestOptions] options
255
+ # Request-specific options
256
+ #
257
+ # @yield [result, err] Result & error if block supplied
258
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object
259
+ # @yieldparam err [StandardError] error object if request failed
260
+ #
261
+ # @return [Google::Apis::DatamigrationV1beta1::Policy]
262
+ #
263
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
264
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
265
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
266
+ def get_project_location_connection_profile_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
267
+ command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options)
268
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation
269
+ command.response_class = Google::Apis::DatamigrationV1beta1::Policy
270
+ command.params['resource'] = resource unless resource.nil?
271
+ command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.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
+ # Retrieve a list of all connection profiles in a given project and location.
278
+ # @param [String] parent
279
+ # Required. The parent, which owns this collection of connection profiles.
280
+ # @param [String] filter
281
+ # A filter expression that filters connection profiles listed in the response.
282
+ # The expression must specify the field name, a comparison operator, and the
283
+ # value that you want to use for filtering. The value must be a string, a number,
284
+ # or a boolean. The comparison operator must be either =, !=, >, or <. For
285
+ # example, list connection profiles created this year by specifying **createTime
286
+ # %gt; 2020-01-01T00:00:00.000000000Z**. You can also filter nested fields. For
287
+ # example, you could specify **mySql.username = %lt;my_username%gt;** to list
288
+ # all connection profiles configured to connect with a specific username.
289
+ # @param [String] order_by
290
+ # the order by fields for the result.
291
+ # @param [Fixnum] page_size
292
+ # The maximum number of connection profiles to return. The service may return
293
+ # fewer than this value. If unspecified, at most 50 connection profiles will be
294
+ # returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
295
+ # @param [String] page_token
296
+ # A page token, received from a previous `ListConnectionProfiles` call. Provide
297
+ # this to retrieve the subsequent page. When paginating, all other parameters
298
+ # provided to `ListConnectionProfiles` must match the call that provided the
299
+ # page token.
300
+ # @param [String] fields
301
+ # Selector specifying which fields to include in a partial response.
302
+ # @param [String] quota_user
303
+ # Available to use for quota purposes for server-side applications. Can be any
304
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
305
+ # @param [Google::Apis::RequestOptions] options
306
+ # Request-specific options
307
+ #
308
+ # @yield [result, err] Result & error if block supplied
309
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse] parsed result object
310
+ # @yieldparam err [StandardError] error object if request failed
311
+ #
312
+ # @return [Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse]
313
+ #
314
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
315
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
316
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
317
+ def list_project_location_connection_profiles(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
318
+ command = make_simple_command(:get, 'v1beta1/{+parent}/connectionProfiles', options)
319
+ command.response_representation = Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse::Representation
320
+ command.response_class = Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse
321
+ command.params['parent'] = parent unless parent.nil?
322
+ command.query['filter'] = filter unless filter.nil?
323
+ command.query['orderBy'] = order_by unless order_by.nil?
324
+ command.query['pageSize'] = page_size unless page_size.nil?
325
+ command.query['pageToken'] = page_token unless page_token.nil?
326
+ command.query['fields'] = fields unless fields.nil?
327
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
328
+ execute_or_queue_command(command, &block)
329
+ end
330
+
331
+ # Update the configuration of a single connection profile.
332
+ # @param [String] name
333
+ # The name of this connection profile resource in the form of projects/`project`/
334
+ # locations/`location`/instances/`instance`.
335
+ # @param [Google::Apis::DatamigrationV1beta1::ConnectionProfile] connection_profile_object
336
+ # @param [String] request_id
337
+ # A unique id used to identify the request. If the server receives two requests
338
+ # with the same id, then the second request will be ignored. It is recommended
339
+ # to always set this value to a UUID. The id must contain only letters (a-z, A-Z)
340
+ # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
341
+ # characters.
342
+ # @param [String] update_mask
343
+ # Required. Field mask is used to specify the fields to be overwritten in the
344
+ # connection profile resource by the update.
345
+ # @param [String] fields
346
+ # Selector specifying which fields to include in a partial response.
347
+ # @param [String] quota_user
348
+ # Available to use for quota purposes for server-side applications. Can be any
349
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
350
+ # @param [Google::Apis::RequestOptions] options
351
+ # Request-specific options
352
+ #
353
+ # @yield [result, err] Result & error if block supplied
354
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
355
+ # @yieldparam err [StandardError] error object if request failed
356
+ #
357
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
358
+ #
359
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
360
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
361
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
362
+ def patch_project_location_connection_profile(name, connection_profile_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
363
+ command = make_simple_command(:patch, 'v1beta1/{+name}', options)
364
+ command.request_representation = Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation
365
+ command.request_object = connection_profile_object
366
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
367
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
368
+ command.params['name'] = name unless name.nil?
369
+ command.query['requestId'] = request_id unless request_id.nil?
370
+ command.query['updateMask'] = update_mask unless update_mask.nil?
371
+ command.query['fields'] = fields unless fields.nil?
372
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
373
+ execute_or_queue_command(command, &block)
374
+ end
375
+
376
+ # Sets the access control policy on the specified resource. Replaces any
377
+ # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
378
+ # PERMISSION_DENIED` errors.
379
+ # @param [String] resource
380
+ # REQUIRED: The resource for which the policy is being specified. See the
381
+ # operation documentation for the appropriate value for this field.
382
+ # @param [Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest] set_iam_policy_request_object
383
+ # @param [String] fields
384
+ # Selector specifying which fields to include in a partial response.
385
+ # @param [String] quota_user
386
+ # Available to use for quota purposes for server-side applications. Can be any
387
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
388
+ # @param [Google::Apis::RequestOptions] options
389
+ # Request-specific options
390
+ #
391
+ # @yield [result, err] Result & error if block supplied
392
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object
393
+ # @yieldparam err [StandardError] error object if request failed
394
+ #
395
+ # @return [Google::Apis::DatamigrationV1beta1::Policy]
396
+ #
397
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
398
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
399
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
400
+ def set_connection_profile_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
401
+ command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options)
402
+ command.request_representation = Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest::Representation
403
+ command.request_object = set_iam_policy_request_object
404
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation
405
+ command.response_class = Google::Apis::DatamigrationV1beta1::Policy
406
+ command.params['resource'] = resource unless resource.nil?
407
+ command.query['fields'] = fields unless fields.nil?
408
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
409
+ execute_or_queue_command(command, &block)
410
+ end
411
+
412
+ # Returns permissions that a caller has on the specified resource. If the
413
+ # resource does not exist, this will return an empty set of permissions, not a `
414
+ # NOT_FOUND` error. Note: This operation is designed to be used for building
415
+ # permission-aware UIs and command-line tools, not for authorization checking.
416
+ # This operation may "fail open" without warning.
417
+ # @param [String] resource
418
+ # REQUIRED: The resource for which the policy detail is being requested. See the
419
+ # operation documentation for the appropriate value for this field.
420
+ # @param [Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest] test_iam_permissions_request_object
421
+ # @param [String] fields
422
+ # Selector specifying which fields to include in a partial response.
423
+ # @param [String] quota_user
424
+ # Available to use for quota purposes for server-side applications. Can be any
425
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
426
+ # @param [Google::Apis::RequestOptions] options
427
+ # Request-specific options
428
+ #
429
+ # @yield [result, err] Result & error if block supplied
430
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse] parsed result object
431
+ # @yieldparam err [StandardError] error object if request failed
432
+ #
433
+ # @return [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse]
434
+ #
435
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
436
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
437
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
438
+ def test_connection_profile_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
439
+ command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options)
440
+ command.request_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest::Representation
441
+ command.request_object = test_iam_permissions_request_object
442
+ command.response_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse::Representation
443
+ command.response_class = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse
444
+ command.params['resource'] = resource unless resource.nil?
445
+ command.query['fields'] = fields unless fields.nil?
446
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
447
+ execute_or_queue_command(command, &block)
448
+ end
449
+
450
+ # Creates a new migration job in a given project and location.
451
+ # @param [String] parent
452
+ # Required. The parent, which owns this collection of migration jobs.
453
+ # @param [Google::Apis::DatamigrationV1beta1::MigrationJob] migration_job_object
454
+ # @param [String] migration_job_id
455
+ # Required. The ID of the instance to create.
456
+ # @param [String] request_id
457
+ # A unique id used to identify the request. If the server receives two requests
458
+ # with the same id, then the second request will be ignored. It is recommended
459
+ # to always set this value to a UUID. The id must contain only letters (a-z, A-Z)
460
+ # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
461
+ # characters.
462
+ # @param [String] fields
463
+ # Selector specifying which fields to include in a partial response.
464
+ # @param [String] quota_user
465
+ # Available to use for quota purposes for server-side applications. Can be any
466
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
467
+ # @param [Google::Apis::RequestOptions] options
468
+ # Request-specific options
469
+ #
470
+ # @yield [result, err] Result & error if block supplied
471
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
472
+ # @yieldparam err [StandardError] error object if request failed
473
+ #
474
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
475
+ #
476
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
477
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
478
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
479
+ def create_project_location_migration_job(parent, migration_job_object = nil, migration_job_id: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block)
480
+ command = make_simple_command(:post, 'v1beta1/{+parent}/migrationJobs', options)
481
+ command.request_representation = Google::Apis::DatamigrationV1beta1::MigrationJob::Representation
482
+ command.request_object = migration_job_object
483
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
484
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
485
+ command.params['parent'] = parent unless parent.nil?
486
+ command.query['migrationJobId'] = migration_job_id unless migration_job_id.nil?
487
+ command.query['requestId'] = request_id unless request_id.nil?
488
+ command.query['fields'] = fields unless fields.nil?
489
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
490
+ execute_or_queue_command(command, &block)
491
+ end
492
+
493
+ # Deletes a single migration job.
494
+ # @param [String] name
495
+ # Required. Name of the migration job resource to delete.
496
+ # @param [Boolean] force
497
+ # The destination CloudSQL connection profile is always deleted with the
498
+ # migration job. In case of force delete, the destination CloudSQL replica
499
+ # database is also deleted.
500
+ # @param [String] request_id
501
+ # A unique id used to identify the request. If the server receives two requests
502
+ # with the same id, then the second request will be ignored. It is recommended
503
+ # to always set this value to a UUID. The id must contain only letters (a-z, A-Z)
504
+ # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
505
+ # characters.
506
+ # @param [String] fields
507
+ # Selector specifying which fields to include in a partial response.
508
+ # @param [String] quota_user
509
+ # Available to use for quota purposes for server-side applications. Can be any
510
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
511
+ # @param [Google::Apis::RequestOptions] options
512
+ # Request-specific options
513
+ #
514
+ # @yield [result, err] Result & error if block supplied
515
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
516
+ # @yieldparam err [StandardError] error object if request failed
517
+ #
518
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
519
+ #
520
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
521
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
522
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
523
+ def delete_project_location_migration_job(name, force: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block)
524
+ command = make_simple_command(:delete, 'v1beta1/{+name}', options)
525
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
526
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
527
+ command.params['name'] = name unless name.nil?
528
+ command.query['force'] = force unless force.nil?
529
+ command.query['requestId'] = request_id unless request_id.nil?
530
+ command.query['fields'] = fields unless fields.nil?
531
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
532
+ execute_or_queue_command(command, &block)
533
+ end
534
+
535
+ # Generate a SSH configuration script to configure the reverse SSH connectivity.
536
+ # @param [String] migration_job
537
+ # Name of the migration job resource to generate the SSH script.
538
+ # @param [Google::Apis::DatamigrationV1beta1::GenerateSshScriptRequest] generate_ssh_script_request_object
539
+ # @param [String] fields
540
+ # Selector specifying which fields to include in a partial response.
541
+ # @param [String] quota_user
542
+ # Available to use for quota purposes for server-side applications. Can be any
543
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
544
+ # @param [Google::Apis::RequestOptions] options
545
+ # Request-specific options
546
+ #
547
+ # @yield [result, err] Result & error if block supplied
548
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::SshScript] parsed result object
549
+ # @yieldparam err [StandardError] error object if request failed
550
+ #
551
+ # @return [Google::Apis::DatamigrationV1beta1::SshScript]
552
+ #
553
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
554
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
555
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
556
+ def generate_migration_job_ssh_script(migration_job, generate_ssh_script_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
557
+ command = make_simple_command(:post, 'v1beta1/{+migrationJob}:generateSshScript', options)
558
+ command.request_representation = Google::Apis::DatamigrationV1beta1::GenerateSshScriptRequest::Representation
559
+ command.request_object = generate_ssh_script_request_object
560
+ command.response_representation = Google::Apis::DatamigrationV1beta1::SshScript::Representation
561
+ command.response_class = Google::Apis::DatamigrationV1beta1::SshScript
562
+ command.params['migrationJob'] = migration_job unless migration_job.nil?
563
+ command.query['fields'] = fields unless fields.nil?
564
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
565
+ execute_or_queue_command(command, &block)
566
+ end
567
+
568
+ # Gets details of a single migration job.
569
+ # @param [String] name
570
+ # Required. Name of the migration job resource to get.
571
+ # @param [String] fields
572
+ # Selector specifying which fields to include in a partial response.
573
+ # @param [String] quota_user
574
+ # Available to use for quota purposes for server-side applications. Can be any
575
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
576
+ # @param [Google::Apis::RequestOptions] options
577
+ # Request-specific options
578
+ #
579
+ # @yield [result, err] Result & error if block supplied
580
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::MigrationJob] parsed result object
581
+ # @yieldparam err [StandardError] error object if request failed
582
+ #
583
+ # @return [Google::Apis::DatamigrationV1beta1::MigrationJob]
584
+ #
585
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
586
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
587
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
588
+ def get_project_location_migration_job(name, fields: nil, quota_user: nil, options: nil, &block)
589
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
590
+ command.response_representation = Google::Apis::DatamigrationV1beta1::MigrationJob::Representation
591
+ command.response_class = Google::Apis::DatamigrationV1beta1::MigrationJob
592
+ command.params['name'] = name unless name.nil?
593
+ command.query['fields'] = fields unless fields.nil?
594
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
595
+ execute_or_queue_command(command, &block)
596
+ end
597
+
598
+ # Gets the access control policy for a resource. Returns an empty policy if the
599
+ # resource exists and does not have a policy set.
600
+ # @param [String] resource
601
+ # REQUIRED: The resource for which the policy is being requested. See the
602
+ # operation documentation for the appropriate value for this field.
603
+ # @param [Fixnum] options_requested_policy_version
604
+ # Optional. The policy format version to be returned. Valid values are 0, 1, and
605
+ # 3. Requests specifying an invalid value will be rejected. Requests for
606
+ # policies with any conditional bindings must specify version 3. Policies
607
+ # without any conditional bindings may specify any valid value or leave the
608
+ # field unset. To learn which resources support conditions in their IAM policies,
609
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
610
+ # resource-policies).
611
+ # @param [String] fields
612
+ # Selector specifying which fields to include in a partial response.
613
+ # @param [String] quota_user
614
+ # Available to use for quota purposes for server-side applications. Can be any
615
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
616
+ # @param [Google::Apis::RequestOptions] options
617
+ # Request-specific options
618
+ #
619
+ # @yield [result, err] Result & error if block supplied
620
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object
621
+ # @yieldparam err [StandardError] error object if request failed
622
+ #
623
+ # @return [Google::Apis::DatamigrationV1beta1::Policy]
624
+ #
625
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
626
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
627
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
628
+ def get_project_location_migration_job_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
629
+ command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options)
630
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation
631
+ command.response_class = Google::Apis::DatamigrationV1beta1::Policy
632
+ command.params['resource'] = resource unless resource.nil?
633
+ command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
634
+ command.query['fields'] = fields unless fields.nil?
635
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
636
+ execute_or_queue_command(command, &block)
637
+ end
638
+
639
+ # Lists migration jobs in a given project and location.
640
+ # @param [String] parent
641
+ # Required. The parent, which owns this collection of migrationJobs.
642
+ # @param [String] filter
643
+ # A filter expression that filters migration jobs listed in the response. The
644
+ # expression must specify the field name, a comparison operator, and the value
645
+ # that you want to use for filtering. The value must be a string, a number, or a
646
+ # boolean. The comparison operator must be either =, !=, >, or <. For example,
647
+ # list migration jobs created this year by specifying **createTime %gt; 2020-01-
648
+ # 01T00:00:00.000000000Z.** You can also filter nested fields. For example, you
649
+ # could specify **reverseSshConnectivity.vmIp = "1.2.3.4"** to select all
650
+ # migration jobs connecting through the specific SSH tunnel bastion.
651
+ # @param [String] order_by
652
+ # Sort the results based on the migration job name. Valid values are: "name", "
653
+ # name asc", and "name desc".
654
+ # @param [Fixnum] page_size
655
+ # The maximum number of migration jobs to return. The service may return fewer
656
+ # than this value. If unspecified, at most 50 migration jobs will be returned.
657
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
658
+ # @param [String] page_token
659
+ # The nextPageToken value received in the previous call to migrationJobs.list,
660
+ # used in the subsequent request to retrieve the next page of results. On first
661
+ # call this should be left blank. When paginating, all other parameters provided
662
+ # to migrationJobs.list must match the call that provided the page token.
663
+ # @param [String] fields
664
+ # Selector specifying which fields to include in a partial response.
665
+ # @param [String] quota_user
666
+ # Available to use for quota purposes for server-side applications. Can be any
667
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
668
+ # @param [Google::Apis::RequestOptions] options
669
+ # Request-specific options
670
+ #
671
+ # @yield [result, err] Result & error if block supplied
672
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse] parsed result object
673
+ # @yieldparam err [StandardError] error object if request failed
674
+ #
675
+ # @return [Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse]
676
+ #
677
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
678
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
679
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
680
+ def list_project_location_migration_jobs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
681
+ command = make_simple_command(:get, 'v1beta1/{+parent}/migrationJobs', options)
682
+ command.response_representation = Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse::Representation
683
+ command.response_class = Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse
684
+ command.params['parent'] = parent unless parent.nil?
685
+ command.query['filter'] = filter unless filter.nil?
686
+ command.query['orderBy'] = order_by unless order_by.nil?
687
+ command.query['pageSize'] = page_size unless page_size.nil?
688
+ command.query['pageToken'] = page_token unless page_token.nil?
689
+ command.query['fields'] = fields unless fields.nil?
690
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
691
+ execute_or_queue_command(command, &block)
692
+ end
693
+
694
+ # Updates the parameters of a single migration job.
695
+ # @param [String] name
696
+ # The name (URI) of this migration job resource, in the form of: projects/`
697
+ # project`/locations/`location`/instances/`instance`.
698
+ # @param [Google::Apis::DatamigrationV1beta1::MigrationJob] migration_job_object
699
+ # @param [String] request_id
700
+ # A unique id used to identify the request. If the server receives two requests
701
+ # with the same id, then the second request will be ignored. It is recommended
702
+ # to always set this value to a UUID. The id must contain only letters (a-z, A-Z)
703
+ # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40
704
+ # characters.
705
+ # @param [String] update_mask
706
+ # Required. Field mask is used to specify the fields to be overwritten in the
707
+ # migration job resource by the update.
708
+ # @param [String] fields
709
+ # Selector specifying which fields to include in a partial response.
710
+ # @param [String] quota_user
711
+ # Available to use for quota purposes for server-side applications. Can be any
712
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
713
+ # @param [Google::Apis::RequestOptions] options
714
+ # Request-specific options
715
+ #
716
+ # @yield [result, err] Result & error if block supplied
717
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
718
+ # @yieldparam err [StandardError] error object if request failed
719
+ #
720
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
721
+ #
722
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
723
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
724
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
725
+ def patch_project_location_migration_job(name, migration_job_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
726
+ command = make_simple_command(:patch, 'v1beta1/{+name}', options)
727
+ command.request_representation = Google::Apis::DatamigrationV1beta1::MigrationJob::Representation
728
+ command.request_object = migration_job_object
729
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
730
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
731
+ command.params['name'] = name unless name.nil?
732
+ command.query['requestId'] = request_id unless request_id.nil?
733
+ command.query['updateMask'] = update_mask unless update_mask.nil?
734
+ command.query['fields'] = fields unless fields.nil?
735
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
736
+ execute_or_queue_command(command, &block)
737
+ end
738
+
739
+ # Promote a migration job, stopping replication to the destination and promoting
740
+ # the destination to be a standalone database.
741
+ # @param [String] name
742
+ # Name of the migration job resource to promote.
743
+ # @param [Google::Apis::DatamigrationV1beta1::PromoteMigrationJobRequest] promote_migration_job_request_object
744
+ # @param [String] fields
745
+ # Selector specifying which fields to include in a partial response.
746
+ # @param [String] quota_user
747
+ # Available to use for quota purposes for server-side applications. Can be any
748
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
749
+ # @param [Google::Apis::RequestOptions] options
750
+ # Request-specific options
751
+ #
752
+ # @yield [result, err] Result & error if block supplied
753
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
754
+ # @yieldparam err [StandardError] error object if request failed
755
+ #
756
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
757
+ #
758
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
759
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
760
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
761
+ def promote_migration_job(name, promote_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
762
+ command = make_simple_command(:post, 'v1beta1/{+name}:promote', options)
763
+ command.request_representation = Google::Apis::DatamigrationV1beta1::PromoteMigrationJobRequest::Representation
764
+ command.request_object = promote_migration_job_request_object
765
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
766
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
767
+ command.params['name'] = name unless name.nil?
768
+ command.query['fields'] = fields unless fields.nil?
769
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
770
+ execute_or_queue_command(command, &block)
771
+ end
772
+
773
+ # Restart a stopped or failed migration job, resetting the destination instance
774
+ # to its original state and starting the migration process from scratch.
775
+ # @param [String] name
776
+ # Name of the migration job resource to restart.
777
+ # @param [Google::Apis::DatamigrationV1beta1::RestartMigrationJobRequest] restart_migration_job_request_object
778
+ # @param [String] fields
779
+ # Selector specifying which fields to include in a partial response.
780
+ # @param [String] quota_user
781
+ # Available to use for quota purposes for server-side applications. Can be any
782
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
783
+ # @param [Google::Apis::RequestOptions] options
784
+ # Request-specific options
785
+ #
786
+ # @yield [result, err] Result & error if block supplied
787
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
788
+ # @yieldparam err [StandardError] error object if request failed
789
+ #
790
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
791
+ #
792
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
793
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
794
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
795
+ def restart_migration_job(name, restart_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
796
+ command = make_simple_command(:post, 'v1beta1/{+name}:restart', options)
797
+ command.request_representation = Google::Apis::DatamigrationV1beta1::RestartMigrationJobRequest::Representation
798
+ command.request_object = restart_migration_job_request_object
799
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
800
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
801
+ command.params['name'] = name unless name.nil?
802
+ command.query['fields'] = fields unless fields.nil?
803
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
804
+ execute_or_queue_command(command, &block)
805
+ end
806
+
807
+ # Resume a migration job that is currently stopped and is resumable (was stopped
808
+ # during CDC phase).
809
+ # @param [String] name
810
+ # Name of the migration job resource to resume.
811
+ # @param [Google::Apis::DatamigrationV1beta1::ResumeMigrationJobRequest] resume_migration_job_request_object
812
+ # @param [String] fields
813
+ # Selector specifying which fields to include in a partial response.
814
+ # @param [String] quota_user
815
+ # Available to use for quota purposes for server-side applications. Can be any
816
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
817
+ # @param [Google::Apis::RequestOptions] options
818
+ # Request-specific options
819
+ #
820
+ # @yield [result, err] Result & error if block supplied
821
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
822
+ # @yieldparam err [StandardError] error object if request failed
823
+ #
824
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
825
+ #
826
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
827
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
828
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
829
+ def resume_migration_job(name, resume_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
830
+ command = make_simple_command(:post, 'v1beta1/{+name}:resume', options)
831
+ command.request_representation = Google::Apis::DatamigrationV1beta1::ResumeMigrationJobRequest::Representation
832
+ command.request_object = resume_migration_job_request_object
833
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
834
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
835
+ command.params['name'] = name unless name.nil?
836
+ command.query['fields'] = fields unless fields.nil?
837
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
838
+ execute_or_queue_command(command, &block)
839
+ end
840
+
841
+ # Sets the access control policy on the specified resource. Replaces any
842
+ # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
843
+ # PERMISSION_DENIED` errors.
844
+ # @param [String] resource
845
+ # REQUIRED: The resource for which the policy is being specified. See the
846
+ # operation documentation for the appropriate value for this field.
847
+ # @param [Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest] set_iam_policy_request_object
848
+ # @param [String] fields
849
+ # Selector specifying which fields to include in a partial response.
850
+ # @param [String] quota_user
851
+ # Available to use for quota purposes for server-side applications. Can be any
852
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
853
+ # @param [Google::Apis::RequestOptions] options
854
+ # Request-specific options
855
+ #
856
+ # @yield [result, err] Result & error if block supplied
857
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object
858
+ # @yieldparam err [StandardError] error object if request failed
859
+ #
860
+ # @return [Google::Apis::DatamigrationV1beta1::Policy]
861
+ #
862
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
863
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
864
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
865
+ def set_migration_job_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
866
+ command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options)
867
+ command.request_representation = Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest::Representation
868
+ command.request_object = set_iam_policy_request_object
869
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation
870
+ command.response_class = Google::Apis::DatamigrationV1beta1::Policy
871
+ command.params['resource'] = resource unless resource.nil?
872
+ command.query['fields'] = fields unless fields.nil?
873
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
874
+ execute_or_queue_command(command, &block)
875
+ end
876
+
877
+ # Start an already created migration job.
878
+ # @param [String] name
879
+ # Name of the migration job resource to start.
880
+ # @param [Google::Apis::DatamigrationV1beta1::StartMigrationJobRequest] start_migration_job_request_object
881
+ # @param [String] fields
882
+ # Selector specifying which fields to include in a partial response.
883
+ # @param [String] quota_user
884
+ # Available to use for quota purposes for server-side applications. Can be any
885
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
886
+ # @param [Google::Apis::RequestOptions] options
887
+ # Request-specific options
888
+ #
889
+ # @yield [result, err] Result & error if block supplied
890
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
891
+ # @yieldparam err [StandardError] error object if request failed
892
+ #
893
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
894
+ #
895
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
896
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
897
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
898
+ def start_migration_job(name, start_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
899
+ command = make_simple_command(:post, 'v1beta1/{+name}:start', options)
900
+ command.request_representation = Google::Apis::DatamigrationV1beta1::StartMigrationJobRequest::Representation
901
+ command.request_object = start_migration_job_request_object
902
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
903
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
904
+ command.params['name'] = name unless name.nil?
905
+ command.query['fields'] = fields unless fields.nil?
906
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
907
+ execute_or_queue_command(command, &block)
908
+ end
909
+
910
+ # Stops a running migration job.
911
+ # @param [String] name
912
+ # Name of the migration job resource to stop.
913
+ # @param [Google::Apis::DatamigrationV1beta1::StopMigrationJobRequest] stop_migration_job_request_object
914
+ # @param [String] fields
915
+ # Selector specifying which fields to include in a partial response.
916
+ # @param [String] quota_user
917
+ # Available to use for quota purposes for server-side applications. Can be any
918
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
919
+ # @param [Google::Apis::RequestOptions] options
920
+ # Request-specific options
921
+ #
922
+ # @yield [result, err] Result & error if block supplied
923
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
924
+ # @yieldparam err [StandardError] error object if request failed
925
+ #
926
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
927
+ #
928
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
929
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
930
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
931
+ def stop_migration_job(name, stop_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
932
+ command = make_simple_command(:post, 'v1beta1/{+name}:stop', options)
933
+ command.request_representation = Google::Apis::DatamigrationV1beta1::StopMigrationJobRequest::Representation
934
+ command.request_object = stop_migration_job_request_object
935
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
936
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
937
+ command.params['name'] = name unless name.nil?
938
+ command.query['fields'] = fields unless fields.nil?
939
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
940
+ execute_or_queue_command(command, &block)
941
+ end
942
+
943
+ # Returns permissions that a caller has on the specified resource. If the
944
+ # resource does not exist, this will return an empty set of permissions, not a `
945
+ # NOT_FOUND` error. Note: This operation is designed to be used for building
946
+ # permission-aware UIs and command-line tools, not for authorization checking.
947
+ # This operation may "fail open" without warning.
948
+ # @param [String] resource
949
+ # REQUIRED: The resource for which the policy detail is being requested. See the
950
+ # operation documentation for the appropriate value for this field.
951
+ # @param [Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest] test_iam_permissions_request_object
952
+ # @param [String] fields
953
+ # Selector specifying which fields to include in a partial response.
954
+ # @param [String] quota_user
955
+ # Available to use for quota purposes for server-side applications. Can be any
956
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
957
+ # @param [Google::Apis::RequestOptions] options
958
+ # Request-specific options
959
+ #
960
+ # @yield [result, err] Result & error if block supplied
961
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse] parsed result object
962
+ # @yieldparam err [StandardError] error object if request failed
963
+ #
964
+ # @return [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse]
965
+ #
966
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
967
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
968
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
969
+ def test_migration_job_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
970
+ command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options)
971
+ command.request_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest::Representation
972
+ command.request_object = test_iam_permissions_request_object
973
+ command.response_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse::Representation
974
+ command.response_class = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse
975
+ command.params['resource'] = resource unless resource.nil?
976
+ command.query['fields'] = fields unless fields.nil?
977
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
978
+ execute_or_queue_command(command, &block)
979
+ end
980
+
981
+ # Verify a migration job, making sure the destination can reach the source and
982
+ # that all configuration and prerequisites are met.
983
+ # @param [String] name
984
+ # Name of the migration job resource to verify.
985
+ # @param [Google::Apis::DatamigrationV1beta1::VerifyMigrationJobRequest] verify_migration_job_request_object
986
+ # @param [String] fields
987
+ # Selector specifying which fields to include in a partial response.
988
+ # @param [String] quota_user
989
+ # Available to use for quota purposes for server-side applications. Can be any
990
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
991
+ # @param [Google::Apis::RequestOptions] options
992
+ # Request-specific options
993
+ #
994
+ # @yield [result, err] Result & error if block supplied
995
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
996
+ # @yieldparam err [StandardError] error object if request failed
997
+ #
998
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
999
+ #
1000
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1001
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1002
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1003
+ def verify_migration_job(name, verify_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1004
+ command = make_simple_command(:post, 'v1beta1/{+name}:verify', options)
1005
+ command.request_representation = Google::Apis::DatamigrationV1beta1::VerifyMigrationJobRequest::Representation
1006
+ command.request_object = verify_migration_job_request_object
1007
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
1008
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
1009
+ command.params['name'] = name unless name.nil?
1010
+ command.query['fields'] = fields unless fields.nil?
1011
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1012
+ execute_or_queue_command(command, &block)
1013
+ end
1014
+
1015
+ # Starts asynchronous cancellation on a long-running operation. The server makes
1016
+ # a best effort to cancel the operation, but success is not guaranteed. If the
1017
+ # server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
1018
+ # Clients can use Operations.GetOperation or other methods to check whether the
1019
+ # cancellation succeeded or whether the operation completed despite cancellation.
1020
+ # On successful cancellation, the operation is not deleted; instead, it becomes
1021
+ # an operation with an Operation.error value with a google.rpc.Status.code of 1,
1022
+ # corresponding to `Code.CANCELLED`.
1023
+ # @param [String] name
1024
+ # The name of the operation resource to be cancelled.
1025
+ # @param [Google::Apis::DatamigrationV1beta1::CancelOperationRequest] cancel_operation_request_object
1026
+ # @param [String] fields
1027
+ # Selector specifying which fields to include in a partial response.
1028
+ # @param [String] quota_user
1029
+ # Available to use for quota purposes for server-side applications. Can be any
1030
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1031
+ # @param [Google::Apis::RequestOptions] options
1032
+ # Request-specific options
1033
+ #
1034
+ # @yield [result, err] Result & error if block supplied
1035
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Empty] parsed result object
1036
+ # @yieldparam err [StandardError] error object if request failed
1037
+ #
1038
+ # @return [Google::Apis::DatamigrationV1beta1::Empty]
1039
+ #
1040
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1041
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1042
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1043
+ def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
1044
+ command = make_simple_command(:post, 'v1beta1/{+name}:cancel', options)
1045
+ command.request_representation = Google::Apis::DatamigrationV1beta1::CancelOperationRequest::Representation
1046
+ command.request_object = cancel_operation_request_object
1047
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Empty::Representation
1048
+ command.response_class = Google::Apis::DatamigrationV1beta1::Empty
1049
+ command.params['name'] = name unless name.nil?
1050
+ command.query['fields'] = fields unless fields.nil?
1051
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1052
+ execute_or_queue_command(command, &block)
1053
+ end
1054
+
1055
+ # Deletes a long-running operation. This method indicates that the client is no
1056
+ # longer interested in the operation result. It does not cancel the operation.
1057
+ # If the server doesn't support this method, it returns `google.rpc.Code.
1058
+ # UNIMPLEMENTED`.
1059
+ # @param [String] name
1060
+ # The name of the operation resource to be deleted.
1061
+ # @param [String] fields
1062
+ # Selector specifying which fields to include in a partial response.
1063
+ # @param [String] quota_user
1064
+ # Available to use for quota purposes for server-side applications. Can be any
1065
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1066
+ # @param [Google::Apis::RequestOptions] options
1067
+ # Request-specific options
1068
+ #
1069
+ # @yield [result, err] Result & error if block supplied
1070
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Empty] parsed result object
1071
+ # @yieldparam err [StandardError] error object if request failed
1072
+ #
1073
+ # @return [Google::Apis::DatamigrationV1beta1::Empty]
1074
+ #
1075
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1076
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1077
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1078
+ def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
1079
+ command = make_simple_command(:delete, 'v1beta1/{+name}', options)
1080
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Empty::Representation
1081
+ command.response_class = Google::Apis::DatamigrationV1beta1::Empty
1082
+ command.params['name'] = name unless name.nil?
1083
+ command.query['fields'] = fields unless fields.nil?
1084
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1085
+ execute_or_queue_command(command, &block)
1086
+ end
1087
+
1088
+ # Gets the latest state of a long-running operation. Clients can use this method
1089
+ # to poll the operation result at intervals as recommended by the API service.
1090
+ # @param [String] name
1091
+ # The name of the operation resource.
1092
+ # @param [String] fields
1093
+ # Selector specifying which fields to include in a partial response.
1094
+ # @param [String] quota_user
1095
+ # Available to use for quota purposes for server-side applications. Can be any
1096
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1097
+ # @param [Google::Apis::RequestOptions] options
1098
+ # Request-specific options
1099
+ #
1100
+ # @yield [result, err] Result & error if block supplied
1101
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object
1102
+ # @yieldparam err [StandardError] error object if request failed
1103
+ #
1104
+ # @return [Google::Apis::DatamigrationV1beta1::Operation]
1105
+ #
1106
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1107
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1108
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1109
+ def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
1110
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
1111
+ command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation
1112
+ command.response_class = Google::Apis::DatamigrationV1beta1::Operation
1113
+ command.params['name'] = name unless name.nil?
1114
+ command.query['fields'] = fields unless fields.nil?
1115
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1116
+ execute_or_queue_command(command, &block)
1117
+ end
1118
+
1119
+ # Lists operations that match the specified filter in the request. If the server
1120
+ # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name`
1121
+ # binding allows API services to override the binding to use different resource
1122
+ # name schemes, such as `users/*/operations`. To override the binding, API
1123
+ # services can add a binding such as `"/v1/`name=users/*`/operations"` to their
1124
+ # service configuration. For backwards compatibility, the default name includes
1125
+ # the operations collection id, however overriding users must ensure the name
1126
+ # binding is the parent resource, without the operations collection id.
1127
+ # @param [String] name
1128
+ # The name of the operation's parent resource.
1129
+ # @param [String] filter
1130
+ # The standard list filter.
1131
+ # @param [Fixnum] page_size
1132
+ # The standard list page size.
1133
+ # @param [String] page_token
1134
+ # The standard list page token.
1135
+ # @param [String] fields
1136
+ # Selector specifying which fields to include in a partial response.
1137
+ # @param [String] quota_user
1138
+ # Available to use for quota purposes for server-side applications. Can be any
1139
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
1140
+ # @param [Google::Apis::RequestOptions] options
1141
+ # Request-specific options
1142
+ #
1143
+ # @yield [result, err] Result & error if block supplied
1144
+ # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListOperationsResponse] parsed result object
1145
+ # @yieldparam err [StandardError] error object if request failed
1146
+ #
1147
+ # @return [Google::Apis::DatamigrationV1beta1::ListOperationsResponse]
1148
+ #
1149
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1150
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1151
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1152
+ def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
1153
+ command = make_simple_command(:get, 'v1beta1/{+name}/operations', options)
1154
+ command.response_representation = Google::Apis::DatamigrationV1beta1::ListOperationsResponse::Representation
1155
+ command.response_class = Google::Apis::DatamigrationV1beta1::ListOperationsResponse
1156
+ command.params['name'] = name unless name.nil?
1157
+ command.query['filter'] = filter unless filter.nil?
1158
+ command.query['pageSize'] = page_size unless page_size.nil?
1159
+ command.query['pageToken'] = page_token unless page_token.nil?
1160
+ command.query['fields'] = fields unless fields.nil?
1161
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1162
+ execute_or_queue_command(command, &block)
1163
+ end
1164
+
1165
+ protected
1166
+
1167
+ def apply_command_defaults(command)
1168
+ command.query['key'] = key unless key.nil?
1169
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1170
+ end
1171
+ end
1172
+ end
1173
+ end
1174
+ end