Class: MintPress::DNS::PowerDNS

Inherits:
Object
  • Object
show all
Includes:
MintLogger, Mixins::Properties
Defined in:
src/mintpress-dns-powerdns/lib/mintpress-dns-powerdns/dns.rb

Properties (Read/Write)

  • #webserver_host ⇒ String (Default Value: 'localhost')
    'The hostname/IP of the Web server for PowerDNS Authoritative Server'

    Property Attributes
    • default'localhost'
    
    
    13
    # File 'src/mintpress-dns-powerdns/lib/mintpress-dns-powerdns/dns.rb', line 13
    
    property :webserver_host, type: String, default: 'localhost', description: 'The hostname/IP of the Web server for PowerDNS Authoritative Server'
  • #webserver_port ⇒ Integer (Default Value: 8081)
    'The port number of the Web server for PowerDNS Authoritative Server'

    Property Attributes
    • default8081
    
    
    14
    # File 'src/mintpress-dns-powerdns/lib/mintpress-dns-powerdns/dns.rb', line 14
    
    property :webserver_port, type: Integer, default: 8081, description: 'The port number of the Web server for PowerDNS Authoritative Server'
  • #api_key ⇒ String (Default Value: 'changeme')
    'The API key to authenticate to the PowerDNS web server'

    Property Attributes
    • default'changeme'
    
    
    15
    # File 'src/mintpress-dns-powerdns/lib/mintpress-dns-powerdns/dns.rb', line 15
    
    property :api_key, type: String, default: 'changeme', description: 'The API key to authenticate to the PowerDNS web server'
  • #pdns_client
    'The client used to communicate to the Web server. This is used internally by MintPress.'

    Property Attributes
    
    
    17
    # File 'src/mintpress-dns-powerdns/lib/mintpress-dns-powerdns/dns.rb', line 17
    
    property :pdns_client, description: 'The client used to communicate to the Web server. This is used internally by MintPress.'
  • #zone_object
    'The zone. This is used internally by MintPress.'

    Property Attributes
    
    
    18
    # File 'src/mintpress-dns-powerdns/lib/mintpress-dns-powerdns/dns.rb', line 18
    
    property :zone_object, description: 'The zone. This is used internally by MintPress.'

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Constructor Details

#initialize(opts = {}) ⇒ PowerDNS

Returns a new instance of PowerDNS.

Instance Method Details

#get_zone_object(zone_name) ⇒ Object

Init the zone object

#publish_dns(opts = {}) ⇒ Object

Create a record, it will update if the record exists

#unpublish_dns(opts = {}) ⇒ Object

Delete a record

#zone_create(opts = {}) ⇒ Object

Creates a Zone with values specified

#zone_remove(opts = {}) ⇒ Object

Delete a Zone with values specified