Class: Google::Cloud::Domains::V1::DnsSettings

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/domains/v1/domains.rb

Overview

Defines the DNS configuration of a Registration, including name servers, DNSSEC, and glue records.

Defined Under Namespace

Modules: DsState Classes: CustomDns, DsRecord, GlueRecord, GoogleDomainsDns

Instance Attribute Summary collapse

Instance Attribute Details

#custom_dns::Google::Cloud::Domains::V1::DnsSettings::CustomDns

Returns An arbitrary DNS provider identified by its name servers.

Returns:



204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
# File 'proto_docs/google/cloud/domains/v1/domains.rb', line 204

class DnsSettings
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Configuration for an arbitrary DNS provider.
  # @!attribute [rw] name_servers
  #   @return [::Array<::String>]
  #     Required. A list of name servers that store the DNS zone for this domain. Each name
  #     server is a domain name, with Unicode domain names expressed in
  #     Punycode format.
  # @!attribute [rw] ds_records
  #   @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
  #     The list of DS records for this domain, which are used to enable DNSSEC.
  #     The domain's DNS provider can provide the values to set here. If this
  #     field is empty, DNSSEC is disabled.
  class CustomDns
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Configuration for using the free DNS zone provided by Google Domains as a
  # `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
  # using the API. To configure the DNS zone, go to
  # [Google Domains](https://domains.google/).
  # @!attribute [r] name_servers
  #   @return [::Array<::String>]
  #     Output only. A list of name servers that store the DNS zone for this domain. Each name
  #     server is a domain name, with Unicode domain names expressed in
  #     Punycode format. This field is automatically populated with the name
  #     servers assigned to the Google Domains DNS zone.
  # @!attribute [rw] ds_state
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsState]
  #     Required. The state of DS records for this domain. Used to enable or disable
  #     automatic DNSSEC.
  # @!attribute [r] ds_records
  #   @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
  #     Output only. The list of DS records published for this domain. The list is
  #     automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`,
  #     otherwise it remains empty.
  class GoogleDomainsDns
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
  # for a domain. It contains a digest (hash) of a DNSKEY record that must be
  # present in the domain's DNS zone.
  # @!attribute [rw] key_tag
  #   @return [::Integer]
  #     The key tag of the record. Must be set in range 0 -- 65535.
  # @!attribute [rw] algorithm
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::Algorithm]
  #     The algorithm used to generate the referenced DNSKEY.
  # @!attribute [rw] digest_type
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::DigestType]
  #     The hash function used to generate the digest of the referenced DNSKEY.
  # @!attribute [rw] digest
  #   @return [::String]
  #     The digest generated from the referenced DNSKEY.
  class DsRecord
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # List of algorithms used to create a DNSKEY. Certain
    # algorithms are not supported for particular domains.
    module Algorithm
      # The algorithm is unspecified.
      ALGORITHM_UNSPECIFIED = 0

      # RSA/MD5. Cannot be used for new deployments.
      RSAMD5 = 1

      # Diffie-Hellman. Cannot be used for new deployments.
      DH = 2

      # DSA/SHA1. Not recommended for new deployments.
      DSA = 3

      # ECC. Not recommended for new deployments.
      ECC = 4

      # RSA/SHA-1. Not recommended for new deployments.
      RSASHA1 = 5

      # DSA-NSEC3-SHA1. Not recommended for new deployments.
      DSANSEC3SHA1 = 6

      # RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
      RSASHA1NSEC3SHA1 = 7

      # RSA/SHA-256.
      RSASHA256 = 8

      # RSA/SHA-512.
      RSASHA512 = 10

      # GOST R 34.10-2001.
      ECCGOST = 12

      # ECDSA Curve P-256 with SHA-256.
      ECDSAP256SHA256 = 13

      # ECDSA Curve P-384 with SHA-384.
      ECDSAP384SHA384 = 14

      # Ed25519.
      ED25519 = 15

      # Ed448.
      ED448 = 16

      # Reserved for Indirect Keys. Cannot be used for new deployments.
      INDIRECT = 252

      # Private algorithm. Cannot be used for new deployments.
      PRIVATEDNS = 253

      # Private algorithm OID. Cannot be used for new deployments.
      PRIVATEOID = 254
    end

    # List of hash functions that may have been used to generate a digest of a
    # DNSKEY.
    module DigestType
      # The DigestType is unspecified.
      DIGEST_TYPE_UNSPECIFIED = 0

      # SHA-1. Not recommended for new deployments.
      SHA1 = 1

      # SHA-256.
      SHA256 = 2

      # GOST R 34.11-94.
      GOST3411 = 3

      # SHA-384.
      SHA384 = 4
    end
  end

  # Defines a host on your domain that is a DNS name server for your domain
  # and/or other domains. Glue records are a way of making the IP address of a
  # name server known, even when it serves DNS queries for its parent domain.
  # For example, when `ns.example.com` is a name server for `example.com`, the
  # host `ns.example.com` must have a glue record to break the circular DNS
  # reference.
  # @!attribute [rw] host_name
  #   @return [::String]
  #     Required. Domain name of the host in Punycode format.
  # @!attribute [rw] ipv4_addresses
  #   @return [::Array<::String>]
  #     List of IPv4 addresses corresponding to this host in the standard decimal
  #     format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
  #     `ipv6_address` must be set.
  # @!attribute [rw] ipv6_addresses
  #   @return [::Array<::String>]
  #     List of IPv6 addresses corresponding to this host in the standard
  #     hexadecimal format (e.g. `2001:db8::`). At least one of
  #     `ipv4_address` and `ipv6_address` must be set.
  class GlueRecord
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The publication state of DS records for a `Registration`.
  module DsState
    # DS state is unspecified.
    DS_STATE_UNSPECIFIED = 0

    # DNSSEC is disabled for this domain. No DS records for this domain are
    # published in the parent DNS zone.
    DS_RECORDS_UNPUBLISHED = 1

    # DNSSEC is enabled for this domain. Appropriate DS records for this domain
    # are published in the parent DNS zone. This option is valid only if the
    # DNS zone referenced in the `Registration`'s `dns_provider` field is
    # already DNSSEC-signed.
    DS_RECORDS_PUBLISHED = 2
  end
