Class: Cisco::NtpServer
- Defined in:
- lib/cisco_node_utils/ntp_server.rb
Overview
NtpServer - node utility class for NTP Server configuration management
Instance Attribute Summary collapse
-
#key ⇒ Object
readonly
Returns the value of attribute key.
-
#maxpoll ⇒ Object
readonly
Returns the value of attribute maxpoll.
-
#minpoll ⇒ Object
readonly
Returns the value of attribute minpoll.
-
#prefer ⇒ Object
readonly
Returns the value of attribute prefer.
-
#vrf ⇒ Object
readonly
Returns the value of attribute vrf.
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
-
#initialize(opts, instantiate = true) ⇒ NtpServer
constructor
A new instance of NtpServer.
- #name ⇒ Object
Methods inherited from NodeUtil
client, #client, config_get, #config_get, #config_get_default, config_get_default, config_set, #config_set, #get, #ios_xr?, #nexus?, #node, node, platform, #platform, supports?, #supports?
Constructor Details
#initialize(opts, instantiate = true) ⇒ NtpServer
Returns a new instance of NtpServer.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 28 def initialize(opts, instantiate=true) @ntpserver_id = opts['name'] @key = opts['key'] @minpoll = opts['minpoll'] @maxpoll = opts['maxpoll'] @prefer = opts['prefer'].nil? ? false : true @vrf = opts['vrf'].nil? ? 'default' : opts['vrf'] hostname_regex = /^(?=.{1,255}$)[0-9A-Za-z] (?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])? (?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/x unless @ntpserver_id =~ Resolv::AddressRegex || @ntpserver_id =~ hostname_regex fail ArgumentError, "Invalid value '#{@ntpserver_id}' \ (Must be valid IPv4/IPv6 address or hostname)" end create if instantiate end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
26 27 28 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 26 def key @key end |
#maxpoll ⇒ Object (readonly)
Returns the value of attribute maxpoll.
26 27 28 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 26 def maxpoll @maxpoll end |
#minpoll ⇒ Object (readonly)
Returns the value of attribute minpoll.
26 27 28 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 26 def minpoll @minpoll end |
#prefer ⇒ Object (readonly)
Returns the value of attribute prefer.
26 27 28 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 26 def prefer @prefer end |
#vrf ⇒ Object (readonly)
Returns the value of attribute vrf.
26 27 28 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 26 def vrf @vrf end |
Class Method Details
.ntpservers ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 50 def self.ntpservers keys = %w(name prefer vrf key minpoll maxpoll) hash = {} ntpservers_list = config_get('ntp_server', 'server') return hash if ntpservers_list.empty? ntpservers_list.each do |id| hash[id[0]] = NtpServer.new(Hash[keys.zip(id)], false) end hash end |
Instance Method Details
#==(other) ⇒ Object
63 64 65 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 63 def ==(other) name == other.name && prefer == other.prefer end |
#create ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 67 def create config_set('ntp_server', 'server', state: '', ip: @ntpserver_id, prefer: (['true', true].include? @prefer) ? 'prefer' : '', vrf: @vrf ? "use-vrf #{@vrf}" : '', key: @key ? "key #{@key}" : '', minpoll: @minpoll ? "minpoll #{@minpoll}" : '', maxpoll: @maxpoll ? "maxpoll #{@maxpoll}" : '') end |
#destroy ⇒ Object
76 77 78 79 80 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 76 def destroy config_set('ntp_server', 'server', state: 'no', ip: @ntpserver_id, prefer: '', vrf: '', key: '', minpoll: '', maxpoll: '') end |
#name ⇒ Object
82 83 84 |
# File 'lib/cisco_node_utils/ntp_server.rb', line 82 def name @ntpserver_id end |