google-apis-domains_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,899 @@
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 DomainsV1
23
+ # Cloud Domains API
24
+ #
25
+ # Enables management and configuration of domain names.
26
+ #
27
+ # @example
28
+ # require 'google/apis/domains_v1'
29
+ #
30
+ # Domains = Google::Apis::DomainsV1 # Alias the module
31
+ # service = Domains::CloudDomainsService.new
32
+ #
33
+ # @see https://cloud.google.com/domains/
34
+ class CloudDomainsService < 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://domains.googleapis.com/', '',
47
+ client_name: 'google-apis-domains_v1',
48
+ client_version: Google::Apis::DomainsV1::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::DomainsV1::Location] parsed result object
65
+ # @yieldparam err [StandardError] error object if request failed
66
+ #
67
+ # @return [Google::Apis::DomainsV1::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, 'v1/{+name}', options)
74
+ command.response_representation = Google::Apis::DomainsV1::Location::Representation
75
+ command.response_class = Google::Apis::DomainsV1::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
+ # A filter to narrow down results to a preferred subset. The filtering language
87
+ # accepts strings like "displayName=tokyo", and is documented in more detail in [
88
+ # AIP-160](https://google.aip.dev/160).
89
+ # @param [Fixnum] page_size
90
+ # The maximum number of results to return. If not set, the service selects a
91
+ # default.
92
+ # @param [String] page_token
93
+ # A page token received from the `next_page_token` field in the response. Send
94
+ # that page token to receive the subsequent page.
95
+ # @param [String] fields
96
+ # Selector specifying which fields to include in a partial response.
97
+ # @param [String] quota_user
98
+ # Available to use for quota purposes for server-side applications. Can be any
99
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
100
+ # @param [Google::Apis::RequestOptions] options
101
+ # Request-specific options
102
+ #
103
+ # @yield [result, err] Result & error if block supplied
104
+ # @yieldparam result [Google::Apis::DomainsV1::ListLocationsResponse] parsed result object
105
+ # @yieldparam err [StandardError] error object if request failed
106
+ #
107
+ # @return [Google::Apis::DomainsV1::ListLocationsResponse]
108
+ #
109
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
110
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
111
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
112
+ def list_project_locations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
113
+ command = make_simple_command(:get, 'v1/{+name}/locations', options)
114
+ command.response_representation = Google::Apis::DomainsV1::ListLocationsResponse::Representation
115
+ command.response_class = Google::Apis::DomainsV1::ListLocationsResponse
116
+ command.params['name'] = name unless name.nil?
117
+ command.query['filter'] = filter unless filter.nil?
118
+ command.query['pageSize'] = page_size unless page_size.nil?
119
+ command.query['pageToken'] = page_token unless page_token.nil?
120
+ command.query['fields'] = fields unless fields.nil?
121
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
122
+ execute_or_queue_command(command, &block)
123
+ end
124
+
125
+ # Gets the latest state of a long-running operation. Clients can use this method
126
+ # to poll the operation result at intervals as recommended by the API service.
127
+ # @param [String] name
128
+ # The name of the operation resource.
129
+ # @param [String] fields
130
+ # Selector specifying which fields to include in a partial response.
131
+ # @param [String] quota_user
132
+ # Available to use for quota purposes for server-side applications. Can be any
133
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
134
+ # @param [Google::Apis::RequestOptions] options
135
+ # Request-specific options
136
+ #
137
+ # @yield [result, err] Result & error if block supplied
138
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
139
+ # @yieldparam err [StandardError] error object if request failed
140
+ #
141
+ # @return [Google::Apis::DomainsV1::Operation]
142
+ #
143
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
144
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
145
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
146
+ def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
147
+ command = make_simple_command(:get, 'v1/{+name}', options)
148
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
149
+ command.response_class = Google::Apis::DomainsV1::Operation
150
+ command.params['name'] = name unless name.nil?
151
+ command.query['fields'] = fields unless fields.nil?
152
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
153
+ execute_or_queue_command(command, &block)
154
+ end
155
+
156
+ # Lists operations that match the specified filter in the request. If the server
157
+ # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name`
158
+ # binding allows API services to override the binding to use different resource
159
+ # name schemes, such as `users/*/operations`. To override the binding, API
160
+ # services can add a binding such as `"/v1/`name=users/*`/operations"` to their
161
+ # service configuration. For backwards compatibility, the default name includes
162
+ # the operations collection id, however overriding users must ensure the name
163
+ # binding is the parent resource, without the operations collection id.
164
+ # @param [String] name
165
+ # The name of the operation's parent resource.
166
+ # @param [String] filter
167
+ # The standard list filter.
168
+ # @param [Fixnum] page_size
169
+ # The standard list page size.
170
+ # @param [String] page_token
171
+ # The standard list page token.
172
+ # @param [String] fields
173
+ # Selector specifying which fields to include in a partial response.
174
+ # @param [String] quota_user
175
+ # Available to use for quota purposes for server-side applications. Can be any
176
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
177
+ # @param [Google::Apis::RequestOptions] options
178
+ # Request-specific options
179
+ #
180
+ # @yield [result, err] Result & error if block supplied
181
+ # @yieldparam result [Google::Apis::DomainsV1::ListOperationsResponse] parsed result object
182
+ # @yieldparam err [StandardError] error object if request failed
183
+ #
184
+ # @return [Google::Apis::DomainsV1::ListOperationsResponse]
185
+ #
186
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
187
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
188
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
189
+ def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
190
+ command = make_simple_command(:get, 'v1/{+name}/operations', options)
191
+ command.response_representation = Google::Apis::DomainsV1::ListOperationsResponse::Representation
192
+ command.response_class = Google::Apis::DomainsV1::ListOperationsResponse
193
+ command.params['name'] = name unless name.nil?
194
+ command.query['filter'] = filter unless filter.nil?
195
+ command.query['pageSize'] = page_size unless page_size.nil?
196
+ command.query['pageToken'] = page_token unless page_token.nil?
197
+ command.query['fields'] = fields unless fields.nil?
198
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
199
+ execute_or_queue_command(command, &block)
200
+ end
201
+
202
+ # Updates a `Registration`'s contact settings. Some changes require confirmation
203
+ # by the domain's registrant contact .
204
+ # @param [String] registration
205
+ # Required. The name of the `Registration` whose contact settings are being
206
+ # updated, in the format `projects/*/locations/*/registrations/*`.
207
+ # @param [Google::Apis::DomainsV1::ConfigureContactSettingsRequest] configure_contact_settings_request_object
208
+ # @param [String] fields
209
+ # Selector specifying which fields to include in a partial response.
210
+ # @param [String] quota_user
211
+ # Available to use for quota purposes for server-side applications. Can be any
212
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
213
+ # @param [Google::Apis::RequestOptions] options
214
+ # Request-specific options
215
+ #
216
+ # @yield [result, err] Result & error if block supplied
217
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
218
+ # @yieldparam err [StandardError] error object if request failed
219
+ #
220
+ # @return [Google::Apis::DomainsV1::Operation]
221
+ #
222
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
223
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
224
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
225
+ def configure_registration_contact_settings(registration, configure_contact_settings_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
226
+ command = make_simple_command(:post, 'v1/{+registration}:configureContactSettings', options)
227
+ command.request_representation = Google::Apis::DomainsV1::ConfigureContactSettingsRequest::Representation
228
+ command.request_object = configure_contact_settings_request_object
229
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
230
+ command.response_class = Google::Apis::DomainsV1::Operation
231
+ command.params['registration'] = registration unless registration.nil?
232
+ command.query['fields'] = fields unless fields.nil?
233
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
234
+ execute_or_queue_command(command, &block)
235
+ end
236
+
237
+ # Updates a `Registration`'s DNS settings.
238
+ # @param [String] registration
239
+ # Required. The name of the `Registration` whose DNS settings are being updated,
240
+ # in the format `projects/*/locations/*/registrations/*`.
241
+ # @param [Google::Apis::DomainsV1::ConfigureDnsSettingsRequest] configure_dns_settings_request_object
242
+ # @param [String] fields
243
+ # Selector specifying which fields to include in a partial response.
244
+ # @param [String] quota_user
245
+ # Available to use for quota purposes for server-side applications. Can be any
246
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
247
+ # @param [Google::Apis::RequestOptions] options
248
+ # Request-specific options
249
+ #
250
+ # @yield [result, err] Result & error if block supplied
251
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
252
+ # @yieldparam err [StandardError] error object if request failed
253
+ #
254
+ # @return [Google::Apis::DomainsV1::Operation]
255
+ #
256
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
257
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
258
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
259
+ def configure_registration_dns_settings(registration, configure_dns_settings_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
260
+ command = make_simple_command(:post, 'v1/{+registration}:configureDnsSettings', options)
261
+ command.request_representation = Google::Apis::DomainsV1::ConfigureDnsSettingsRequest::Representation
262
+ command.request_object = configure_dns_settings_request_object
263
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
264
+ command.response_class = Google::Apis::DomainsV1::Operation
265
+ command.params['registration'] = registration unless registration.nil?
266
+ command.query['fields'] = fields unless fields.nil?
267
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
268
+ execute_or_queue_command(command, &block)
269
+ end
270
+
271
+ # Updates a `Registration`'s management settings.
272
+ # @param [String] registration
273
+ # Required. The name of the `Registration` whose management settings are being
274
+ # updated, in the format `projects/*/locations/*/registrations/*`.
275
+ # @param [Google::Apis::DomainsV1::ConfigureManagementSettingsRequest] configure_management_settings_request_object
276
+ # @param [String] fields
277
+ # Selector specifying which fields to include in a partial response.
278
+ # @param [String] quota_user
279
+ # Available to use for quota purposes for server-side applications. Can be any
280
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
281
+ # @param [Google::Apis::RequestOptions] options
282
+ # Request-specific options
283
+ #
284
+ # @yield [result, err] Result & error if block supplied
285
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
286
+ # @yieldparam err [StandardError] error object if request failed
287
+ #
288
+ # @return [Google::Apis::DomainsV1::Operation]
289
+ #
290
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
291
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
292
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
293
+ def configure_registration_management_settings(registration, configure_management_settings_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
294
+ command = make_simple_command(:post, 'v1/{+registration}:configureManagementSettings', options)
295
+ command.request_representation = Google::Apis::DomainsV1::ConfigureManagementSettingsRequest::Representation
296
+ command.request_object = configure_management_settings_request_object
297
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
298
+ command.response_class = Google::Apis::DomainsV1::Operation
299
+ command.params['registration'] = registration unless registration.nil?
300
+ command.query['fields'] = fields unless fields.nil?
301
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
302
+ execute_or_queue_command(command, &block)
303
+ end
304
+
305
+ # Deletes a `Registration` resource. For `Registration` resources using usage
306
+ # billing, this method works if: * `state` is `EXPORTED` with `expire_time` in
307
+ # the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED`
308
+ # This method works on any `Registration` resource using subscription billing,
309
+ # provided that the resource was created at least 1 day in the past. When an
310
+ # active domain is successfully deleted, you can continue to use the domain in [
311
+ # Google Domains](https://domains.google/) until it expires. The calling user
312
+ # becomes the domain's sole owner in Google Domains, and permissions for the
313
+ # domain are subsequently managed there. The domain will not renew automatically
314
+ # unless the new owner sets up billing in Google Domains.
315
+ # @param [String] name
316
+ # Required. The name of the `Registration` to delete, in the format `projects/*/
317
+ # locations/*/registrations/*`.
318
+ # @param [String] fields
319
+ # Selector specifying which fields to include in a partial response.
320
+ # @param [String] quota_user
321
+ # Available to use for quota purposes for server-side applications. Can be any
322
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
323
+ # @param [Google::Apis::RequestOptions] options
324
+ # Request-specific options
325
+ #
326
+ # @yield [result, err] Result & error if block supplied
327
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
328
+ # @yieldparam err [StandardError] error object if request failed
329
+ #
330
+ # @return [Google::Apis::DomainsV1::Operation]
331
+ #
332
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
333
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
334
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
335
+ def delete_project_location_registration(name, fields: nil, quota_user: nil, options: nil, &block)
336
+ command = make_simple_command(:delete, 'v1/{+name}', options)
337
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
338
+ command.response_class = Google::Apis::DomainsV1::Operation
339
+ command.params['name'] = name unless name.nil?
340
+ command.query['fields'] = fields unless fields.nil?
341
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
342
+ execute_or_queue_command(command, &block)
343
+ end
344
+
345
+ # Exports a `Registration` resource, such that it is no longer managed by Cloud
346
+ # Domains. When an active domain is successfully exported, you can continue to
347
+ # use the domain in [Google Domains](https://domains.google/) until it expires.
348
+ # The calling user becomes the domain's sole owner in Google Domains, and
349
+ # permissions for the domain are subsequently managed there. The domain will not
350
+ # renew automatically unless the new owner sets up billing in Google Domains.
351
+ # @param [String] name
352
+ # Required. The name of the `Registration` to export, in the format `projects/*/
353
+ # locations/*/registrations/*`.
354
+ # @param [Google::Apis::DomainsV1::ExportRegistrationRequest] export_registration_request_object
355
+ # @param [String] fields
356
+ # Selector specifying which fields to include in a partial response.
357
+ # @param [String] quota_user
358
+ # Available to use for quota purposes for server-side applications. Can be any
359
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
360
+ # @param [Google::Apis::RequestOptions] options
361
+ # Request-specific options
362
+ #
363
+ # @yield [result, err] Result & error if block supplied
364
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
365
+ # @yieldparam err [StandardError] error object if request failed
366
+ #
367
+ # @return [Google::Apis::DomainsV1::Operation]
368
+ #
369
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
370
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
371
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
372
+ def export_registration(name, export_registration_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
373
+ command = make_simple_command(:post, 'v1/{+name}:export', options)
374
+ command.request_representation = Google::Apis::DomainsV1::ExportRegistrationRequest::Representation
375
+ command.request_object = export_registration_request_object
376
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
377
+ command.response_class = Google::Apis::DomainsV1::Operation
378
+ command.params['name'] = name unless name.nil?
379
+ command.query['fields'] = fields unless fields.nil?
380
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
381
+ execute_or_queue_command(command, &block)
382
+ end
383
+
384
+ # Gets the details of a `Registration` resource.
385
+ # @param [String] name
386
+ # Required. The name of the `Registration` to get, in the format `projects/*/
387
+ # locations/*/registrations/*`.
388
+ # @param [String] fields
389
+ # Selector specifying which fields to include in a partial response.
390
+ # @param [String] quota_user
391
+ # Available to use for quota purposes for server-side applications. Can be any
392
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
393
+ # @param [Google::Apis::RequestOptions] options
394
+ # Request-specific options
395
+ #
396
+ # @yield [result, err] Result & error if block supplied
397
+ # @yieldparam result [Google::Apis::DomainsV1::Registration] parsed result object
398
+ # @yieldparam err [StandardError] error object if request failed
399
+ #
400
+ # @return [Google::Apis::DomainsV1::Registration]
401
+ #
402
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
403
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
404
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
405
+ def get_project_location_registration(name, fields: nil, quota_user: nil, options: nil, &block)
406
+ command = make_simple_command(:get, 'v1/{+name}', options)
407
+ command.response_representation = Google::Apis::DomainsV1::Registration::Representation
408
+ command.response_class = Google::Apis::DomainsV1::Registration
409
+ command.params['name'] = name unless name.nil?
410
+ command.query['fields'] = fields unless fields.nil?
411
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
412
+ execute_or_queue_command(command, &block)
413
+ end
414
+
415
+ # Gets the access control policy for a resource. Returns an empty policy if the
416
+ # resource exists and does not have a policy set.
417
+ # @param [String] resource
418
+ # REQUIRED: The resource for which the policy is being requested. See the
419
+ # operation documentation for the appropriate value for this field.
420
+ # @param [Fixnum] options_requested_policy_version
421
+ # Optional. The policy format version to be returned. Valid values are 0, 1, and
422
+ # 3. Requests specifying an invalid value will be rejected. Requests for
423
+ # policies with any conditional bindings must specify version 3. Policies
424
+ # without any conditional bindings may specify any valid value or leave the
425
+ # field unset. To learn which resources support conditions in their IAM policies,
426
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
427
+ # resource-policies).
428
+ # @param [String] fields
429
+ # Selector specifying which fields to include in a partial response.
430
+ # @param [String] quota_user
431
+ # Available to use for quota purposes for server-side applications. Can be any
432
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
433
+ # @param [Google::Apis::RequestOptions] options
434
+ # Request-specific options
435
+ #
436
+ # @yield [result, err] Result & error if block supplied
437
+ # @yieldparam result [Google::Apis::DomainsV1::Policy] parsed result object
438
+ # @yieldparam err [StandardError] error object if request failed
439
+ #
440
+ # @return [Google::Apis::DomainsV1::Policy]
441
+ #
442
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
443
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
444
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
445
+ def get_project_location_registration_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
446
+ command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options)
447
+ command.response_representation = Google::Apis::DomainsV1::Policy::Representation
448
+ command.response_class = Google::Apis::DomainsV1::Policy
449
+ command.params['resource'] = resource unless resource.nil?
450
+ command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
451
+ command.query['fields'] = fields unless fields.nil?
452
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
453
+ execute_or_queue_command(command, &block)
454
+ end
455
+
456
+ # Lists the `Registration` resources in a project.
457
+ # @param [String] parent
458
+ # Required. The project and location from which to list `Registration`s,
459
+ # specified in the format `projects/*/locations/*`.
460
+ # @param [String] filter
461
+ # Filter expression to restrict the `Registration`s returned. The expression
462
+ # must specify the field name, a comparison operator, and the value that you
463
+ # want to use for filtering. The value must be a string, a number, a boolean, or
464
+ # an enum value. The comparison operator should be one of =, !=, >, <, >=, <=,
465
+ # or : for prefix or wildcard matches. For example, to filter to a specific
466
+ # domain name, use an expression like `domainName="example.com"`. You can also
467
+ # check for the existence of a field; for example, to find domains using custom
468
+ # DNS settings, use an expression like `dnsSettings.customDns:*`. You can also
469
+ # create compound filters by combining expressions with the `AND` and `OR`
470
+ # operators. For example, to find domains that are suspended or have specific
471
+ # issues flagged, use an expression like `(state=SUSPENDED) OR (issue:*)`.
472
+ # @param [Fixnum] page_size
473
+ # Maximum number of results to return.
474
+ # @param [String] page_token
475
+ # When set to the `next_page_token` from a prior response, provides the next
476
+ # page of results.
477
+ # @param [String] fields
478
+ # Selector specifying which fields to include in a partial response.
479
+ # @param [String] quota_user
480
+ # Available to use for quota purposes for server-side applications. Can be any
481
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
482
+ # @param [Google::Apis::RequestOptions] options
483
+ # Request-specific options
484
+ #
485
+ # @yield [result, err] Result & error if block supplied
486
+ # @yieldparam result [Google::Apis::DomainsV1::ListRegistrationsResponse] parsed result object
487
+ # @yieldparam err [StandardError] error object if request failed
488
+ #
489
+ # @return [Google::Apis::DomainsV1::ListRegistrationsResponse]
490
+ #
491
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
492
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
493
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
494
+ def list_project_location_registrations(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
495
+ command = make_simple_command(:get, 'v1/{+parent}/registrations', options)
496
+ command.response_representation = Google::Apis::DomainsV1::ListRegistrationsResponse::Representation
497
+ command.response_class = Google::Apis::DomainsV1::ListRegistrationsResponse
498
+ command.params['parent'] = parent unless parent.nil?
499
+ command.query['filter'] = filter unless filter.nil?
500
+ command.query['pageSize'] = page_size unless page_size.nil?
501
+ command.query['pageToken'] = page_token unless page_token.nil?
502
+ command.query['fields'] = fields unless fields.nil?
503
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
504
+ execute_or_queue_command(command, &block)
505
+ end
506
+
507
+ # Updates select fields of a `Registration` resource, notably `labels`. To
508
+ # update other fields, use the appropriate custom update method: * To update
509
+ # management settings, see `ConfigureManagementSettings` * To update DNS
510
+ # configuration, see `ConfigureDnsSettings` * To update contact information, see
511
+ # `ConfigureContactSettings`
512
+ # @param [String] name
513
+ # Output only. Name of the `Registration` resource, in the format `projects/*/
514
+ # locations/*/registrations/`.
515
+ # @param [Google::Apis::DomainsV1::Registration] registration_object
516
+ # @param [String] update_mask
517
+ # Required. The field mask describing which fields to update as a comma-
518
+ # separated list. For example, if only the labels are being updated, the `
519
+ # update_mask` would be `"labels"`.
520
+ # @param [String] fields
521
+ # Selector specifying which fields to include in a partial response.
522
+ # @param [String] quota_user
523
+ # Available to use for quota purposes for server-side applications. Can be any
524
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
525
+ # @param [Google::Apis::RequestOptions] options
526
+ # Request-specific options
527
+ #
528
+ # @yield [result, err] Result & error if block supplied
529
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
530
+ # @yieldparam err [StandardError] error object if request failed
531
+ #
532
+ # @return [Google::Apis::DomainsV1::Operation]
533
+ #
534
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
535
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
536
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
537
+ def patch_project_location_registration(name, registration_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
538
+ command = make_simple_command(:patch, 'v1/{+name}', options)
539
+ command.request_representation = Google::Apis::DomainsV1::Registration::Representation
540
+ command.request_object = registration_object
541
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
542
+ command.response_class = Google::Apis::DomainsV1::Operation
543
+ command.params['name'] = name unless name.nil?
544
+ command.query['updateMask'] = update_mask unless update_mask.nil?
545
+ command.query['fields'] = fields unless fields.nil?
546
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
547
+ execute_or_queue_command(command, &block)
548
+ end
549
+
550
+ # Registers a new domain name and creates a corresponding `Registration`
551
+ # resource. Call `RetrieveRegisterParameters` first to check availability of the
552
+ # domain name and determine parameters like price that are needed to build a
553
+ # call to this method. A successful call creates a `Registration` resource in
554
+ # state `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 minutes,
555
+ # indicating that the domain was successfully registered. If the resource ends
556
+ # up in state `REGISTRATION_FAILED`, it indicates that the domain was not
557
+ # registered successfully, and you can safely delete the resource and retry
558
+ # registration.
559
+ # @param [String] parent
560
+ # Required. The parent resource of the `Registration`. Must be in the format `
561
+ # projects/*/locations/*`.
562
+ # @param [Google::Apis::DomainsV1::RegisterDomainRequest] register_domain_request_object
563
+ # @param [String] fields
564
+ # Selector specifying which fields to include in a partial response.
565
+ # @param [String] quota_user
566
+ # Available to use for quota purposes for server-side applications. Can be any
567
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
568
+ # @param [Google::Apis::RequestOptions] options
569
+ # Request-specific options
570
+ #
571
+ # @yield [result, err] Result & error if block supplied
572
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
573
+ # @yieldparam err [StandardError] error object if request failed
574
+ #
575
+ # @return [Google::Apis::DomainsV1::Operation]
576
+ #
577
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
578
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
579
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
580
+ def register_registration_domain(parent, register_domain_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
581
+ command = make_simple_command(:post, 'v1/{+parent}/registrations:register', options)
582
+ command.request_representation = Google::Apis::DomainsV1::RegisterDomainRequest::Representation
583
+ command.request_object = register_domain_request_object
584
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
585
+ command.response_class = Google::Apis::DomainsV1::Operation
586
+ command.params['parent'] = parent unless parent.nil?
587
+ command.query['fields'] = fields unless fields.nil?
588
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
589
+ execute_or_queue_command(command, &block)
590
+ end
591
+
592
+ # Resets the authorization code of the `Registration` to a new random string.
593
+ # You can call this method only after 60 days have elapsed since the initial
594
+ # domain registration.
595
+ # @param [String] registration
596
+ # Required. The name of the `Registration` whose authorization code is being
597
+ # reset, in the format `projects/*/locations/*/registrations/*`.
598
+ # @param [Google::Apis::DomainsV1::ResetAuthorizationCodeRequest] reset_authorization_code_request_object
599
+ # @param [String] fields
600
+ # Selector specifying which fields to include in a partial response.
601
+ # @param [String] quota_user
602
+ # Available to use for quota purposes for server-side applications. Can be any
603
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
604
+ # @param [Google::Apis::RequestOptions] options
605
+ # Request-specific options
606
+ #
607
+ # @yield [result, err] Result & error if block supplied
608
+ # @yieldparam result [Google::Apis::DomainsV1::AuthorizationCode] parsed result object
609
+ # @yieldparam err [StandardError] error object if request failed
610
+ #
611
+ # @return [Google::Apis::DomainsV1::AuthorizationCode]
612
+ #
613
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
614
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
615
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
616
+ def reset_registration_authorization_code(registration, reset_authorization_code_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
617
+ command = make_simple_command(:post, 'v1/{+registration}:resetAuthorizationCode', options)
618
+ command.request_representation = Google::Apis::DomainsV1::ResetAuthorizationCodeRequest::Representation
619
+ command.request_object = reset_authorization_code_request_object
620
+ command.response_representation = Google::Apis::DomainsV1::AuthorizationCode::Representation
621
+ command.response_class = Google::Apis::DomainsV1::AuthorizationCode
622
+ command.params['registration'] = registration unless registration.nil?
623
+ command.query['fields'] = fields unless fields.nil?
624
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
625
+ execute_or_queue_command(command, &block)
626
+ end
627
+
628
+ # Gets the authorization code of the `Registration` for the purpose of
629
+ # transferring the domain to another registrar. You can call this method only
630
+ # after 60 days have elapsed since the initial domain registration.
631
+ # @param [String] registration
632
+ # Required. The name of the `Registration` whose authorization code is being
633
+ # retrieved, in the format `projects/*/locations/*/registrations/*`.
634
+ # @param [String] fields
635
+ # Selector specifying which fields to include in a partial response.
636
+ # @param [String] quota_user
637
+ # Available to use for quota purposes for server-side applications. Can be any
638
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
639
+ # @param [Google::Apis::RequestOptions] options
640
+ # Request-specific options
641
+ #
642
+ # @yield [result, err] Result & error if block supplied
643
+ # @yieldparam result [Google::Apis::DomainsV1::AuthorizationCode] parsed result object
644
+ # @yieldparam err [StandardError] error object if request failed
645
+ #
646
+ # @return [Google::Apis::DomainsV1::AuthorizationCode]
647
+ #
648
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
649
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
650
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
651
+ def retrieve_project_location_registration_authorization_code(registration, fields: nil, quota_user: nil, options: nil, &block)
652
+ command = make_simple_command(:get, 'v1/{+registration}:retrieveAuthorizationCode', options)
653
+ command.response_representation = Google::Apis::DomainsV1::AuthorizationCode::Representation
654
+ command.response_class = Google::Apis::DomainsV1::AuthorizationCode
655
+ command.params['registration'] = registration unless registration.nil?
656
+ command.query['fields'] = fields unless fields.nil?
657
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
658
+ execute_or_queue_command(command, &block)
659
+ end
660
+
661
+ # Gets parameters needed to register a new domain name, including price and up-
662
+ # to-date availability. Use the returned values to call `RegisterDomain`.
663
+ # @param [String] location
664
+ # Required. The location. Must be in the format `projects/*/locations/*`.
665
+ # @param [String] domain_name
666
+ # Required. The domain name. Unicode domain names must be expressed in Punycode
667
+ # format.
668
+ # @param [String] fields
669
+ # Selector specifying which fields to include in a partial response.
670
+ # @param [String] quota_user
671
+ # Available to use for quota purposes for server-side applications. Can be any
672
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
673
+ # @param [Google::Apis::RequestOptions] options
674
+ # Request-specific options
675
+ #
676
+ # @yield [result, err] Result & error if block supplied
677
+ # @yieldparam result [Google::Apis::DomainsV1::RetrieveRegisterParametersResponse] parsed result object
678
+ # @yieldparam err [StandardError] error object if request failed
679
+ #
680
+ # @return [Google::Apis::DomainsV1::RetrieveRegisterParametersResponse]
681
+ #
682
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
683
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
684
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
685
+ def retrieve_project_location_registration_register_parameters(location, domain_name: nil, fields: nil, quota_user: nil, options: nil, &block)
686
+ command = make_simple_command(:get, 'v1/{+location}/registrations:retrieveRegisterParameters', options)
687
+ command.response_representation = Google::Apis::DomainsV1::RetrieveRegisterParametersResponse::Representation
688
+ command.response_class = Google::Apis::DomainsV1::RetrieveRegisterParametersResponse
689
+ command.params['location'] = location unless location.nil?
690
+ command.query['domainName'] = domain_name unless domain_name.nil?
691
+ command.query['fields'] = fields unless fields.nil?
692
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
693
+ execute_or_queue_command(command, &block)
694
+ end
695
+
696
+ # Gets parameters needed to transfer a domain name from another registrar to
697
+ # Cloud Domains. For domains managed by Google Domains, transferring to Cloud
698
+ # Domains is not yet supported. Use the returned values to call `TransferDomain`.
699
+ # @param [String] location
700
+ # Required. The location. Must be in the format `projects/*/locations/*`.
701
+ # @param [String] domain_name
702
+ # Required. The domain name. Unicode domain names must be expressed in Punycode
703
+ # format.
704
+ # @param [String] fields
705
+ # Selector specifying which fields to include in a partial response.
706
+ # @param [String] quota_user
707
+ # Available to use for quota purposes for server-side applications. Can be any
708
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
709
+ # @param [Google::Apis::RequestOptions] options
710
+ # Request-specific options
711
+ #
712
+ # @yield [result, err] Result & error if block supplied
713
+ # @yieldparam result [Google::Apis::DomainsV1::RetrieveTransferParametersResponse] parsed result object
714
+ # @yieldparam err [StandardError] error object if request failed
715
+ #
716
+ # @return [Google::Apis::DomainsV1::RetrieveTransferParametersResponse]
717
+ #
718
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
719
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
720
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
721
+ def retrieve_project_location_registration_transfer_parameters(location, domain_name: nil, fields: nil, quota_user: nil, options: nil, &block)
722
+ command = make_simple_command(:get, 'v1/{+location}/registrations:retrieveTransferParameters', options)
723
+ command.response_representation = Google::Apis::DomainsV1::RetrieveTransferParametersResponse::Representation
724
+ command.response_class = Google::Apis::DomainsV1::RetrieveTransferParametersResponse
725
+ command.params['location'] = location unless location.nil?
726
+ command.query['domainName'] = domain_name unless domain_name.nil?
727
+ command.query['fields'] = fields unless fields.nil?
728
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
729
+ execute_or_queue_command(command, &block)
730
+ end
731
+
732
+ # Searches for available domain names similar to the provided query.
733
+ # Availability results from this method are approximate; call `
734
+ # RetrieveRegisterParameters` on a domain before registering to confirm
735
+ # availability.
736
+ # @param [String] location
737
+ # Required. The location. Must be in the format `projects/*/locations/*`.
738
+ # @param [String] query
739
+ # Required. String used to search for available domain names.
740
+ # @param [String] fields
741
+ # Selector specifying which fields to include in a partial response.
742
+ # @param [String] quota_user
743
+ # Available to use for quota purposes for server-side applications. Can be any
744
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
745
+ # @param [Google::Apis::RequestOptions] options
746
+ # Request-specific options
747
+ #
748
+ # @yield [result, err] Result & error if block supplied
749
+ # @yieldparam result [Google::Apis::DomainsV1::SearchDomainsResponse] parsed result object
750
+ # @yieldparam err [StandardError] error object if request failed
751
+ #
752
+ # @return [Google::Apis::DomainsV1::SearchDomainsResponse]
753
+ #
754
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
755
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
756
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
757
+ def search_project_location_registration_domains(location, query: nil, fields: nil, quota_user: nil, options: nil, &block)
758
+ command = make_simple_command(:get, 'v1/{+location}/registrations:searchDomains', options)
759
+ command.response_representation = Google::Apis::DomainsV1::SearchDomainsResponse::Representation
760
+ command.response_class = Google::Apis::DomainsV1::SearchDomainsResponse
761
+ command.params['location'] = location unless location.nil?
762
+ command.query['query'] = query unless query.nil?
763
+ command.query['fields'] = fields unless fields.nil?
764
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
765
+ execute_or_queue_command(command, &block)
766
+ end
767
+
768
+ # Sets the access control policy on the specified resource. Replaces any
769
+ # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
770
+ # PERMISSION_DENIED` errors.
771
+ # @param [String] resource
772
+ # REQUIRED: The resource for which the policy is being specified. See the
773
+ # operation documentation for the appropriate value for this field.
774
+ # @param [Google::Apis::DomainsV1::SetIamPolicyRequest] set_iam_policy_request_object
775
+ # @param [String] fields
776
+ # Selector specifying which fields to include in a partial response.
777
+ # @param [String] quota_user
778
+ # Available to use for quota purposes for server-side applications. Can be any
779
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
780
+ # @param [Google::Apis::RequestOptions] options
781
+ # Request-specific options
782
+ #
783
+ # @yield [result, err] Result & error if block supplied
784
+ # @yieldparam result [Google::Apis::DomainsV1::Policy] parsed result object
785
+ # @yieldparam err [StandardError] error object if request failed
786
+ #
787
+ # @return [Google::Apis::DomainsV1::Policy]
788
+ #
789
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
790
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
791
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
792
+ def set_registration_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
793
+ command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
794
+ command.request_representation = Google::Apis::DomainsV1::SetIamPolicyRequest::Representation
795
+ command.request_object = set_iam_policy_request_object
796
+ command.response_representation = Google::Apis::DomainsV1::Policy::Representation
797
+ command.response_class = Google::Apis::DomainsV1::Policy
798
+ command.params['resource'] = resource unless resource.nil?
799
+ command.query['fields'] = fields unless fields.nil?
800
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
801
+ execute_or_queue_command(command, &block)
802
+ end
803
+
804
+ # Returns permissions that a caller has on the specified resource. If the
805
+ # resource does not exist, this will return an empty set of permissions, not a `
806
+ # NOT_FOUND` error. Note: This operation is designed to be used for building
807
+ # permission-aware UIs and command-line tools, not for authorization checking.
808
+ # This operation may "fail open" without warning.
809
+ # @param [String] resource
810
+ # REQUIRED: The resource for which the policy detail is being requested. See the
811
+ # operation documentation for the appropriate value for this field.
812
+ # @param [Google::Apis::DomainsV1::TestIamPermissionsRequest] test_iam_permissions_request_object
813
+ # @param [String] fields
814
+ # Selector specifying which fields to include in a partial response.
815
+ # @param [String] quota_user
816
+ # Available to use for quota purposes for server-side applications. Can be any
817
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
818
+ # @param [Google::Apis::RequestOptions] options
819
+ # Request-specific options
820
+ #
821
+ # @yield [result, err] Result & error if block supplied
822
+ # @yieldparam result [Google::Apis::DomainsV1::TestIamPermissionsResponse] parsed result object
823
+ # @yieldparam err [StandardError] error object if request failed
824
+ #
825
+ # @return [Google::Apis::DomainsV1::TestIamPermissionsResponse]
826
+ #
827
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
828
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
829
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
830
+ def test_registration_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
831
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
832
+ command.request_representation = Google::Apis::DomainsV1::TestIamPermissionsRequest::Representation
833
+ command.request_object = test_iam_permissions_request_object
834
+ command.response_representation = Google::Apis::DomainsV1::TestIamPermissionsResponse::Representation
835
+ command.response_class = Google::Apis::DomainsV1::TestIamPermissionsResponse
836
+ command.params['resource'] = resource unless resource.nil?
837
+ command.query['fields'] = fields unless fields.nil?
838
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
839
+ execute_or_queue_command(command, &block)
840
+ end
841
+
842
+ # Transfers a domain name from another registrar to Cloud Domains. For domains
843
+ # managed by Google Domains, transferring to Cloud Domains is not yet supported.
844
+ # Before calling this method, go to the domain's current registrar to unlock the
845
+ # domain for transfer and retrieve the domain's transfer authorization code.
846
+ # Then call `RetrieveTransferParameters` to confirm that the domain is unlocked
847
+ # and to get values needed to build a call to this method. A successful call
848
+ # creates a `Registration` resource in state `TRANSFER_PENDING`. It can take
849
+ # several days to complete the transfer process. The registrant can often speed
850
+ # up this process by approving the transfer through the current registrar,
851
+ # either by clicking a link in an email from the registrar or by visiting the
852
+ # registrar's website. A few minutes after transfer approval, the resource
853
+ # transitions to state `ACTIVE`, indicating that the transfer was successful. If
854
+ # the transfer is rejected or the request expires without being approved, the
855
+ # resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can
856
+ # safely delete the resource and retry the transfer.
857
+ # @param [String] parent
858
+ # Required. The parent resource of the `Registration`. Must be in the format `
859
+ # projects/*/locations/*`.
860
+ # @param [Google::Apis::DomainsV1::TransferDomainRequest] transfer_domain_request_object
861
+ # @param [String] fields
862
+ # Selector specifying which fields to include in a partial response.
863
+ # @param [String] quota_user
864
+ # Available to use for quota purposes for server-side applications. Can be any
865
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
866
+ # @param [Google::Apis::RequestOptions] options
867
+ # Request-specific options
868
+ #
869
+ # @yield [result, err] Result & error if block supplied
870
+ # @yieldparam result [Google::Apis::DomainsV1::Operation] parsed result object
871
+ # @yieldparam err [StandardError] error object if request failed
872
+ #
873
+ # @return [Google::Apis::DomainsV1::Operation]
874
+ #
875
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
876
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
877
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
878
+ def transfer_registration_domain(parent, transfer_domain_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
879
+ command = make_simple_command(:post, 'v1/{+parent}/registrations:transfer', options)
880
+ command.request_representation = Google::Apis::DomainsV1::TransferDomainRequest::Representation
881
+ command.request_object = transfer_domain_request_object
882
+ command.response_representation = Google::Apis::DomainsV1::Operation::Representation
883
+ command.response_class = Google::Apis::DomainsV1::Operation
884
+ command.params['parent'] = parent unless parent.nil?
885
+ command.query['fields'] = fields unless fields.nil?
886
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
887
+ execute_or_queue_command(command, &block)
888
+ end
889
+
890
+ protected
891
+
892
+ def apply_command_defaults(command)
893
+ command.query['key'] = key unless key.nil?
894
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
895
+ end
896
+ end
897
+ end
898
+ end
899
+ end