class Pdns::Zone
- Pdns::Zone
- Reference
- Object
Overview
This represents an authoritative DNS Zone.
Included Modules
- JSON::Serializable
Defined in:
pdns/zone.crConstructors
- .new(pull : JSON::PullParser)
-
.new(*, name, kind, rrsets = [] of RRSet, masters = nil, dnssec = nil, nsec3param = nil, nsec3narrow = nil, presigned = nil, soa_edit = nil, soa_edit_api = nil, api_rectify = nil, zone = nil, account = nil, nameservers = [] of String, master_tsig_key_ids = nil, slave_tsig_key_ids = nil)
Initialize a new Zone with the given attributes
Instance Method Summary
-
#account : String?
MAY be set.
-
#account=(account : String?)
MAY be set.
-
#api_rectify=(api_rectify : Bool?)
Whether or not the zone will be rectified on data changes via the API
-
#api_rectify? : Bool?
Whether or not the zone will be rectified on data changes via the API
-
#dnssec=(dnssec : Bool?)
Whether or not this zone is DNSSEC signed (inferred from presigned being true XOR presence of at least one cryptokey with active being true)
-
#dnssec? : Bool?
Whether or not this zone is DNSSEC signed (inferred from presigned being true XOR presence of at least one cryptokey with active being true)
-
#edited_serial : UInt64?
The SOA serial as seen in query responses.
-
#edited_serial? : UInt64 | Nil?
The SOA serial as seen in query responses.
-
#id : String?
Opaque zone id (string), assigned by the server, should not be interpreted by the application.
-
#id? : String | Nil?
Opaque zone id (string), assigned by the server, should not be interpreted by the application.
-
#kind : Kind?
Zone kind, one of
Kind::Native
,Kind::Master
,Kind::Slave
-
#kind=(kind : Kind?)
Zone kind, one of
Kind::Native
,Kind::Master
,Kind::Slave
-
#kind? : Kind | Nil?
Zone kind, one of
Kind::Native
,Kind::Master
,Kind::Slave
-
#master_tsig_key_ids : Array(String)?
The id of the TSIG keys used for master operation in this zone
-
#master_tsig_key_ids=(master_tsig_key_ids : Array(String)?)
The id of the TSIG keys used for master operation in this zone
-
#masters : Array(String)?
List of IP addresses configured as a master for this zone ("Slave" type zones only)
-
#masters=(masters : Array(String)?)
List of IP addresses configured as a master for this zone ("Slave" type zones only)
-
#name : String?
Name of the zone (e.g.
-
#name=(name : String?)
Name of the zone (e.g.
-
#nameservers : Array(String)?
MAY be sent in client bodies during creation, and MUST NOT be sent by the server.
-
#nameservers=(nameservers : Array(String)?)
MAY be sent in client bodies during creation, and MUST NOT be sent by the server.
-
#notified_serial : UInt64?
The SOA serial notifications have been sent out for
-
#notified_serial? : UInt64 | Nil?
The SOA serial notifications have been sent out for
-
#nsec3narrow=(nsec3narrow : Bool?)
Whether or not the zone uses NSEC3 narrow
-
#nsec3narrow? : Bool?
Whether or not the zone uses NSEC3 narrow
-
#nsec3param : String?
The NSEC3PARAM record
-
#nsec3param=(nsec3param : String?)
The NSEC3PARAM record
-
#presigned=(presigned : Bool?)
Whether or not the zone is pre-signed
-
#presigned? : Bool?
Whether or not the zone is pre-signed
-
#rrsets : Array(RRSet)?
RRSets in this zone (for zones/{zone_id} endpoint only; omitted during GET on the .../zones list endpoint)
-
#rrsets=(rrsets : Array(RRSet)?)
RRSets in this zone (for zones/{zone_id} endpoint only; omitted during GET on the .../zones list endpoint)
-
#rrsets? : Array(RRSet) | Nil?
RRSets in this zone (for zones/{zone_id} endpoint only; omitted during GET on the .../zones list endpoint)
-
#serial : UInt64?
The SOA serial number
-
#serial? : UInt64 | Nil?
The SOA serial number
-
#slave_tsig_key_ids : Array(String)?
The id of the TSIG keys used for slave operation in this zone
-
#slave_tsig_key_ids=(slave_tsig_key_ids : Array(String)?)
The id of the TSIG keys used for slave operation in this zone
-
#soa_edit : String?
The SOA-EDIT metadata item
-
#soa_edit=(soa_edit : String?)
The SOA-EDIT metadata item
-
#soa_edit_api : String?
The SOA-EDIT-API metadata item
-
#soa_edit_api=(soa_edit_api : String?)
The SOA-EDIT-API metadata item
-
#type : String?
Set to "Zone”
-
#type=(type : String?)
Set to "Zone”
-
#type? : String | Nil?
Set to "Zone”
-
#url : String?
API endpoint for this zone
-
#url=(url : String?)
API endpoint for this zone
-
#url? : String | Nil?
API endpoint for this zone
-
#zone : String?
MAY contain a BIND-style zone file when creating a zone
-
#zone=(zone : String?)
MAY contain a BIND-style zone file when creating a zone
Constructor Detail
Initialize a new Zone with the given attributes
Zone.new(
name: "powerdns.com.",
kind: Zone::Kind::Master,
rrsets: [
RRSet.new(
name: "www.powerdns.com.",
kind: Zone::Kind::Native,
type: "A",
ttl: 3600_u16,
changetype: "REPLACE",
records: [Record.new("127.0.0.1")],
),
],
soa_edit_api: "DEFAULT",
)
Instance Method Detail
Whether or not the zone will be rectified on data changes via the API
Whether or not this zone is DNSSEC signed (inferred from presigned being true XOR presence of at least one cryptokey with active being true)
Whether or not this zone is DNSSEC signed (inferred from presigned being true XOR presence of at least one cryptokey with active being true)
The SOA serial as seen in query responses. Calculated using the SOA-EDIT metadata, default-soa-edit and default-soa-edit-signed settings
The SOA serial as seen in query responses. Calculated using the SOA-EDIT metadata, default-soa-edit and default-soa-edit-signed settings
Opaque zone id (string), assigned by the server, should not be interpreted by the application. Guaranteed to be safe for embedding in URLs.
Opaque zone id (string), assigned by the server, should not be interpreted by the application. Guaranteed to be safe for embedding in URLs.
The id of the TSIG keys used for master operation in this zone
See: https://doc.powerdns.com/authoritative/tsig.html#provisioning-outbound-axfr-access
The id of the TSIG keys used for master operation in this zone
See: https://doc.powerdns.com/authoritative/tsig.html#provisioning-outbound-axfr-access
List of IP addresses configured as a master for this zone ("Slave" type zones only)
List of IP addresses configured as a master for this zone ("Slave" type zones only)
MAY be sent in client bodies during creation, and MUST NOT be sent by the server. Simple list of strings of nameserver names, including the trailing dot. Not required for slave zones.
MAY be sent in client bodies during creation, and MUST NOT be sent by the server. Simple list of strings of nameserver names, including the trailing dot. Not required for slave zones.
RRSets in this zone (for zones/{zone_id} endpoint only; omitted during GET on the .../zones list endpoint)
RRSets in this zone (for zones/{zone_id} endpoint only; omitted during GET on the .../zones list endpoint)
RRSets in this zone (for zones/{zone_id} endpoint only; omitted during GET on the .../zones list endpoint)
The id of the TSIG keys used for slave operation in this zone
See: https://doc.powerdns.com/authoritative/tsig.html#provisioning-signed-notification-and-axfr-requests
The id of the TSIG keys used for slave operation in this zone
See: https://doc.powerdns.com/authoritative/tsig.html#provisioning-signed-notification-and-axfr-requests