end

#glue_records::Array<::Google::Cloud::Domains::V1::DnsSettings::GlueRecord>

Returns The list of glue records for this Registration. Commonly empty.

Returns:



204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
# File 'proto_docs/google/cloud/domains/v1/domains.rb', line 204

class DnsSettings
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Configuration for an arbitrary DNS provider.
  # @!attribute [rw] name_servers
  #   @return [::Array<::String>]
  #     Required. A list of name servers that store the DNS zone for this domain. Each name
  #     server is a domain name, with Unicode domain names expressed in
  #     Punycode format.
  # @!attribute [rw] ds_records
  #   @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
  #     The list of DS records for this domain, which are used to enable DNSSEC.
  #     The domain's DNS provider can provide the values to set here. If this
  #     field is empty, DNSSEC is disabled.
  class CustomDns
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Configuration for using the free DNS zone provided by Google Domains as a
  # `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
  # using the API. To configure the DNS zone, go to
  # [Google Domains](https://domains.google/).
  # @!attribute [r] name_servers
  #   @return [::Array<::String>]
  #     Output only. A list of name servers that store the DNS zone for this domain. Each name
  #     server is a domain name, with Unicode domain names expressed in
  #     Punycode format. This field is automatically populated with the name
  #     servers assigned to the Google Domains DNS zone.
  # @!attribute [rw] ds_state
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsState]
  #     Required. The state of DS records for this domain. Used to enable or disable
  #     automatic DNSSEC.
  # @!attribute [r] ds_records
  #   @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
  #     Output only. The list of DS records published for this domain. The list is
  #     automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`,
  #     otherwise it remains empty.
  class GoogleDomainsDns
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
  # for a domain. It contains a digest (hash) of a DNSKEY record that must be
  # present in the domain's DNS zone.
  # @!attribute [rw] key_tag
  #   @return [::Integer]
  #     The key tag of the record. Must be set in range 0 -- 65535.
  # @!attribute [rw] algorithm
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::Algorithm]
  #     The algorithm used to generate the referenced DNSKEY.
  # @!attribute [rw] digest_type
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::DigestType]
  #     The hash function used to generate the digest of the referenced DNSKEY.
  # @!attribute [rw] digest
  #   @return [::String]
  #     The digest generated from the referenced DNSKEY.
  class DsRecord
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # List of algorithms used to create a DNSKEY. Certain
    # algorithms are not supported for particular domains.
    module Algorithm
      # The algorithm is unspecified.
      ALGORITHM_UNSPECIFIED = 0

      # RSA/MD5. Cannot be used for new deployments.
      RSAMD5 = 1

      # Diffie-Hellman. Cannot be used for new deployments.
      DH = 2

      # DSA/SHA1. Not recommended for new deployments.
      DSA = 3

      # ECC. Not recommended for new deployments.
      ECC = 4

      # RSA/SHA-1. Not recommended for new deployments.
      RSASHA1 = 5

      # DSA-NSEC3-SHA1. Not recommended for new deployments.
      DSANSEC3SHA1 = 6

      # RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
      RSASHA1NSEC3SHA1 = 7

      # RSA/SHA-256.
      RSASHA256 = 8

      # RSA/SHA-512.
      RSASHA512 = 10

      # GOST R 34.10-2001.
      ECCGOST = 12

      # ECDSA Curve P-256 with SHA-256.
      ECDSAP256SHA256 = 13

      # ECDSA Curve P-384 with SHA-384.
      ECDSAP384SHA384 = 14

      # Ed25519.
      ED25519 = 15

      # Ed448.
      ED448 = 16

      # Reserved for Indirect Keys. Cannot be used for new deployments.
      INDIRECT = 252

      # Private algorithm. Cannot be used for new deployments.
      PRIVATEDNS = 253

      # Private algorithm OID. Cannot be used for new deployments.
      PRIVATEOID = 254
    end

    # List of hash functions that may have been used to generate a digest of a
    # DNSKEY.
    module DigestType
      # The DigestType is unspecified.
      DIGEST_TYPE_UNSPECIFIED = 0

      # SHA-1. Not recommended for new deployments.
      SHA1 = 1

      # SHA-256.
      SHA256 = 2

      # GOST R 34.11-94.
      GOST3411 = 3

      # SHA-384.
      SHA384 = 4
    end
  end

  # Defines a host on your domain that is a DNS name server for your domain
  # and/or other domains. Glue records are a way of making the IP address of a
  # name server known, even when it serves DNS queries for its parent domain.
  # For example, when `ns.example.com` is a name server for `example.com`, the
  # host `ns.example.com` must have a glue record to break the circular DNS
  # reference.
  # @!attribute [rw] host_name
  #   @return [::String]
  #     Required. Domain name of the host in Punycode format.
  # @!attribute [rw] ipv4_addresses
  #   @return [::Array<::String>]
  #     List of IPv4 addresses corresponding to this host in the standard decimal
  #     format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
  #     `ipv6_address` must be set.
  # @!attribute [rw] ipv6_addresses
  #   @return [::Array<::String>]
  #     List of IPv6 addresses corresponding to this host in the standard
  #     hexadecimal format (e.g. `2001:db8::`). At least one of
  #     `ipv4_address` and `ipv6_address` must be set.
  class GlueRecord
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The publication state of DS records for a `Registration`.
  module DsState
    # DS state is unspecified.
    DS_STATE_UNSPECIFIED = 0

    # DNSSEC is disabled for this domain. No DS records for this domain are
    # published in the parent DNS zone.
    DS_RECORDS_UNPUBLISHED = 1

    # DNSSEC is enabled for this domain. Appropriate DS records for this domain
    # are published in the parent DNS zone. This option is valid only if the
    # DNS zone referenced in the `Registration`'s `dns_provider` field is
    # already DNSSEC-signed.
    DS_RECORDS_PUBLISHED = 2
  end
