class Object
Constants
- IPADDR_REGEXP
Copyright © 2015, Arista Networks, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Arista Networks nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ARISTA NETWORKS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- MCAST_REGEXP
Public Class Methods
# File lib/puppet/provider/eos_acl_entry/default.rb, line 48 def self.instances acls = node.api('acl').getall acls.each_with_object([]) do |(name, entries), arry| entries.each_with_object([]) do |(seqno, attrs), _hsh| provider_hash = { name: namevar(name, seqno), ensure: :present } acltype = attrs[:acltype] provider_hash[:acltype] = acltype ? acltype.to_sym : :standard action = attrs[:action] provider_hash[:action] = action ? action.to_sym : :deny provider_hash[:srcaddr] = attrs[:srcaddr] provider_hash[:srcprefixlen] = attrs[:srcprefixlen] provider_hash[:log] = attrs[:log] ? :true : :false arry << new(provider_hash) end end end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 119 def self.namevar(name, seqno) "#{name}:#{seqno}" end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 65 def initialize(resource = {}) super(resource) @property_flush = {} end
Public Instance Methods
# File lib/puppet/provider/eos_switchport/default.rb, line 73 def access_vlan=(val) node.api('switchports').set_access_vlan(resource[:name], value: val) @property_hash[:access_vlan] = val end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 70 def acltype=(value) @property_flush[:acltype] = value end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 74 def action=(value) @property_flush[:action] = value end
# File lib/puppet/provider/eos_ipinterface/default.rb, line 57 def address=(val) node.api('ipinterfaces').set_address(resource['name'], value: val) @property_hash[:address] = val end
# File lib/puppet/provider/eos_stp_interface/default.rb, line 68 def bpduguard=(val) value = val == :true node.api('stp').interfaces.set_bpduguard(resource['name'], value: value) @property_hash[:bpduguard] = val end
# File lib/puppet/provider/eos_snmp/default.rb, line 64 def chassis_id=(value) node.api('snmp').set_chassis_id(value: value) @property_hash[:chassis_id] = value end
# File lib/puppet/provider/eos_snmp/default.rb, line 54 def contact=(value) node.api('snmp').set_contact(value: value) @property_hash[:contact] = value end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 94 def create @property_flush = resource.to_hash end
# File lib/puppet/provider/eos_ethernet/default.rb, line 82 def description=(val) node.api('interfaces').set_description(resource[:name], value: val) @property_hash[:description] = val end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 98 def destroy @property_flush = resource.to_hash end
# File lib/puppet/provider/eos_mlag/default.rb, line 58 def domain_id=(val) node.api('mlag').set_domain_id(value: val) @property_hash[:domain_id] = val end
# File lib/puppet/provider/eos_ethernet/default.rb, line 77 def enable=(val) node.api('interfaces').set_shutdown(resource[:name], value: val == :false) @property_hash[:enable] = val end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 90 def exists? @property_hash[:ensure] == :present end
# File lib/puppet/provider/eos_ethernet/default.rb, line 92 def flowcontrol_receive=(val) node.api('interfaces').set_flowcontrol_receive(resource[:name], value: val) @property_hash[:flowcontrol_receive] = val end
# File lib/puppet/provider/eos_ethernet/default.rb, line 87 def flowcontrol_send=(val) node.api('interfaces').set_flowcontrol_send(resource[:name], value: val) @property_hash[:flowcontrol_send] = val end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 102 def flush desired_state = @property_hash.merge!(@property_flush) # Extract the acl name and seqno from the name comp = desired_state[:name].split(':') acl_name = comp[0] desired_state[:seqno] = comp[1].to_i api = node.api('acl') case desired_state[:ensure] when :present api.update_entry(acl_name, desired_state) when :absent api.remove_entry(acl_name, desired_state[:seqno]) end @property_hash = desired_state end
# File lib/puppet/provider/eos_ipinterface/default.rb, line 62 def helper_addresses=(val) node.api('ipinterfaces').set_helper_addresses(resource['name'], value: val) @property_hash[:helper_addresses] = val end
# File lib/puppet/provider/eos_system/default.rb, line 59 def hostname=(val) node.api('system').set_hostname(value: val) @property_hash[:hostname] = val end
# File lib/puppet/provider/eos_portchannel/default.rb, line 87 def lacp_fallback=(val) node.api('interfaces').set_lacp_fallback(resource[:name], value: val.to_s) @property_hash[:lacp_fallback] = val end
# File lib/puppet/provider/eos_portchannel/default.rb, line 72 def lacp_mode=(val) node.api('interfaces').set_lacp_mode(resource[:name], val.to_s) @property_hash[:lacp_mode] = val end
# File lib/puppet/provider/eos_portchannel/default.rb, line 92 def lacp_timeout=(val) node.api('interfaces').set_lacp_timeout(resource[:name], value: val) @property_hash[:lacp_timeout] = val end
# File lib/puppet/provider/eos_mlag/default.rb, line 63 def local_interface=(val) node.api('mlag').set_local_interface(value: val) @property_hash[:local_interface] = val end
# File lib/puppet/provider/eos_snmp/default.rb, line 59 def location=(value) node.api('snmp').set_location(value: value) @property_hash[:location] = value end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 86 def log=(value) @property_flush[:log] = value end
# File lib/puppet/provider/eos_portchannel/default.rb, line 77 def members=(val) node.api('interfaces').set_members(resource[:name], val) @property_hash[:members] = val end
# File lib/puppet/provider/eos_portchannel/default.rb, line 82 def minimum_links=(val) node.api('interfaces').set_minimum_links(resource[:name], value: val) @property_hash[:minimum_links] = val end
# File lib/puppet/provider/eos_mlag_interface/default.rb, line 62 def mlag_id=(value) node.api('mlag').set_mlag_id(resource[:name], value: value) @property_hash[:mlag_id] = value end
# File lib/puppet/provider/eos_switchport/default.rb, line 58 def mode=(val) node.api('switchports').set_mode(resource[:name], value: val) @property_hash[:mode] = val end
# File lib/puppet/provider/eos_ipinterface/default.rb, line 67 def mtu=(val) node.api('ipinterfaces').set_mtu(resource['name'], value: val) @property_hash[:mtu] = val end
# File lib/puppet/provider/eos_vxlan/default.rb, line 64 def multicast_group=(val) node.api('interfaces').set_multicast_group(resource[:name], value: val) @property_hash[:multicast_group] = val end
# File lib/puppet/type/eos_vlan.rb, line 41 def munge_boolean(value) case value when true, 'true', :true, 'yes', 'on' :true when false, 'false', :false, 'no', 'off' :false else fail('munge_boolean only takes booleans') end end
# File lib/puppet/provider/eos_mlag/default.rb, line 68 def peer_address=(val) node.api('mlag').set_peer_address(value: val) @property_hash[:peer_address] = val end
# File lib/puppet/provider/eos_mlag/default.rb, line 73 def peer_link=(val) node.api('mlag').set_peer_link(value: val) @property_hash[:peer_link] = val end
# File lib/puppet/provider/eos_stp_interface/default.rb, line 56 def portfast=(val) value = val == :true node.api('stp').interfaces.set_portfast(resource['name'], value: value) @property_hash[:portfast] = val end
# File lib/puppet/provider/eos_stp_interface/default.rb, line 62 def portfast_type=(val) value = val.to_s node.api('stp').interfaces.set_portfast_type(resource['name'], value: value) @property_hash[:portfast_type] = val end
# File lib/puppet/provider/eos_ntp_config/default.rb, line 60 def source_interface=(val) node.api('ntp').set_source_interface(value: val) @property_hash[:source_interface] = val end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 78 def srcaddr=(value) @property_flush[:srcaddr] = value end
# File lib/puppet/provider/eos_acl_entry/default.rb, line 82 def srcprefixlen=(value) @property_flush[:srcprefixlen] = value end
# File lib/puppet/provider/eos_switchport/default.rb, line 63 def trunk_allowed_vlans=(val) node.api('switchports').set_trunk_allowed_vlans(resource[:name], value: val) @property_hash[:trunk_allowed_vlans] = val end
# File lib/puppet/provider/eos_vlan/default.rb, line 70 def trunk_groups=(value) node.api('vlans').set_trunk_group(resource[:vlanid], value: value) @property_hash[:trunk_groups] = value end
# File lib/puppet/provider/eos_switchport/default.rb, line 68 def trunk_native_vlan=(val) node.api('switchports').set_trunk_native_vlan(resource[:name], value: val) @property_hash[:trunk_native_vlan] = val end
# File lib/puppet/provider/eos_vxlan/default.rb, line 69 def udp_port=(val) node.api('interfaces').set_udp_port(resource[:name], value: val) @property_hash[:udp_port] = val end
# File lib/puppet/provider/eos_vlan/default.rb, line 65 def vlan_name=(value) node.api('vlans').set_name(resource[:vlanid], value: value) @property_hash[:vlan_name] = value end
# File lib/puppet/provider/eos_vxlan_vlan/default.rb, line 61 def vni=(val) @property_flush[:vni] = val end