google-cloud-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,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