Current section
Files
Jump to
Current section
Files
lib/google_api/dns/v1/model/dns_key.ex
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.
defmodule GoogleApi.DNS.V1.Model.DnsKey do
@moduledoc """
A DNSSEC key pair.
## Attributes
* `algorithm` (*type:* `String.t`, *default:* `nil`) - String mnemonic specifying the DNSSEC algorithm of this key. Immutable
after creation time.
* `creationTime` (*type:* `String.t`, *default:* `nil`) - The time that this resource was created in the control plane. This is in
RFC3339 text format. Output only.
* `description` (*type:* `String.t`, *default:* `nil`) - A mutable string of at most 1024 characters associated with this resource
for the user's convenience. Has no effect on the resource's function.
* `digests` (*type:* `list(GoogleApi.DNS.V1.Model.DnsKeyDigest.t)`, *default:* `nil`) - Cryptographic hashes of the DNSKEY resource record associated with this
DnsKey. These digests are needed to construct a DS record that points at
this DNS key. Output only.
* `id` (*type:* `String.t`, *default:* `nil`) - Unique identifier for the resource; defined by the server (output only).
* `isActive` (*type:* `boolean()`, *default:* `nil`) - Active keys will be used to sign subsequent changes to the ManagedZone.
Inactive keys will still be present as DNSKEY Resource Records for the use
of resolvers validating existing signatures.
* `keyLength` (*type:* `integer()`, *default:* `nil`) - Length of the key in bits. Specified at creation time then immutable.
* `keyTag` (*type:* `integer()`, *default:* `nil`) - The key tag is a non-cryptographic hash of the a DNSKEY resource record
associated with this DnsKey. The key tag can be used to identify a DNSKEY
more quickly (but it is not a unique identifier). In particular, the key
tag is used in a parent zone's DS record to point at the DNSKEY in this
child ManagedZone. The key tag is a number in the range [0, 65535] and the
algorithm to calculate it is specified in RFC4034 Appendix B. Output only.
* `kind` (*type:* `String.t`, *default:* `dns#dnsKey`) -
* `publicKey` (*type:* `String.t`, *default:* `nil`) - Base64 encoded public half of this key. Output only.
* `type` (*type:* `String.t`, *default:* `nil`) - One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the
Secure Entry Point flag set and, when active, will be used to sign only
resource record sets of type DNSKEY. Otherwise, the Secure Entry Point
flag will be cleared and this key will be used to sign only resource
record sets of other types. Immutable after creation time.
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:algorithm => String.t(),
:creationTime => String.t(),
:description => String.t(),
:digests => list(GoogleApi.DNS.V1.Model.DnsKeyDigest.t()),
:id => String.t(),
:isActive => boolean(),
:keyLength => integer(),
:keyTag => integer(),
:kind => String.t(),
:publicKey => String.t(),
:type => String.t()
}
field(:algorithm)
field(:creationTime)
field(:description)
field(:digests, as: GoogleApi.DNS.V1.Model.DnsKeyDigest, type: :list)
field(:id)
field(:isActive)
field(:keyLength)
field(:keyTag)
field(:kind)
field(:publicKey)
field(:type)
end
defimpl Poison.Decoder, for: GoogleApi.DNS.V1.Model.DnsKey do
def decode(value, options) do
GoogleApi.DNS.V1.Model.DnsKey.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.DNS.V1.Model.DnsKey do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end