google-cloud-domains-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,918 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Domains
23
+ module V1
24
+ # The `Registration` resource facilitates managing and configuring domain name
25
+ # registrations.
26
+ #
27
+ # There are several ways to create a new `Registration` resource:
28
+ #
29
+ # To create a new `Registration` resource, find a suitable domain name by
30
+ # calling the `SearchDomains` method with a query to see available domain name
31
+ # options. After choosing a name, call `RetrieveRegisterParameters` to
32
+ # ensure availability and obtain information like pricing, which is needed to
33
+ # build a call to `RegisterDomain`.
34
+ #
35
+ # Another way to create a new `Registration` is to transfer an existing
36
+ # domain from another registrar. First, go to the current registrar to unlock
37
+ # the domain for transfer and retrieve the domain's transfer authorization
38
+ # code. Then call `RetrieveTransferParameters` to confirm that the domain is
39
+ # unlocked and to get values needed to build a call to `TransferDomain`.
40
+ # @!attribute [r] name
41
+ # @return [::String]
42
+ # Output only. Name of the `Registration` resource, in the format
43
+ # `projects/*/locations/*/registrations/<domain_name>`.
44
+ # @!attribute [rw] domain_name
45
+ # @return [::String]
46
+ # Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format.
47
+ # @!attribute [r] create_time
48
+ # @return [::Google::Protobuf::Timestamp]
49
+ # Output only. The creation timestamp of the `Registration` resource.
50
+ # @!attribute [r] expire_time
51
+ # @return [::Google::Protobuf::Timestamp]
52
+ # Output only. The expiration timestamp of the `Registration`.
53
+ # @!attribute [r] state
54
+ # @return [::Google::Cloud::Domains::V1::Registration::State]
55
+ # Output only. The state of the `Registration`
56
+ # @!attribute [r] issues
57
+ # @return [::Array<::Google::Cloud::Domains::V1::Registration::Issue>]
58
+ # Output only. The set of issues with the `Registration` that require attention.
59
+ # @!attribute [rw] labels
60
+ # @return [::Google::Protobuf::Map{::String => ::String}]
61
+ # Set of labels associated with the `Registration`.
62
+ # @!attribute [rw] management_settings
63
+ # @return [::Google::Cloud::Domains::V1::ManagementSettings]
64
+ # Settings for management of the `Registration`, including renewal, billing,
65
+ # and transfer. You cannot update these with the `UpdateRegistration`
66
+ # method. To update these settings, use the `ConfigureManagementSettings`
67
+ # method.
68
+ # @!attribute [rw] dns_settings
69
+ # @return [::Google::Cloud::Domains::V1::DnsSettings]
70
+ # Settings controlling the DNS configuration of the `Registration`. You
71
+ # cannot update these with the `UpdateRegistration` method. To update these
72
+ # settings, use the `ConfigureDnsSettings` method.
73
+ # @!attribute [rw] contact_settings
74
+ # @return [::Google::Cloud::Domains::V1::ContactSettings]
75
+ # Required. Settings for contact information linked to the `Registration`. You cannot
76
+ # update these with the `UpdateRegistration` method. To update these
77
+ # settings, use the `ConfigureContactSettings` method.
78
+ # @!attribute [r] pending_contact_settings
79
+ # @return [::Google::Cloud::Domains::V1::ContactSettings]
80
+ # Output only. Pending contact settings for the `Registration`. Updates to the
81
+ # `contact_settings` field that change its `registrant_contact` or `privacy`
82
+ # fields require email confirmation by the `registrant_contact`
83
+ # before taking effect. This field is set only if there are pending updates
84
+ # to the `contact_settings` that have not been confirmed. To confirm the
85
+ # changes, the `registrant_contact` must follow the instructions in the
86
+ # email they receive.
87
+ # @!attribute [r] supported_privacy
88
+ # @return [::Array<::Google::Cloud::Domains::V1::ContactPrivacy>]
89
+ # Output only. Set of options for the `contact_settings.privacy` field that this
90
+ # `Registration` supports.
91
+ class Registration
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+
95
+ # @!attribute [rw] key
96
+ # @return [::String]
97
+ # @!attribute [rw] value
98
+ # @return [::String]
99
+ class LabelsEntry
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # Possible states of a `Registration`.
105
+ module State
106
+ # The state is undefined.
107
+ STATE_UNSPECIFIED = 0
108
+
109
+ # The domain is being registered.
110
+ REGISTRATION_PENDING = 1
111
+
112
+ # The domain registration failed. You can delete resources in this state
113
+ # to allow registration to be retried.
114
+ REGISTRATION_FAILED = 2
115
+
116
+ # The domain is being transferred from another registrar to Cloud Domains.
117
+ TRANSFER_PENDING = 3
118
+
119
+ # The attempt to transfer the domain from another registrar to
120
+ # Cloud Domains failed. You can delete resources in this state and retry
121
+ # the transfer.
122
+ TRANSFER_FAILED = 4
123
+
124
+ # The domain is registered and operational. The domain renews automatically
125
+ # as long as it remains in this state.
126
+ ACTIVE = 6
127
+
128
+ # The domain is suspended and inoperative. For more details, see the
129
+ # `issues` field.
130
+ SUSPENDED = 7
131
+
132
+ # The domain is no longer managed with Cloud Domains. It may have been
133
+ # transferred to another registrar or exported for management in
134
+ # [Google Domains](https://domains.google/). You can no longer update it
135
+ # with this API, and information shown about it may be stale. Domains in
136
+ # this state are not automatically renewed by Cloud Domains.
137
+ EXPORTED = 8
138
+ end
139
+
140
+ # Possible issues with a `Registration` that require attention.
141
+ module Issue
142
+ # The issue is undefined.
143
+ ISSUE_UNSPECIFIED = 0
144
+
145
+ # Contact the Cloud Support team to resolve a problem with this domain.
146
+ CONTACT_SUPPORT = 1
147
+
148
+ # [ICANN](https://icann.org/) requires verification of the email address
149
+ # in the `Registration`'s `contact_settings.registrant_contact` field. To
150
+ # verify the email address, follow the
151
+ # instructions in the email the `registrant_contact` receives following
152
+ # registration. If you do not complete email verification within
153
+ # 15 days of registration, the domain is suspended. To resend the
154
+ # verification email, call ConfigureContactSettings and provide the current
155
+ # `registrant_contact.email`.
156
+ UNVERIFIED_EMAIL = 2
157
+ end
158
+ end
159
+
160
+ # Defines renewal, billing, and transfer settings for a `Registration`.
161
+ # @!attribute [r] renewal_method
162
+ # @return [::Google::Cloud::Domains::V1::ManagementSettings::RenewalMethod]
163
+ # Output only. The renewal method for this `Registration`.
164
+ # @!attribute [rw] transfer_lock_state
165
+ # @return [::Google::Cloud::Domains::V1::TransferLockState]
166
+ # Controls whether the domain can be transferred to another registrar.
167
+ class ManagementSettings
168
+ include ::Google::Protobuf::MessageExts
169
+ extend ::Google::Protobuf::MessageExts::ClassMethods
170
+
171
+ # Defines how the `Registration` is renewed.
172
+ module RenewalMethod
173
+ # The renewal method is undefined.
174
+ RENEWAL_METHOD_UNSPECIFIED = 0
175
+
176
+ # The domain is automatically renewed each year .
177
+ #
178
+ # To disable automatic renewals, delete the resource by calling
179
+ # `DeleteRegistration` or export it by calling `ExportRegistration`.
180
+ AUTOMATIC_RENEWAL = 1
181
+
182
+ # The domain must be explicitly renewed each year before its
183
+ # `expire_time`. This option is only available when the `Registration`
184
+ # is in state `EXPORTED`.
185
+ #
186
+ # To manage the domain's current billing and
187
+ # renewal settings, go to [Google Domains](https://domains.google/).
188
+ MANUAL_RENEWAL = 2
189
+ end
190
+ end
191
+
192
+ # Defines the DNS configuration of a `Registration`, including name servers,
193
+ # DNSSEC, and glue records.
194
+ # @!attribute [rw] custom_dns
195
+ # @return [::Google::Cloud::Domains::V1::DnsSettings::CustomDns]
196
+ # An arbitrary DNS provider identified by its name servers.
197
+ # @!attribute [rw] google_domains_dns
198
+ # @return [::Google::Cloud::Domains::V1::DnsSettings::GoogleDomainsDns]
199
+ # The free DNS zone provided by
200
+ # [Google Domains](https://domains.google/).
201
+ # @!attribute [rw] glue_records
202
+ # @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::GlueRecord>]
203
+ # The list of glue records for this `Registration`. Commonly empty.
204
+ class DnsSettings
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # Configuration for an arbitrary DNS provider.
209
+ # @!attribute [rw] name_servers
210
+ # @return [::Array<::String>]
211
+ # Required. A list of name servers that store the DNS zone for this domain. Each name
212
+ # server is a domain name, with Unicode domain names expressed in
213
+ # Punycode format.
214
+ # @!attribute [rw] ds_records
215
+ # @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
216
+ # The list of DS records for this domain, which are used to enable DNSSEC.
217
+ # The domain's DNS provider can provide the values to set here. If this
218
+ # field is empty, DNSSEC is disabled.
219
+ class CustomDns
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+ end
223
+
224
+ # Configuration for using the free DNS zone provided by Google Domains as a
225
+ # `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
226
+ # using the API. To configure the DNS zone, go to
227
+ # [Google Domains](https://domains.google/).
228
+ # @!attribute [r] name_servers
229
+ # @return [::Array<::String>]
230
+ # Output only. A list of name servers that store the DNS zone for this domain. Each name
231
+ # server is a domain name, with Unicode domain names expressed in
232
+ # Punycode format. This field is automatically populated with the name
233
+ # servers assigned to the Google Domains DNS zone.
234
+ # @!attribute [rw] ds_state
235
+ # @return [::Google::Cloud::Domains::V1::DnsSettings::DsState]
236
+ # Required. The state of DS records for this domain. Used to enable or disable
237
+ # automatic DNSSEC.
238
+ # @!attribute [r] ds_records
239
+ # @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
240
+ # Output only. The list of DS records published for this domain. The list is
241
+ # automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`,
242
+ # otherwise it remains empty.
243
+ class GoogleDomainsDns
244
+ include ::Google::Protobuf::MessageExts
245
+ extend ::Google::Protobuf::MessageExts::ClassMethods
246
+ end
247
+
248
+ # Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
249
+ # for a domain. It contains a digest (hash) of a DNSKEY record that must be
250
+ # present in the domain's DNS zone.
251
+ # @!attribute [rw] key_tag
252
+ # @return [::Integer]
253
+ # The key tag of the record. Must be set in range 0 -- 65535.
254
+ # @!attribute [rw] algorithm
255
+ # @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::Algorithm]
256
+ # The algorithm used to generate the referenced DNSKEY.
257
+ # @!attribute [rw] digest_type
258
+ # @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::DigestType]
259
+ # The hash function used to generate the digest of the referenced DNSKEY.
260
+ # @!attribute [rw] digest
261
+ # @return [::String]
262
+ # The digest generated from the referenced DNSKEY.
263
+ class DsRecord
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+
267
+ # List of algorithms used to create a DNSKEY. Certain
268
+ # algorithms are not supported for particular domains.
269
+ module Algorithm
270
+ # The algorithm is unspecified.
271
+ ALGORITHM_UNSPECIFIED = 0
272
+
273
+ # RSA/MD5. Cannot be used for new deployments.
274
+ RSAMD5 = 1
275
+
276
+ # Diffie-Hellman. Cannot be used for new deployments.
277
+ DH = 2
278
+
279
+ # DSA/SHA1. Not recommended for new deployments.
280
+ DSA = 3
281
+
282
+ # ECC. Not recommended for new deployments.
283
+ ECC = 4
284
+
285
+ # RSA/SHA-1. Not recommended for new deployments.
286
+ RSASHA1 = 5
287
+
288
+ # DSA-NSEC3-SHA1. Not recommended for new deployments.
289
+ DSANSEC3SHA1 = 6
290
+
291
+ # RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
292
+ RSASHA1NSEC3SHA1 = 7
293
+
294
+ # RSA/SHA-256.
295
+ RSASHA256 = 8
296
+
297
+ # RSA/SHA-512.
298
+ RSASHA512 = 10
299
+
300
+ # GOST R 34.10-2001.
301
+ ECCGOST = 12
302
+
303
+ # ECDSA Curve P-256 with SHA-256.
304
+ ECDSAP256SHA256 = 13
305
+
306
+ # ECDSA Curve P-384 with SHA-384.
307
+ ECDSAP384SHA384 = 14
308
+
309
+ # Ed25519.
310
+ ED25519 = 15
311
+
312
+ # Ed448.
313
+ ED448 = 16
314
+
315
+ # Reserved for Indirect Keys. Cannot be used for new deployments.
316
+ INDIRECT = 252
317
+
318
+ # Private algorithm. Cannot be used for new deployments.
319
+ PRIVATEDNS = 253
320
+
321
+ # Private algorithm OID. Cannot be used for new deployments.
322
+ PRIVATEOID = 254
323
+ end
324
+
325
+ # List of hash functions that may have been used to generate a digest of a
326
+ # DNSKEY.
327
+ module DigestType
328
+ # The DigestType is unspecified.
329
+ DIGEST_TYPE_UNSPECIFIED = 0
330
+
331
+ # SHA-1. Not recommended for new deployments.
332
+ SHA1 = 1
333
+
334
+ # SHA-256.
335
+ SHA256 = 2
336
+
337
+ # GOST R 34.11-94.
338
+ GOST3411 = 3
339
+
340
+ # SHA-384.
341
+ SHA384 = 4
342
+ end
343
+ end
344
+
345
+ # Defines a host on your domain that is a DNS name server for your domain
346
+ # and/or other domains. Glue records are a way of making the IP address of a
347
+ # name server known, even when it serves DNS queries for its parent domain.
348
+ # For example, when `ns.example.com` is a name server for `example.com`, the
349
+ # host `ns.example.com` must have a glue record to break the circular DNS
350
+ # reference.
351
+ # @!attribute [rw] host_name
352
+ # @return [::String]
353
+ # Required. Domain name of the host in Punycode format.
354
+ # @!attribute [rw] ipv4_addresses
355
+ # @return [::Array<::String>]
356
+ # List of IPv4 addresses corresponding to this host in the standard decimal
357
+ # format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
358
+ # `ipv6_address` must be set.
359
+ # @!attribute [rw] ipv6_addresses
360
+ # @return [::Array<::String>]
361
+ # List of IPv6 addresses corresponding to this host in the standard
362
+ # hexadecimal format (e.g. `2001:db8::`). At least one of
363
+ # `ipv4_address` and `ipv6_address` must be set.
364
+ class GlueRecord
365
+ include ::Google::Protobuf::MessageExts
366
+ extend ::Google::Protobuf::MessageExts::ClassMethods
367
+ end
368
+
369
+ # The publication state of DS records for a `Registration`.
370
+ module DsState
371
+ # DS state is unspecified.
372
+ DS_STATE_UNSPECIFIED = 0
373
+
374
+ # DNSSEC is disabled for this domain. No DS records for this domain are
375
+ # published in the parent DNS zone.
376
+ DS_RECORDS_UNPUBLISHED = 1
377
+
378
+ # DNSSEC is enabled for this domain. Appropriate DS records for this domain
379
+ # are published in the parent DNS zone. This option is valid only if the
380
+ # DNS zone referenced in the `Registration`'s `dns_provider` field is
381
+ # already DNSSEC-signed.
382
+ DS_RECORDS_PUBLISHED = 2
383
+ end
384
+ end
385
+
386
+ # Defines the contact information associated with a `Registration`.
387
+ #
388
+ # [ICANN](https://icann.org/) requires all domain names to have associated
389
+ # contact information. The `registrant_contact` is considered the
390
+ # domain's legal owner, and often the other contacts are identical.
391
+ # @!attribute [rw] privacy
392
+ # @return [::Google::Cloud::Domains::V1::ContactPrivacy]
393
+ # Required. Privacy setting for the contacts associated with the `Registration`.
394
+ # @!attribute [rw] registrant_contact
395
+ # @return [::Google::Cloud::Domains::V1::ContactSettings::Contact]
396
+ # Required. The registrant contact for the `Registration`.
397
+ #
398
+ # *Caution: Anyone with access to this email address, phone number,
399
+ # and/or postal address can take control of the domain.*
400
+ #
401
+ # *Warning: For new `Registration`s, the registrant receives an email
402
+ # confirmation that they must complete within 15 days to avoid domain
403
+ # suspension.*
404
+ # @!attribute [rw] admin_contact
405
+ # @return [::Google::Cloud::Domains::V1::ContactSettings::Contact]
406
+ # Required. The administrative contact for the `Registration`.
407
+ # @!attribute [rw] technical_contact
408
+ # @return [::Google::Cloud::Domains::V1::ContactSettings::Contact]
409
+ # Required. The technical contact for the `Registration`.
410
+ class ContactSettings
411
+ include ::Google::Protobuf::MessageExts
412
+ extend ::Google::Protobuf::MessageExts::ClassMethods
413
+
414
+ # Details required for a contact associated with a `Registration`.
415
+ # @!attribute [rw] postal_address
416
+ # @return [::Google::Type::PostalAddress]
417
+ # Required. Postal address of the contact.
418
+ # @!attribute [rw] email
419
+ # @return [::String]
420
+ # Required. Email address of the contact.
421
+ # @!attribute [rw] phone_number
422
+ # @return [::String]
423
+ # Required. Phone number of the contact in international format. For example,
424
+ # `"+1-800-555-0123"`.
425
+ # @!attribute [rw] fax_number
426
+ # @return [::String]
427
+ # Fax number of the contact in international format. For example,
428
+ # `"+1-800-555-0123"`.
429
+ class Contact
430
+ include ::Google::Protobuf::MessageExts
431
+ extend ::Google::Protobuf::MessageExts::ClassMethods
432
+ end
433
+ end
434
+
435
+ # Request for the `SearchDomains` method.
436
+ # @!attribute [rw] query
437
+ # @return [::String]
438
+ # Required. String used to search for available domain names.
439
+ # @!attribute [rw] location
440
+ # @return [::String]
441
+ # Required. The location. Must be in the format `projects/*/locations/*`.
442
+ class SearchDomainsRequest
443
+ include ::Google::Protobuf::MessageExts
444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
445
+ end
446
+
447
+ # Response for the `SearchDomains` method.
448
+ # @!attribute [rw] register_parameters
449
+ # @return [::Array<::Google::Cloud::Domains::V1::RegisterParameters>]
450
+ # Results of the domain name search.
451
+ class SearchDomainsResponse
452
+ include ::Google::Protobuf::MessageExts
453
+ extend ::Google::Protobuf::MessageExts::ClassMethods
454
+ end
455
+
456
+ # Request for the `RetrieveRegisterParameters` method.
457
+ # @!attribute [rw] domain_name
458
+ # @return [::String]
459
+ # Required. The domain name. Unicode domain names must be expressed in Punycode format.
460
+ # @!attribute [rw] location
461
+ # @return [::String]
462
+ # Required. The location. Must be in the format `projects/*/locations/*`.
463
+ class RetrieveRegisterParametersRequest
464
+ include ::Google::Protobuf::MessageExts
465
+ extend ::Google::Protobuf::MessageExts::ClassMethods
466
+ end
467
+
468
+ # Response for the `RetrieveRegisterParameters` method.
469
+ # @!attribute [rw] register_parameters
470
+ # @return [::Google::Cloud::Domains::V1::RegisterParameters]
471
+ # Parameters to use when calling the `RegisterDomain` method.
472
+ class RetrieveRegisterParametersResponse
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # Request for the `RegisterDomain` method.
478
+ # @!attribute [rw] parent
479
+ # @return [::String]
480
+ # Required. The parent resource of the `Registration`. Must be in the
481
+ # format `projects/*/locations/*`.
482
+ # @!attribute [rw] registration
483
+ # @return [::Google::Cloud::Domains::V1::Registration]
484
+ # Required. The complete `Registration` resource to be created.
485
+ # @!attribute [rw] domain_notices
486
+ # @return [::Array<::Google::Cloud::Domains::V1::DomainNotice>]
487
+ # The list of domain notices that you acknowledge. Call
488
+ # `RetrieveRegisterParameters` to see the notices that need acknowledgement.
489
+ # @!attribute [rw] contact_notices
490
+ # @return [::Array<::Google::Cloud::Domains::V1::ContactNotice>]
491
+ # The list of contact notices that the caller acknowledges. The notices
492
+ # needed here depend on the values specified in
493
+ # `registration.contact_settings`.
494
+ # @!attribute [rw] yearly_price
495
+ # @return [::Google::Type::Money]
496
+ # Required. Yearly price to register or renew the domain.
497
+ # The value that should be put here can be obtained from
498
+ # RetrieveRegisterParameters or SearchDomains calls.
499
+ # @!attribute [rw] validate_only
500
+ # @return [::Boolean]
501
+ # When true, only validation is performed, without actually registering
502
+ # the domain. Follows:
503
+ # https://cloud.google.com/apis/design/design_patterns#request_validation
504
+ class RegisterDomainRequest
505
+ include ::Google::Protobuf::MessageExts
506
+ extend ::Google::Protobuf::MessageExts::ClassMethods
507
+ end
508
+
509
+ # Request for the `RetrieveTransferParameters` method.
510
+ # @!attribute [rw] domain_name
511
+ # @return [::String]
512
+ # Required. The domain name. Unicode domain names must be expressed in Punycode format.
513
+ # @!attribute [rw] location
514
+ # @return [::String]
515
+ # Required. The location. Must be in the format `projects/*/locations/*`.
516
+ class RetrieveTransferParametersRequest
517
+ include ::Google::Protobuf::MessageExts
518
+ extend ::Google::Protobuf::MessageExts::ClassMethods
519
+ end
520
+
521
+ # Response for the `RetrieveTransferParameters` method.
522
+ # @!attribute [rw] transfer_parameters
523
+ # @return [::Google::Cloud::Domains::V1::TransferParameters]
524
+ # Parameters to use when calling the `TransferDomain` method.
525
+ class RetrieveTransferParametersResponse
526
+ include ::Google::Protobuf::MessageExts
527
+ extend ::Google::Protobuf::MessageExts::ClassMethods
528
+ end
529
+
530
+ # Request for the `TransferDomain` method.
531
+ # @!attribute [rw] parent
532
+ # @return [::String]
533
+ # Required. The parent resource of the `Registration`. Must be in the
534
+ # format `projects/*/locations/*`.
535
+ # @!attribute [rw] registration
536
+ # @return [::Google::Cloud::Domains::V1::Registration]
537
+ # Required. The complete `Registration` resource to be created.
538
+ #
539
+ # You can leave `registration.dns_settings` unset to import the
540
+ # domain's current DNS configuration from its current registrar. Use this
541
+ # option only if you are sure that the domain's current DNS service
542
+ # does not cease upon transfer, as is often the case for DNS services
543
+ # provided for free by the registrar.
544
+ # @!attribute [rw] contact_notices
545
+ # @return [::Array<::Google::Cloud::Domains::V1::ContactNotice>]
546
+ # The list of contact notices that you acknowledge. The notices
547
+ # needed here depend on the values specified in
548
+ # `registration.contact_settings`.
549
+ # @!attribute [rw] yearly_price
550
+ # @return [::Google::Type::Money]
551
+ # Required. Acknowledgement of the price to transfer or renew the domain for one year.
552
+ # Call `RetrieveTransferParameters` to obtain the price, which you must
553
+ # acknowledge.
554
+ # @!attribute [rw] authorization_code
555
+ # @return [::Google::Cloud::Domains::V1::AuthorizationCode]
556
+ # The domain's transfer authorization code. You can obtain this from the
557
+ # domain's current registrar.
558
+ # @!attribute [rw] validate_only
559
+ # @return [::Boolean]
560
+ # Validate the request without actually transferring the domain.
561
+ class TransferDomainRequest
562
+ include ::Google::Protobuf::MessageExts
563
+ extend ::Google::Protobuf::MessageExts::ClassMethods
564
+ end
565
+
566
+ # Request for the `ListRegistrations` method.
567
+ # @!attribute [rw] parent
568
+ # @return [::String]
569
+ # Required. The project and location from which to list `Registration`s, specified in
570
+ # the format `projects/*/locations/*`.
571
+ # @!attribute [rw] page_size
572
+ # @return [::Integer]
573
+ # Maximum number of results to return.
574
+ # @!attribute [rw] page_token
575
+ # @return [::String]
576
+ # When set to the `next_page_token` from a prior response, provides the next
577
+ # page of results.
578
+ # @!attribute [rw] filter
579
+ # @return [::String]
580
+ # Filter expression to restrict the `Registration`s returned.
581
+ #
582
+ # The expression must specify the field name, a comparison operator, and the
583
+ # value that you want to use for filtering. The value must be a string, a
584
+ # number, a boolean, or an enum value. The comparison operator should be one
585
+ # of =, !=, >, <, >=, <=, or : for prefix or wildcard matches.
586
+ #
587
+ # For example, to filter to a specific domain name, use an expression like
588
+ # `domainName="example.com"`. You can also check for the existence of a
589
+ # field; for example, to find domains using custom DNS settings, use an
590
+ # expression like `dnsSettings.customDns:*`.
591
+ #
592
+ # You can also create compound filters by combining expressions with the
593
+ # `AND` and `OR` operators. For example, to find domains that are suspended
594
+ # or have specific issues flagged, use an expression like
595
+ # `(state=SUSPENDED) OR (issue:*)`.
596
+ class ListRegistrationsRequest
597
+ include ::Google::Protobuf::MessageExts
598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
599
+ end
600
+
601
+ # Response for the `ListRegistrations` method.
602
+ # @!attribute [rw] registrations
603
+ # @return [::Array<::Google::Cloud::Domains::V1::Registration>]
604
+ # A list of `Registration`s.
605
+ # @!attribute [rw] next_page_token
606
+ # @return [::String]
607
+ # When present, there are more results to retrieve. Set `page_token` to this
608
+ # value on a subsequent call to get the next page of results.
609
+ class ListRegistrationsResponse
610
+ include ::Google::Protobuf::MessageExts
611
+ extend ::Google::Protobuf::MessageExts::ClassMethods
612
+ end
613
+
614
+ # Request for the `GetRegistration` method.
615
+ # @!attribute [rw] name
616
+ # @return [::String]
617
+ # Required. The name of the `Registration` to get, in the format
618
+ # `projects/*/locations/*/registrations/*`.
619
+ class GetRegistrationRequest
620
+ include ::Google::Protobuf::MessageExts
621
+ extend ::Google::Protobuf::MessageExts::ClassMethods
622
+ end
623
+
624
+ # Request for the `UpdateRegistration` method.
625
+ # @!attribute [rw] registration
626
+ # @return [::Google::Cloud::Domains::V1::Registration]
627
+ # Fields of the `Registration` to update.
628
+ # @!attribute [rw] update_mask
629
+ # @return [::Google::Protobuf::FieldMask]
630
+ # Required. The field mask describing which fields to update as a comma-separated list.
631
+ # For example, if only the labels are being updated, the `update_mask` is
632
+ # `"labels"`.
633
+ class UpdateRegistrationRequest
634
+ include ::Google::Protobuf::MessageExts
635
+ extend ::Google::Protobuf::MessageExts::ClassMethods
636
+ end
637
+
638
+ # Request for the `ConfigureManagementSettings` method.
639
+ # @!attribute [rw] registration
640
+ # @return [::String]
641
+ # Required. The name of the `Registration` whose management settings are being updated,
642
+ # in the format `projects/*/locations/*/registrations/*`.
643
+ # @!attribute [rw] management_settings
644
+ # @return [::Google::Cloud::Domains::V1::ManagementSettings]
645
+ # Fields of the `ManagementSettings` to update.
646
+ # @!attribute [rw] update_mask
647
+ # @return [::Google::Protobuf::FieldMask]
648
+ # Required. The field mask describing which fields to update as a comma-separated list.
649
+ # For example, if only the transfer lock is being updated, the `update_mask`
650
+ # is `"transfer_lock_state"`.
651
+ class ConfigureManagementSettingsRequest
652
+ include ::Google::Protobuf::MessageExts
653
+ extend ::Google::Protobuf::MessageExts::ClassMethods
654
+ end
655
+
656
+ # Request for the `ConfigureDnsSettings` method.
657
+ # @!attribute [rw] registration
658
+ # @return [::String]
659
+ # Required. The name of the `Registration` whose DNS settings are being updated,
660
+ # in the format `projects/*/locations/*/registrations/*`.
661
+ # @!attribute [rw] dns_settings
662
+ # @return [::Google::Cloud::Domains::V1::DnsSettings]
663
+ # Fields of the `DnsSettings` to update.
664
+ # @!attribute [rw] update_mask
665
+ # @return [::Google::Protobuf::FieldMask]
666
+ # Required. The field mask describing which fields to update as a comma-separated list.
667
+ # For example, if only the name servers are being updated for an existing
668
+ # Custom DNS configuration, the `update_mask` is
669
+ # `"custom_dns.name_servers"`.
670
+ #
671
+ # When changing the DNS provider from one type to another, pass the new
672
+ # provider's field name as part of the field mask. For example, when changing
673
+ # from a Google Domains DNS configuration to a Custom DNS configuration, the
674
+ # `update_mask` is `"custom_dns"`. //
675
+ # @!attribute [rw] validate_only
676
+ # @return [::Boolean]
677
+ # Validate the request without actually updating the DNS settings.
678
+ class ConfigureDnsSettingsRequest
679
+ include ::Google::Protobuf::MessageExts
680
+ extend ::Google::Protobuf::MessageExts::ClassMethods
681
+ end
682
+
683
+ # Request for the `ConfigureContactSettings` method.
684
+ # @!attribute [rw] registration
685
+ # @return [::String]
686
+ # Required. The name of the `Registration` whose contact settings are being updated,
687
+ # in the format `projects/*/locations/*/registrations/*`.
688
+ # @!attribute [rw] contact_settings
689
+ # @return [::Google::Cloud::Domains::V1::ContactSettings]
690
+ # Fields of the `ContactSettings` to update.
691
+ # @!attribute [rw] update_mask
692
+ # @return [::Google::Protobuf::FieldMask]
693
+ # Required. The field mask describing which fields to update as a comma-separated list.
694
+ # For example, if only the registrant contact is being updated, the
695
+ # `update_mask` is `"registrant_contact"`.
696
+ # @!attribute [rw] contact_notices
697
+ # @return [::Array<::Google::Cloud::Domains::V1::ContactNotice>]
698
+ # The list of contact notices that the caller acknowledges. The notices
699
+ # needed here depend on the values specified in `contact_settings`.
700
+ # @!attribute [rw] validate_only
701
+ # @return [::Boolean]
702
+ # Validate the request without actually updating the contact settings.
703
+ class ConfigureContactSettingsRequest
704
+ include ::Google::Protobuf::MessageExts
705
+ extend ::Google::Protobuf::MessageExts::ClassMethods
706
+ end
707
+
708
+ # Request for the `ExportRegistration` method.
709
+ # @!attribute [rw] name
710
+ # @return [::String]
711
+ # Required. The name of the `Registration` to export,
712
+ # in the format `projects/*/locations/*/registrations/*`.
713
+ class ExportRegistrationRequest
714
+ include ::Google::Protobuf::MessageExts
715
+ extend ::Google::Protobuf::MessageExts::ClassMethods
716
+ end
717
+
718
+ # Request for the `DeleteRegistration` method.
719
+ # @!attribute [rw] name
720
+ # @return [::String]
721
+ # Required. The name of the `Registration` to delete,
722
+ # in the format `projects/*/locations/*/registrations/*`.
723
+ class DeleteRegistrationRequest
724
+ include ::Google::Protobuf::MessageExts
725
+ extend ::Google::Protobuf::MessageExts::ClassMethods
726
+ end
727
+
728
+ # Request for the `RetrieveAuthorizationCode` method.
729
+ # @!attribute [rw] registration
730
+ # @return [::String]
731
+ # Required. The name of the `Registration` whose authorization code is being retrieved,
732
+ # in the format `projects/*/locations/*/registrations/*`.
733
+ class RetrieveAuthorizationCodeRequest
734
+ include ::Google::Protobuf::MessageExts
735
+ extend ::Google::Protobuf::MessageExts::ClassMethods
736
+ end
737
+
738
+ # Request for the `ResetAuthorizationCode` method.
739
+ # @!attribute [rw] registration
740
+ # @return [::String]
741
+ # Required. The name of the `Registration` whose authorization code is being reset,
742
+ # in the format `projects/*/locations/*/registrations/*`.
743
+ class ResetAuthorizationCodeRequest
744
+ include ::Google::Protobuf::MessageExts
745
+ extend ::Google::Protobuf::MessageExts::ClassMethods
746
+ end
747
+
748
+ # Parameters required to register a new domain.
749
+ # @!attribute [rw] domain_name
750
+ # @return [::String]
751
+ # The domain name. Unicode domain names are expressed in Punycode format.
752
+ # @!attribute [rw] availability
753
+ # @return [::Google::Cloud::Domains::V1::RegisterParameters::Availability]
754
+ # Indicates whether the domain is available for registration. This value is
755
+ # accurate when obtained by calling `RetrieveRegisterParameters`, but is
756
+ # approximate when obtained by calling `SearchDomains`.
757
+ # @!attribute [rw] supported_privacy
758
+ # @return [::Array<::Google::Cloud::Domains::V1::ContactPrivacy>]
759
+ # Contact privacy options that the domain supports.
760
+ # @!attribute [rw] domain_notices
761
+ # @return [::Array<::Google::Cloud::Domains::V1::DomainNotice>]
762
+ # Notices about special properties of the domain.
763
+ # @!attribute [rw] yearly_price
764
+ # @return [::Google::Type::Money]
765
+ # Price to register or renew the domain for one year.
766
+ class RegisterParameters
767
+ include ::Google::Protobuf::MessageExts
768
+ extend ::Google::Protobuf::MessageExts::ClassMethods
769
+
770
+ # Possible availability states of a domain name.
771
+ module Availability
772
+ # The availability is unspecified.
773
+ AVAILABILITY_UNSPECIFIED = 0
774
+
775
+ # The domain is available for registration.
776
+ AVAILABLE = 1
777
+
778
+ # The domain is not available for registration. Generally this means it is
779
+ # already registered to another party.
780
+ UNAVAILABLE = 2
781
+
782
+ # The domain is not currently supported by Cloud Domains, but may
783
+ # be available elsewhere.
784
+ UNSUPPORTED = 3
785
+
786
+ # Cloud Domains is unable to determine domain availability, generally
787
+ # due to system maintenance at the domain name registry.
788
+ UNKNOWN = 4
789
+ end
790
+ end
791
+
792
+ # Parameters required to transfer a domain from another registrar.
793
+ # @!attribute [rw] domain_name
794
+ # @return [::String]
795
+ # The domain name. Unicode domain names are expressed in Punycode format.
796
+ # @!attribute [rw] current_registrar
797
+ # @return [::String]
798
+ # The registrar that currently manages the domain.
799
+ # @!attribute [rw] name_servers
800
+ # @return [::Array<::String>]
801
+ # The name servers that currently store the configuration of the domain.
802
+ # @!attribute [rw] transfer_lock_state
803
+ # @return [::Google::Cloud::Domains::V1::TransferLockState]
804
+ # Indicates whether the domain is protected by a transfer lock. For a
805
+ # transfer to succeed, this must show `UNLOCKED`. To unlock a domain,
806
+ # go to its current registrar.
807
+ # @!attribute [rw] supported_privacy
808
+ # @return [::Array<::Google::Cloud::Domains::V1::ContactPrivacy>]
809
+ # Contact privacy options that the domain supports.
810
+ # @!attribute [rw] yearly_price
811
+ # @return [::Google::Type::Money]
812
+ # Price to transfer or renew the domain for one year.
813
+ class TransferParameters
814
+ include ::Google::Protobuf::MessageExts
815
+ extend ::Google::Protobuf::MessageExts::ClassMethods
816
+ end
817
+
818
+ # Defines an authorization code.
819
+ # @!attribute [rw] code
820
+ # @return [::String]
821
+ # The Authorization Code in ASCII. It can be used to transfer the domain
822
+ # to or from another registrar.
823
+ class AuthorizationCode
824
+ include ::Google::Protobuf::MessageExts
825
+ extend ::Google::Protobuf::MessageExts::ClassMethods
826
+ end
827
+
828
+ # Represents the metadata of the long-running operation. Output only.
829
+ # @!attribute [rw] create_time
830
+ # @return [::Google::Protobuf::Timestamp]
831
+ # The time the operation was created.
832
+ # @!attribute [rw] end_time
833
+ # @return [::Google::Protobuf::Timestamp]
834
+ # The time the operation finished running.
835
+ # @!attribute [rw] target
836
+ # @return [::String]
837
+ # Server-defined resource path for the target of the operation.
838
+ # @!attribute [rw] verb
839
+ # @return [::String]
840
+ # Name of the verb executed by the operation.
841
+ # @!attribute [rw] status_detail
842
+ # @return [::String]
843
+ # Human-readable status of the operation, if any.
844
+ # @!attribute [rw] api_version
845
+ # @return [::String]
846
+ # API version used to start the operation.
847
+ class OperationMetadata
848
+ include ::Google::Protobuf::MessageExts
849
+ extend ::Google::Protobuf::MessageExts::ClassMethods
850
+ end
851
+
852
+ # Defines a set of possible contact privacy settings for a `Registration`.
853
+ #
854
+ # [ICANN](https://icann.org/) maintains the WHOIS database, a publicly
855
+ # accessible mapping from domain name to contact information, and requires that
856
+ # each domain name have an entry. Choose from these options to control how much
857
+ # information in your `ContactSettings` is published.
858
+ module ContactPrivacy
859
+ # The contact privacy settings are undefined.
860
+ CONTACT_PRIVACY_UNSPECIFIED = 0
861
+
862
+ # All the data from `ContactSettings` is publicly available. When setting
863
+ # this option, you must also provide a
864
+ # `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the
865
+ # request.
866
+ PUBLIC_CONTACT_DATA = 1
867
+
868
+ # None of the data from `ContactSettings` is publicly available. Instead,
869
+ # proxy contact data is published for your domain. Email sent to the proxy
870
+ # email address is forwarded to the registrant's email address. Cloud Domains
871
+ # provides this privacy proxy service at no additional cost.
872
+ PRIVATE_CONTACT_DATA = 2
873
+
874
+ # Some data from `ContactSettings` is publicly available. The actual
875
+ # information redacted depends on the domain. For details, see [the
876
+ # registration privacy
877
+ # article](https://support.google.com/domains/answer/3251242).
878
+ REDACTED_CONTACT_DATA = 3
879
+ end
880
+
881
+ # Notices about special properties of certain domains.
882
+ module DomainNotice
883
+ # The notice is undefined.
884
+ DOMAIN_NOTICE_UNSPECIFIED = 0
885
+
886
+ # Indicates that the domain is preloaded on the HTTP Strict Transport
887
+ # Security list in browsers. Serving a website on such domain requires
888
+ # an SSL certificate. For details, see
889
+ # [how to get an SSL
890
+ # certificate](https://support.google.com/domains/answer/7638036).
891
+ HSTS_PRELOADED = 1
892
+ end
893
+
894
+ # Notices related to contact information.
895
+ module ContactNotice
896
+ # The notice is undefined.
897
+ CONTACT_NOTICE_UNSPECIFIED = 0
898
+
899
+ # Required when setting the `privacy` field of `ContactSettings` to
900
+ # `PUBLIC_CONTACT_DATA`, which exposes contact data publicly.
901
+ PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1
902
+ end
903
+
904
+ # Possible states of a `Registration`'s transfer lock.
905
+ module TransferLockState
906
+ # The state is unspecified.
907
+ TRANSFER_LOCK_STATE_UNSPECIFIED = 0
908
+
909
+ # The domain is unlocked and can be transferred to another registrar.
910
+ UNLOCKED = 1
911
+
912
+ # The domain is locked and cannot be transferred to another registrar.
913
+ LOCKED = 2
914
+ end
915
+ end
916
+ end
917
+ end
918
+ end