end

#google_domains_dns::Google::Cloud::Domains::V1::DnsSettings::GoogleDomainsDns

Returns The free DNS zone provided by Google Domains.

Returns:



204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
# File 'proto_docs/google/cloud/domains/v1/domains.rb', line 204

class DnsSettings
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Configuration for an arbitrary DNS provider.
  # @!attribute [rw] name_servers
  #   @return [::Array<::String>]
  #     Required. A list of name servers that store the DNS zone for this domain. Each name
  #     server is a domain name, with Unicode domain names expressed in
  #     Punycode format.
  # @!attribute [rw] ds_records
  #   @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
  #     The list of DS records for this domain, which are used to enable DNSSEC.
  #     The domain's DNS provider can provide the values to set here. If this
  #     field is empty, DNSSEC is disabled.
  class CustomDns
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Configuration for using the free DNS zone provided by Google Domains as a
  # `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
  # using the API. To configure the DNS zone, go to
  # [Google Domains](https://domains.google/).
  # @!attribute [r] name_servers
  #   @return [::Array<::String>]
  #     Output only. A list of name servers that store the DNS zone for this domain. Each name
  #     server is a domain name, with Unicode domain names expressed in
  #     Punycode format. This field is automatically populated with the name
  #     servers assigned to the Google Domains DNS zone.
  # @!attribute [rw] ds_state
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsState]
  #     Required. The state of DS records for this domain. Used to enable or disable
  #     automatic DNSSEC.
  # @!attribute [r] ds_records
  #   @return [::Array<::Google::Cloud::Domains::V1::DnsSettings::DsRecord>]
  #     Output only. The list of DS records published for this domain. The list is
  #     automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`,
  #     otherwise it remains empty.
  class GoogleDomainsDns
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
  # for a domain. It contains a digest (hash) of a DNSKEY record that must be
  # present in the domain's DNS zone.
  # @!attribute [rw] key_tag
  #   @return [::Integer]
  #     The key tag of the record. Must be set in range 0 -- 65535.
  # @!attribute [rw] algorithm
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::Algorithm]
  #     The algorithm used to generate the referenced DNSKEY.
  # @!attribute [rw] digest_type
  #   @return [::Google::Cloud::Domains::V1::DnsSettings::DsRecord::DigestType]
  #     The hash function used to generate the digest of the referenced DNSKEY.
  # @!attribute [rw] digest
  #   @return [::String]
  #     The digest generated from the referenced DNSKEY.
  class DsRecord
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # List of algorithms used to create a DNSKEY. Certain
    # algorithms are not supported for particular domains.
    module Algorithm
      # The algorithm is unspecified.
      ALGORITHM_UNSPECIFIED = 0

      # RSA/MD5. Cannot be used for new deployments.
      RSAMD5 = 1

      # Diffie-Hellman. Cannot be used for new deployments.
      DH = 2

      # DSA/SHA1. Not recommended for new deployments.
      DSA = 3

      # ECC. Not recommended for new deployments.
      ECC = 4

      # RSA/SHA-1. Not recommended for new deployments.
      RSASHA1 = 5

      # DSA-NSEC3-SHA1. Not recommended for new deployments.
      DSANSEC3SHA1 = 6

      # RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
      RSASHA1NSEC3SHA1 = 7

      # RSA/SHA-256.
      RSASHA256 = 8

      # RSA/SHA-512.
      RSASHA512 = 10

      # GOST R 34.10-2001.
      ECCGOST = 12

      # ECDSA Curve P-256 with SHA-256.
      ECDSAP256SHA256 = 13

      # ECDSA Curve P-384 with SHA-384.
      ECDSAP384SHA384 = 14

      # Ed25519.
      ED25519 = 15

      # Ed448.
      ED448 = 16

      # Reserved for Indirect Keys. Cannot be used for new deployments.
      INDIRECT = 252

      # Private algorithm. Cannot be used for new deployments.
      PRIVATEDNS = 253

      # Private algorithm OID. Cannot be used for new deployments.
      PRIVATEOID = 254
    end

    # List of hash functions that may have been used to generate a digest of a
    # DNSKEY.
    module DigestType
      # The DigestType is unspecified.
      DIGEST_TYPE_UNSPECIFIED = 0

      # SHA-1. Not recommended for new deployments.
      SHA1 = 1

      # SHA-256.
      SHA256 = 2

      # GOST R 34.11-94.
      GOST3411 = 3

      # SHA-384.
      SHA384 = 4
    end
  end

  # Defines a host on your domain that is a DNS name server for your domain
  # and/or other domains. Glue records are a way of making the IP address of a
  # name server known, even when it serves DNS queries for its parent domain.
  # For example, when `ns.example.com` is a name server for `example.com`, the
  # host `ns.example.com` must have a glue record to break the circular DNS
  # reference.
  # @!attribute [rw] host_name
  #   @return [::String]
  #     Required. Domain name of the host in Punycode format.
  # @!attribute [rw] ipv4_addresses
  #   @return [::Array<::String>]
  #     List of IPv4 addresses corresponding to this host in the standard decimal
  #     format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
  #     `ipv6_address` must be set.
  # @!attribute [rw] ipv6_addresses
  #   @return [::Array<::String>]
  #     List of IPv6 addresses corresponding to this host in the standard
  #     hexadecimal format (e.g. `2001:db8::`). At least one of
  #     `ipv4_address` and `ipv6_address` must be set.
  class GlueRecord
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The publication state of DS records for a `Registration`.
  module DsState
    # DS state is unspecified.
    DS_STATE_UNSPECIFIED = 0

    # DNSSEC is disabled for this domain. No DS records for this domain are
    # published in the parent DNS zone.
    DS_RECORDS_UNPUBLISHED = 1

    # DNSSEC is enabled for this domain. Appropriate DS records for this domain
    # are published in the parent DNS zone. This option is valid only if the
    # DNS zone referenced in the `Registration`'s `dns_provider` field is
    # already DNSSEC-signed.
    DS_RECORDS_PUBLISHED = 2
  end
end