Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.7.0 <7.0.0
Start using this module
Add this module to your Puppetfile:
mod 'puppetlabs-ciscopuppet', '2.1.0'
Learn more about managing modules with a PuppetfileDocumentation
ciscopuppet
Table of Contents
Module Description
The ciscopuppet module allows a network administrator to manage Cisco Nexus Network Elements using Puppet. This module bundles a set of Puppet Types, Providers, Beaker Tests, Sample Manifests and Installation Tools for effective network management. The resources and capabilities provided by this Puppet Module will grow with contributions from Cisco, Puppet Labs and the open source community.
The Cisco Nexus Network Elements and Operating Systems managed by this Puppet Module are continuously expanding. See Resource Platform Support Matrix for a list of currently supported hardware and software.
This GitHub repository contains the latest version of the ciscopuppet module source code. Supported versions of the ciscopuppet module are available at Puppet Forge. Please refer to [SUPPORT.md][MAINT-2] for additional details.
Dependencies
The ciscopuppet
module has a dependency on the cisco_node_utils
and the puppet-resource_api
Ruby gem. See the Setup section that follows for more information on cisco_node_utils
and puppet-resource_api
.
The NXAPI feature will need to be enabled on the device in order for the ciscopuppet
module to be able to manage the device.
Contributing
Contributions to the ciscopuppet
module are welcome. See [CONTRIBUTING.md][DEV-1] for guidelines.
Setup
Before getting started with the setup needed to manage Cisco Nexus Network Elements using Puppet choose one of the following workflows.
- Puppet Agentless (Manage devices over a remote proxy connection)
- Puppet Agent (Manage devices by installing an agent directly onto the device)
Version 2.0.0
of this module introduces the ability to manage Cisco Nexus devices without the need to install an agent directly onto the device. This option is not available for ciscopuppet
module version 1.10.0
and earlier.
Puppet Master
‼️REQUIRED FOR BOTH AGENTLESS and AGENT WORKFLOWS ‼️
The ciscopuppet
module must be installed on the Puppet Master server.
puppet module install puppetlabs-ciscopuppet
The module dependencies listed below will be installed automatically. For more information on Puppet module installation see Puppet Labs: Installing Modules
The puppetlabs-netdev-stdlib
module
The puppetlabs-resource_api
module
On each puppetserver or PE master that needs to serve catalogs for NX-OS devices, classify or apply the ciscopuppet::server
class. Using this class assumes that your puppetserver or PE Master is managed by Puppet.
Puppet Agent (LTS)
‼️NOT REQUIRED FOR AGENTLESS WORKFLOW ‼️
The Puppet Agent requires installation and setup on each device. Agent setup can be performed as a manual process or it may be automated. For more information please see the [README-agent-install.md][USER-1] document for detailed instructions on agent installation and configuration on Cisco Nexus devices.
The cisco_node_utils
Ruby Gem
The cisco_node_utils
Ruby gem is a required component of the ciscopuppet
module. This gem contains platform APIs for interfacing between Cisco CLI and Puppet resources. The gem can be automatically installed by Puppet agent by using the ciscopuppet::agent
class. Automatic dependency installs are preferred; manual gem installs should be reserved for exceptional circumstances.
The puppet-resource_api
Ruby Gem
The puppet-resource_api
Ruby gem is a required component of the ciscopuppet
module. The gem can be automatically installed by a Puppet agent by using the ciscopuppet::agent
class. Automatic dependency installs are preferred; manual gem installs should be reserved for exceptional circumstances.
Automatic Gem Install Using ciscopuppet::agent
-
The
ciscopuppet::agent
class is defined in theagent.pp
file in themanifests
subdirectory. -
Update
site.pp
to use the install class
Example
node 'n9k' {
include ciscopuppet::agent
}
The preceding configuration will cause the next puppet agent
run to automatically download the current cisco_node_utils
and puppet-resource_api
gems from https://rubygems.org/ and install them on the node.
Optional Parameters for ciscopuppet::install
- Override the default rubygems repository to use a custom repository
- Provide a proxy server
Example
node 'n9k' {
class {'ciscopuppet::agent':
repo => 'http://gemserver.domain.com:8808',
proxy => 'http://proxy.domain.com:8080',
}
}
Gem Persistence
Once installed, the gems will remain persistent across system reloads within the Guestshell or OAC environments; however, the bash-shell environment does not share this persistent behavior, in which case the ciscopuppet::agent
class automatically downloads and re-installs the gem after each system reload.
See General Documentation for information on Guestshell and OAC.
Puppet Agent Authentication
Puppet makes use of the nxos admin
user by default for all types in this module. If a different user is required for puppet agent runs then the following procedure can be used to override admin
with the desired user.
NOTE: The user you select must already be configured on your device with the role network-admin
.
First create a different user with the role network-admin
.
config term
username puppetuser password puppet role network-admin
end
Next create a file called cisco_node_utils.yaml
under the modules/ciscopuppet/files
directory on the puppet server and add a cookie puppetuser:local
under the default:
yaml key.
puppetserver:> cat /etc/puppetlabs/code/environments/production/modules/ciscopuppet/files/cisco_node_utils.yaml
default:
cookie: 'puppetuser:local'
puppetserver:>
Now create and apply the following manifest on your nxos devices.
$cookie_src = "puppet:///modules/ciscopuppet/cisco_node_utils.yaml"
$cookie_tgt = "/${::identity['user']}/cisco_node_utils.yaml"
file { $cookie_tgt :
ensure => file,
source => $cookie_src,
owner => 'root',
group => 'root',
mode => 'ug+rwx',
}
Puppet Device (Agentless)
‼️NOT REQUIRED FOR AGENT WORKFLOW ‼️
The module (version 2.0.0
or later) supports remote management through the usage of puppet device
, which communicates with the device remotely via the nxapi
through HTTP/HTTPS. In order to use the ciscopuppet
module agentlessly then the following dependencies will need to be met.
The cisco_node_utils
Ruby Gem
The cisco_node_utils
Ruby gem is a required component of the ciscopuppet
module. This gem contains platform APIs for interfacing between Cisco CLI and Puppet resources. The gem will need to be installed on any Puppet agent which will be managing a NX-OS device. It can be automatically installed by Puppet by using the ciscopuppet::proxy
class. Automatic gem installs are preferred; manual gem installs should be reserved for exceptional circumstances.
The puppet-resource_api
Ruby Gem
The puppet-resource_api
Ruby gem is a required component of the ciscopuppet
module. The gem will need to be installed on any Puppet agent which will be managing a NX-OS device. It can be automatically installed by Puppet by using the ciscopuppet::proxy
class. Automatic gem installs are preferred; manual gem installs should be reserved for exceptional circumstances.
The net_http_unix
Ruby Gem
The net_http_unix
Ruby gem is a required component of the ciscopuppet
module. The gem will need to be installed on any Puppet agent which will be managing a NX-OS device. It can be automatically installed by Puppet by using the ciscopuppet::proxy
class. Automatic gem installs are preferred; manual gem installs should be reserved for exceptional circumstances.
Getting started with remote management (puppet device
)
To get started, create or edit /etc/puppetlabs/puppet/device.conf
, add a section for the device (this will become the device's certname
), specify a type of cisco_nexus
, and specify a url
to a credentials file. For example:
[cisco.example.com]
type cisco_nexus
url file:////etc/puppetlabs/puppet/devices/cisco.example.com.conf
Next, create a credentials file. See the HOCON documentation for information on quoted/unquoted strings and connecting the device.
host: cisco.nexus.net
user: admin
password: admin
port: 8280
transport: http
Alternatively devices can be managed through the puppetlabs-device_manager module
, for example:
node 'proxy-agent' {
device_manager { 'cisco.example.com':
type => 'cisco_nexus',
credentials => {
host => 'cisco.example.com',
user => 'admin',
password => 'admin',
port => 8280,
transport => 'http',
}
}
}
Test your setup and get the certificate signed:
puppet device --verbose --target cisco.example.com
See the puppet device
documentation
Please note:: In order for the NX-OS device to be managed then the nxapi feature will need enabled on the device and the selected ports for HTTP/HTTPS will need to be accessible by the proxy-agent
choosen to manage the device.
‼️AGENTLESS AND AGENT WORKFLOWS ‼️
For additiona details on agentless and agent based configuration see the following guide
Example Manifests
OSPF Example Manifest
The following example demonstrates how to define a manifest that uses ciscopuppet
to configure OSPF on a Cisco Nexus switch. Three resource types are used to define an OSPF instance, basic OSPF router settings, and OSPF interface settings:
The first manifest type should define the router instance using cisco_ospf
. The title 'Sample
' becomes the router instance name.
cisco_ospf {"Sample":
ensure => present,
}
The next type to define is cisco_ospf_vrf
. The title includes the OSPF router instance name and the VRF name. Note that a non-VRF configuration uses 'default' as the VRF name.
cisco_ospf_vrf {"Sample default":
ensure => 'present',
default_metric => '5',
auto_cost => '46000',
}
Finally, define the OSPF interface settings. The title here includes the Interface name and the OSPF router instance name.
cisco_interface_ospf {"Ethernet1/2 Sample":
ensure => present,
area => 200,
cost => "200",
}
Resource Reference
The following resources include cisco types and providers along with cisco provider support for netdev stdlib types. Installing the ciscopuppet
module will install both the ciscopuppet
and netdev_stdlib
modules.
Resource Type Catalog (by Technology)
-
Miscellaneous Types
- [
banner
](#type-banner) - [
cisco_command_config
](#type-cisco_command_config) - [
cisco_vdc
](#type-cisco_vdc) - [
cisco_upgrade
](#type-cisco_upgrade)
- [
-
AAA Types
- [
cisco_aaa_authentication_login
](#type-cisco_aaa_authentication_login) - [
cisco_aaa_authorization_login_cfg_svc
](#type-cisco_aaa_authorization_login_cfg_svc) - [
cisco_aaa_authorization_login_exec_svc
](#type-cisco_aaa_authorization_login_exec_svc) - [
cisco_aaa_group_tacacs
](#type-cisco_aaa_group_tacacs)
- [
-
ACL Types
- [
cisco_ace
](#type-cisco_ace) - [
cisco_acl
](#type-cisco_acl)
- [
-
BFD Types
- [
cisco_bfd_global
](#type-cisco_bfd_global)
- [
-
BGP Types
- [
cisco_vrf
](#type-cisco_vrf) - [
cisco_vrf_af
](#type-cisco_vrf_af) - [
cisco_bgp
](#type-cisco_bgp) - [
cisco_bgp_af
](#type-cisco_bgp_af) - [
cisco_bgp_af_aa
](#type-cisco_bgp_af_aa) - [
cisco_bgp_neighbor
](#type-cisco_bgp_neighbor) - [
cisco_bgp_neighbor_af
](#type-cisco_bgp_neighbor_af)
- [
-
Bridge_Domain Types
- [
cisco_bridge_domain
](#type-cisco_bridge_domain) - [
cisco_bridge_domain_vni
](#type-cisco_bridge_domain_vni)
- [
-
DHCP Types
- [
cisco_dhcp_relay_global
](#type-cisco_dhcp_relay_global)
- [
-
Domain Types
- [
domain_name (netdev_stdlib)
](#type-domain_name) - [
name_server (netdev_stdlib)
](#type-name_server) - [
network_dns (netdev_stdlib)
](#type-network_dns) - [
search_domain (netdev_stdlib)
](#type-search_domain)
- [
-
EVPN Multisite Types
- [
cisco_evpn_multisite
](#type-cisco_evpn_multisite) - [
cisco_evpn_stormcontrol
](#type-cisco_evpn_stormcontrol) - [
cisco_interface_evpn_multisite
](#type-cisco_interface_evpn_multisite)
- [
-
Fabricpath Types
- [
cisco_fabricpath_global
](#type-cisco_fabricpath_global) - [
cisco_fabricpath_topology
](#type-cisco_fabricpath_topology)
- [
-
HSRP Types
- [
cisco_hsrp_global
](#type-cisco_hsrp_global) - [
cisco_interface_hsrp_group
](#type-cisco_interface_hsrp_group)
- [
-
Interface Types
- [
cisco_interface
](#type-cisco_interface) - [
cisco_interface_channel_group
](#type-cisco_interface_channel_group) - [
cisco_interface_ospf
](#type-cisco_interface_ospf) - [
cisco_interface_portchannel
](#type-cisco_interface_portchannel) - [
cisco_interface_service_vni
](#type-cisco_interface_service_vni) - [
network_interface (netdev_stdlib)
](#type-network_interface)
- [
-
ITD (Intelligent Traffic Director) Types
- [
cisco_itd_device_group
](#type-cisco_itd_device_group) - [
cisco_itd_device_group_node
](#type-cisco_itd_device_group_node) - [
cisco_itd_service
](#type-cisco_itd_service)
- [
-
Multicast Types
- [
cisco_pim
](#type-cisco_pim) - [
cisco_pim_grouplist
](#type-cisco_pim_grouplist) - [
cisco_pim_rp_address
](#type-cisco_pim_rp_address)
- [
-
NTP Types
- [
ntp_auth_key (netdev_stdlib)
](#type-ntp_auth_key) - [
ntp_config (netdev_stdlib)
](#type-ntp_config) - [
ntp_server (netdev_stdlib)
](#type-ntp_server)
- [
-
ObjectGroup Types
- [
cisco_object_group
](#type-cisco_object_group) - [
cisco_object_group_entry
](#type-cisco_object_group_entry)
- [
-
OSPF Types
- [
cisco_vrf
](#type-cisco_vrf) - [
cisco_ospf
](#type-cisco_ospf) - [
cisco_ospf_area
](#type-cisco_ospf_area) - [
cisco_ospf_area_vlink
](#type-cisco_ospf_area_vlink) - [
cisco_ospf_vrf
](#type-cisco_ospf_vrf) - [
cisco_interface_ospf
](#type-cisco_interface_ospf)
- [
-
Portchannel Types
- [
cisco_interface_channel_group
](#type-cisco_interface_channel_group) - [
cisco_interface_portchannel
](#type-cisco_interface_portchannel) - [
cisco_portchannel_global
](#type-cisco_portchannel_global) - [
port_channel (netdev_stdlib)
](#type-port_channel)
- [
-
RADIUS Types
- [
radius (netdev_stdlib)
](#type-radius) - [
radius_global (netdev_stdlib)
](#type-radius_global) - [
radius_server (netdev_stdlib)
](#type-radius_server) - [
radius_server_group (netdev_stdlib)
](#type-radius_server_group)
- [
-
RouteMap Types
- [
cisco_route_map
](#type-cisco_route_map)
- [
-
STP Types
- [
cisco_stp_global
](#type-cisco_stp_global)
- [
-
SNMP Types
- [
cisco_snmp_community
](#type-cisco_snmp_community) - [
cisco_snmp_group
](#type-cisco_snmp_group) - [
cisco_snmp_server
](#type-cisco_snmp_server) - [
cisco_snmp_user
](#type-cisco_snmp_user) - [
network_snmp (netdev_stdlib)
](#type-network_snmp) - [
snmp_community (netdev_stdlib)
](#type-snmp_community) - [
snmp_notification (netdev_stdlib)
](#type-snmp_notification) - [
snmp_notification_receiver (netdev_stdlib)
](#type-snmp_notification_receiver) - [
snmp_user (netdev_stdlib)
](#type-snmp_user)
- [
-
SYSLOG Types
- [
syslog_facility (netdev_stdlib)
](#type-syslog_facility) - [
syslog_server (netdev_stdlib)
](#type-syslog_server) - [
syslog_settings (netdev_stdlib)
](#type-syslog_settings)
- [
-
TACACS Types
- [
cisco_tacacs_server
](#type-cisco_tacacs_server) - [
cisco_tacacs_server_host
](#type-cisco_tacacs_server_host) - [
tacacs (netdev_stdlib)
](#type-tacacs) - [
tacacs_global (netdev_stdlib)
](#type-tacacs_global) - [
tacacs_server (netdev_stdlib)
](#type-tacacs_server) - [
tacacs_server_group (netdev_stdlib)
](#type-tacacs_server_group)
- [
-
TRM Types
- [
cisco_evpn_multicast
](#type-cisco_evpn_multicast) - [
cisco_ip_multicast
](#type-cisco_ip_multicast)
- [
-
VLAN Types
- [
cisco_vlan
](#type-cisco_vlan) - [
cisco_vtp
](#type-cisco_vtp) - [
network_trunk (netdev_stdlib)
](#type-network_trunk) - [
network_vlan (netdev_stdlib)
](#type-network_vlan)
- [
-
VPC Types
- [
cisco_vpc_domain
](#type-cisco_vpc_domain)
- [
-
VRF Types
- [
cisco_vrf
](#type-cisco_vrf) - [
cisco_vrf_af
](#type-cisco_vrf_af)
- [
-
VNI Types
- [
cisco_interface_service_vni
](#type-cisco_interface_service_vni) - [
cisco_vni
](#type-cisco_vni) - [
cisco_encapsulation
](#type-cisco_encapsulation)
- [
-
VXLAN Types
- [
cisco_evpn_vni
](#type-cisco_evpn_vni) - [
cisco_overlay_global
](#type-cisco_overlay_global) - [
cisco_vxlan_vtep
](#type-cisco_vxlan_vtep) - [
cisco_vxlan_vtep_vni
](#type-cisco_vxlan_vtep_vni)
- [
--
Cisco Resource Type Catalog (by Name)
- [
cisco_command_config
](#type-cisco_command_config) - [
cisco_aaa_authentication_login
](#type-cisco_aaa_authentication_login) - [
cisco_aaa_authorization_login_cfg_svc
](#type-cisco_aaa_authorization_login_cfg_svc) - [
cisco_aaa_authorization_login_exec_svc
](#type-cisco_aaa_authorization_login_exec_svc) - [
cisco_aaa_group_tacacs
](#type-cisco_aaa_group_tacacs) - [
cisco_acl
](#type-cisco_acl) - [
cisco_ace
](#type-cisco_ace) - [
cisco_bfd_global
](#type-cisco_bfd_global) - [
cisco_bgp
](#type-cisco_bgp) - [
cisco_bgp_af
](#type-cisco_bgp_af) - [
cisco_bgp_af_aa
](#type-cisco_bgp_af_aa) - [
cisco_bgp_neighbor
](#type-cisco_bgp_neighbor) - [
cisco_bgp_neighbor_af
](#type-cisco_bgp_neighbor_af) - [
cisco_bridge_domain
](#type-cisco_bridge_domain) - [
cisco_bridge_domain_vni
](#type-cisco_bridge_domain_vni) - [
cisco_dhcp_relay_global
](#type-cisco_dhcp_relay_global) - [
cisco_encapsulation
](#type-cisco_encapsulation) - [
cisco_evpn_multicast
](#type-cisco_evpn_multicast) - [
cisco_evpn_multisite
](#type-cisco_evpn_multisite) - [
cisco_evpn_stormcontrol
](#type-cisco_evpn_stormcontrol) - [
cisco_evpn_vni
](#type-cisco_evpn_vni) - [
cisco_fabricpath_global
](#type-cisco_fabricpath_global) - [
cisco_fabricpath_topology
](#type-cisco_fabricpath_topology) - [
cisco_hsrp_global
](#type-cisco_hsrp_global) - [
cisco_interface
](#type-cisco_interface) - [
cisco_interface_channel_group
](#type-cisco_interface_channel_group) - [
cisco_interface_evpn_multisite
](#type-cisco_interface_evpn_multisite) - [
cisco_interface_hsrp_group
](#type-cisco_interface_hsrp_group) - [
cisco_interface_ospf
](#type-cisco_interface_ospf) - [
cisco_interface_portchannel
](#type-cisco_interface_portchannel) - [
cisco_interface_service_vni
](#type-cisco_interface_service_vni) - [
cisco_ip_multicast
](#type-cisco_ip_multicast) - [
cisco_itd_device_group
](#type-cisco_itd_device_group) - [
cisco_itd_device_group_node
](#type-cisco_itd_device_group_node) - [
cisco_itd_service
](#type-cisco_itd_service) - [
cisco_object_group
](#type-cisco_object_group) - [
cisco_object_group_entry
](#type-cisco_object_group_entry) - [
cisco_ospf
](#type-cisco_ospf) - [
cisco_ospf_area
](#type-cisco_ospf_area) - [
cisco_ospf_area_vlink
](#type-cisco_ospf_area_vlink) - [
cisco_ospf_vrf
](#type-cisco_ospf_vrf) - [
cisco_overlay_global
](#type-cisco_overlay_global) - [
cisco_pim
](#type-cisco_pim) - [
cisco_pim_grouplist
](#type-cisco_pim_grouplist) - [
cisco_pim_rp_address
](#type-cisco_pim_rp_address) - [
cisco_portchannel_global
](#type-cisco_portchannel_global) - [
cisco_route_map
](#type-cisco_route_map) - [
cisco_stp_global
](#type-cisco_stp_global) - [
cisco_snmp_community
](#type-cisco_snmp_community) - [
cisco_snmp_group
](#type-cisco_snmp_group) - [
cisco_snmp_server
](#type-cisco_snmp_server) - [
cisco_snmp_user
](#type-cisco_snmp_user) - [
cisco_tacacs_server
](#type-cisco_tacacs_server) - [
cisco_tacacs_server_host
](#type-cisco_tacacs_server_host) - [
cisco_upgrade
](#type-cisco_upgrade) - [
cisco_vdc
](#type-cisco_vdc) - [
cisco_vlan
](#type-cisco_vlan) - [
cisco_vpc_domain
](#type-cisco_vpc_domain) - [
cisco_vni
](#type-cisco_vni) - [
cisco_vrf
](#type-cisco_vrf) - [
cisco_vrf_af
](#type-cisco_vrf_af) - [
cisco_vtp
](#type-cisco_vtp) - [
cisco_vxlan_vtep
](#type-cisco_vxlan_vtep) - [
cisco_vxlan_vtep_vni
](#type-cisco_vxlan_vtep_vni)
NetDev StdLib Resource Type Catalog (by Name)
- [
banner
](#type-banner) - [
domain_name
](#type-domain_name) - [
name_server
](#type-name_server) - [
network_dns
](#type-network_dns) - [
network_interface
](#type-network_interface) - [
network_snmp
](#type-network_snmp) - [
network_trunk
](#type-network_trunk) - [
network_vlan
](#type-network_vlan) - [
ntp_auth_key
](#type-ntp_auth_key) - [
ntp_config
](#type-ntp_config) - [
ntp_server
](#type-ntp_server) - [
port_channel
](#type-port_channel) - [
radius
](#type-radius) - [
radius_global
](#type-radius_global) - [
radius_server_group
](#type-radius_server_group) - [
radius_server
](#type-radius_server) - [
search_domain
](#type-search_domain) - [
snmp_community
](#type-snmp_community) - [
snmp_notification
](#type-snmp_notification) - [
snmp_notification_receiver
](#type-snmp_notification_receiver) - [
snmp_user
](#type-snmp_user) - [
syslog_facility
](#type-syslog_facility) - [
syslog_server
](#type-syslog_server) - [
syslog_settings
](#type-syslog_settings) - [
tacacs
](#type-tacacs) - [
tacacs_global
](#type-tacacs_global) - [
tacacs_server_group
](#type-tacacs_server_group) - [
tacacs_server
](#type-tacacs_server)
Resource Platform Support Matrix
The Nexus family of switches support various hardware and software features depending on the model and version. The following table will guide you through the provider support matrix.
Platform Models
Platform | Description | Environments |
---|---|---|
N9k | Support includes all N9xxx models | agentless, bash-shell, guestshell |
N3k | Support includes N30xx and N31xx models only.The N35xx model is not supported. | agentless, bash-shell, guestshell |
N3k-F | Support includes all N3xxx models running os version 7.0(3)Fx(x) | agentless, bash-shell, guestshell |
N5k | Support includes N56xx models only.The N50xx and N55xx models are not supported at this time. | Open Agent Container (OAC) |
N6k | Support includes all N6xxx models | agentless, Open Agent Container (OAC) |
N7k | Support includes all N7xxx models | agentless, Open Agent Container (OAC) |
N9k-F | Support includes all N95xx models running os version 7.0(3)Fx(x) | agentless, bash-shell, guestshell |
Matrix Legend
Symbol | Meaning | Description |
---|---|---|
✅ | Supported | The provider has been validated to work on the platform.An asterisk '*' indicates that some provider properties may have software or hardware limitations, caveats, or other noted behaviors.Click on the associated caveat link for more information. |
➖ | Not Applicable | The provider is not supported on the platform because of hardware or software limitations. |
Support Matrix
NetDev Providers
✅ = Supported ➖ = Not Applicable | N9k | N3k | N5k | N6k | N7k | N9k-F | N3k-F | Caveats |
---|---|---|---|---|---|---|---|---|
banner | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *caveats |
domain_name | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
name_server | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
network_dns | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *caveats |
network_interface | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
network_snmp | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
network_trunk | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
network_vlan | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
ntp_auth_key | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
ntp_config | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *caveats |
ntp_server | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *caveats |
port_channel | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
radius | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
radius_global | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
radius_server_group | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
radius_server | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
search_domain | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
snmp_community | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
snmp_notification | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
snmp_notification_receiver | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
snmp_user | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
syslog_facility | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
syslog_server | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
syslog_settings | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *caveats |
tacacs | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
tacacs_global | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
tacacs_server | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
tacacs_server_group | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
--
Cisco Resource Type Details
The following resources are listed alphabetically.
--
Type: cisco_command_config
Allows execution of configuration commands.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.0.1 |
N3k | 7.0(3)I2(5) | 1.0.1 |
N5k | 7.3(0)N1(1) | 1.2.0 |
N6k | 7.3(0)N1(1) | 1.2.0 |
N7k | 7.3(0)D1(1) | 1.2.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Parameters
command
Configuration command(s) to be applied to the network element. Valid values are string.
This provider allows raw configurations to be managed by Puppet. It serves as a stopgap until specialized types are created. It has the following limitations:
- The input message buffer is limited to 500KB. Large configurations are often easier to debug if broken up into multiple smaller resource blocks.
- The cisco_command_config configuration block must use the same syntax as displayed by the
show running-config
command on the switch. In some cases, configuration commands that omit optional keywords when entered may actually appear with a different syntax when displayed byshow running-config
; for example, some access-list entries may be configured without a sequence number but yet an implicit sequence number is created regardless. This then creates an idempotency problem because there is a mismatch betweenshow running-config
and the manifest. The solution in this case is for the manifest to include explicit sequence numbers for the affected access-list entries. - Order is important. Some dependent commands may fail if their associated
feature
configuration is not enabled first. Use Puppet'sbefore
,after
, orrequire
keywords to establish dependencies between blocks. - Indentation counts! It implies sub-mode configuration. Use the switch's running-config as a guide and do not indent configurations that are not normally indented. Do not use tabs to indent.
- Inline comments must be prefixed by '!' or '#'.
- Negating a submode will also remove configuratons under that submode, without having to specify every submode config statement:
no router ospf RED
removes all configuration under router ospf RED. - Syntax does not auto-complete: use
Ethernet1/1
, notEth1/1
. - If a CLI command is rejected during configuration, the resource will abort at that point and will not issue any remaining CLI. For this reason, we recommend limiting the scope of each instance of this resource.
--
Type: cisco_aaa_authentication_login
Manages AAA Authentication Login configuration.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.2.0 |
N3k | 7.0(3)I2(5) | 1.2.0 |
N5k | 7.3(0)N1(1) | 1.3.0 |
N6k | 7.3(0)N1(1) | 1.3.0 |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Parameters
name
The name of the AAA Authentication Login instance. Must be 'default'
ascii_authentication
Enable/disable ascii_authentication for AAA Authentication Login. Valid values are true, false, keyword 'default'
chap
Enable/disable chap for AAA Authentication Login.
error_display
Enable/disable error_display for AAA Authentication Login.
mschap
Enable/disable mschap for AAA Authentication Login.
mschapv2
Enable/disable mschapv2 for AAA Authentication Login.
--
Type: cisco_aaa_authorization_login_cfg_svc
Manages configuration for Authorization Login Config Service.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.2.0 |
N3k | 7.0(3)I2(5) | 1.2.0 |
N5k | 7.3(0)N1(1) | 1.3.0 |
N6k | 7.3(0)N1(1) | 1.3.0 |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Parameters
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
name
Name of the config login service. Valid values are 'console' or 'default'.
groups
Tacacs+ groups configured for this service. Valid values are an array of strings, keyword 'default'.
method
Authentication methods on this device. Valid values are 'local', 'unselected', 'default'.
--
Type: cisco_aaa_authorization_login_exec_svc
Manages configuration for Authorization Login Exec Service.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.2.0 |
N3k | 7.0(3)I2(5) | 1.2.0 |
N5k | 7.3(0)N1(1) | 1.3.0 |
N6k | 7.3(0)N1(1) | 1.3.0 |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Parameters
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
name
Name of the exec login service. Valid values are 'console' or 'default'.
groups
Tacacs+ groups configured for this service. Valid values are an array of strings, keyword 'default'.
method
Authentication methods on this device. Valid values are 'local', 'unselected', 'default'.
--
Type: cisco_aaa_group_tacacs
Manages configuration for a TACACS+ server group.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.2.0 |
N3k | 7.0(3)I2(5) | 1.2.0 |
N5k | 7.3(0)N1(1) | 1.3.0 |
N6k | 7.3(0)N1(1) | 1.3.0 |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Parameters
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
group
Name of the aaa group TACACS instance. Valid values are string.
deadtime
Deadtime interval for this TACACS+ server group. Valid values are integer, in minutes, keyword 'default'
server_hosts
An array of TACACS+ server hosts associated with this TACACS+ server group. Valid values are an array, or the keyword 'default'.
source_interface
Source interface for TACACS+ servers in this TACACS+ server group Valid values are string, keyword 'default'.
vrf_name
Specifies the virtual routing and forwarding instance (VRF) to use to contact this TACACS server group. Valid values are string, the keyword 'default'.
--
Type: cisco_acl
Manages configuration of a Access Control List (ACL) instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.2.0 |
N3k | 7.0(3)I2(5) | 1.2.0 |
N5k | 7.3(0)N1(1) | 1.3.0 |
N6k | 7.3(0)N1(1) | 1.3.0 |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | 9.2.1 | 1.10.0 |
N3k-F | 9.2.1 | 1.10.0 |
Caveats
Property | Caveat Description |
---|---|
fragments |
Not supported on N5k, N6k, N9k-F, N3k-F |
Parameters
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
afi
Address Family Identifier (AFI). Required. Valid values are 'ipv4' and 'ipv6'.
acl_name
Name of the acl instance. Valid values are string.
stats_per_entry
Enable/disable Statistics Per Entry for ACL. Valid values are true, false, keyword 'default'.
fragments
Permit or deny Fragments for ACL. Valid values are 'permit-all' and 'deny-all'
--
Type: cisco_ace
Manages configuration of an Access Control List (ACL) Access Control Entry (ACE) instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.2.0 |
N3k | 7.0(3)I2(5) | 1.2.0 |
N5k | 7.3(0)N1(1) | 1.3.0 |
N6k | 7.3(0)N1(1) | 1.3.0 |
N7k | 7.3(0)D1(1) | 1.3.0 |
Caveats
Property | Caveat Description |
---|---|
http_method |
ipv4 only Not supported on N5k, N6k, N7k |
packet_length |
Not supported on N5k, N6k |
precedence |
ipv4 only |
redirect |
ipv4 only Not supported on N5k, N6k, N7k |
time_range |
Not supported on N5k, N6k |
ttl |
Not supported on N5k, N6k, N7k |
tcp_option_length |
ipv4 only Not supported on N5k, N6k, N7k |
vlan |
Not supported on N5k, N6k, N7k. Minimum puppet module version 1.10.0 |
set_erspan_gre_proto |
Not supported on N5k, N6k, N7k. Minimum puppet module version 1.10.0 |
set_erspan_dscp |
Not supported on N5k, N6k, N7k. Minimum puppet module version 1.10.0 |
proto_option |
Not supported on N5k, N6k. Minimum puppet module version 1.10.0 |
Example Usage
cisco_ace { 'ipv4 my_acl 42':
ensure => 'present',
remark => 'East Branch',
action => 'permit',
proto => 'tcp',
src_addr => '10.0.0.0/8',
src_port => 'eq 40',
dst_addr => 'any',
dst_port => 'neq 80',
dscp => 'af11',
established => 'true',
log => 'true',
packet_length => 'range 512 1024'
precedence => 'flash',
redirect => 'Ethernet1/2,Port-Channel42',
tcp_flags => 'ack psh',
time_range => 'my_time_range',
ttl => '128',
}
cisco_ace { 'ipv6 my_v6_acl 42':
ensure => 'present',
remark => 'East Branch',
action => 'permit',
proto => 'tcp',
src_addr => '1:1::1/128',
dst_addr => 'any',
}
Parameters
| Example Parameter Usage
|:--
| cisco_ace { '<afi> <acl_name> <seqno>':
| cisco_ace { 'ipv4 my_acl 42':
afi
Address Family Identifier (AFI). Required. Valid values are 'ipv4' and 'ipv6'.
acl_name
Access Control List (ACL) name. Required. Valid values are type String.
seqno
Access Control Entry (ACE) Sequence Number. Required. Valid values are type Integer.
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
Properties
action
The action to perform with this ACE. Valid values are keywords permit
or deny
.
| Example
|:--
| action => 'permit'
dscp
Allows matching by Differentiated Services Code Point (DSCP) value. Valid values are type String, which must be one of the following forms:
- A numeric dscp value
- One of the dscp keyword names
af11
af12
af13
af21
af22
af23
af31
af32
af33
af41
af42
af43
cs1
cs2
cs3
cs4
cs5
cs6
cs7
ef
default
| Example
|:--
| dscp => 'af11'
dst_addr
The Destination Address to match against. This property shares the same syntax as src_addr
. Valid values are type String, which must be one of the following forms:
- An IPv4/IPv6 address or subnet
- The keyword
host
and a host address - The keyword
addrgroup
and its object group name - The keyword
any
| Examples
|:--
| dst_addr => '10.0.0.0/8'
| dst_addr => 'host 10.0.0.1'
| dst_addr => '128:1::/64'
| dst_addr => 'addrgroup my_addrgroup'
| dst_addr => 'any'
See src_addr
.
dst_port
The TCP or UDP Destination Port to match against. This property shares the same syntax as src_port
. Valid values are type String, which must be one of the following forms:
- A comparison operator (
eq
,neq
,lt
,gt
) and value - The keyword
range
and a range value - The keyword
portgroup
and its object group name
| Examples
|:--
| dst_port => 'neq 40'
| dst_port => 'range 68 69'
| dst_port => 'portgroup my_portgroup'
See src_port
.
established
Allows matching against TCP Established connections. Valid values are true or false.
| Example
|:--
| established => true
http_method
(ipv4 only) Allows matching based on http-method. Valid values are String, which must be one of the following forms:
- A numeric http-method value
- One of the http-method keyword names
connect
delete
get
head
post
put
trace
| Examples
|:--
| http_method => 'post'
log
Enables logging for the ACE. Valid values are true or false.
| Examples
|:--
| 'log' => true
packet_length
Allows matching based on Layer 3 Packet Length. Valid values are type String, which must be one of the following forms:
- A comparison operator (
eq
,neq
,lt
,gt
) and value - The keyword
range
and range values
| Examples
|:--
| packet_length => 'gt 512'
| packet_length => 'range 512 1024'
precedence
(ipv4 only) Allows matching by precedence value. Valid values are String, which must be one of the following forms:
- A numeric precedence value
- One of the precedence keyword names
critical
flash
flash-override
immediate
internet
network
priority
routine
| Example
|:--
| precedence => 'flash'
proto
The protocol to match against. Valid values are String or Integer. Examples are: tcp
, udp
, ip
, 6
.
| Example
|:--
| proto => 'tcp'
proto_option
Any protocol option which is valid for that protocol. Valid values are string. Currently this is valid only for icmp protocol.
| Example
|:--
| proto_option => 'time-exceeded'
redirect
(ipv4 only) Allows for redirecting traffic to one or more interfaces. This property is only useful with VLAN ACL (VACL) applications. Valid values are a String containing a list of interface names.
| Examples
|:--
| redirect => 'Ethernet1/1'
| redirect => 'Ethernet1/2,Port-Channel42'
remark
This is a Remark description for the ACL or ACE. Valid values are string.
| Example
|:--
| remark => 'East Branch'
set_erspan_dscp
Sets ERSPAN outer IP DSCP value. Valid values are beween 1 and 63. Currently this is valid only for icmp protocol.
| Example
|:--
| set_erspan_dscp => '3'
set_erspan_gre_proto
Sets ERSPAN GRE protocol. Valid values are beween 1 and 65535. Currently this is valid only for icmp protocol.
| Example
|:--
| set_erspan_gre_proto => '300'
src_addr
The Source Address to match against. Valid values are type String, which must be one of the following forms:
- An IPv4/IPv6 address or subnet
- The keyword
host
and a host address - The keyword
addrgroup
and its object group name - The keyword
any
| Examples
|:--
| src_addr => '10.0.0.0/8'
| src_addr => 'host 10.0.0.1'
| src_addr => '128:1::/64'
| src_addr => 'addrgroup my_addrgroup'
| src_addr => 'any'
See dst_addr
.
src_port
The TCP or UDP Source Port to match against. Valid values are type String, which must be one of the following forms:
- A comparison operator (
eq
,neq
,lt
,gt
) and value - The keyword
range
and range values - The keyword
portgroup
and its object group name
| Examples
|:--
| src_port => 'neq 40'
| src_port => 'range 68 69'
| src_port => 'portgroup my_portgroup'
See dst_port
.
tcp_flags
The TCP flags or control bits. Valid values are a String of some or all of flags: urg
, ack
, psh
, rst
, syn
, or fin
.
| Example
|:--
| tcp_flags => 'ack psh'
tcp_option_length
(ipv4 only) Allows matching on TCP options length. Valid values are type Integer or String, which must be a multiple of 4 in the range 0-40.
| Examples
|:--
| tcp_option_length => '0'
| tcp_option_length => '36'
time_range
Allows matching by Time Range. Valid values are String, which references a time-range
name.
| Example
|:--
| time_range => 'my_time_range'
ttl
Allows matching based on Time-To-Live (TTL) value. Valid values are type Integer or String.
| Example
|:--
| ttl => '128'
vlan
Configure match based on vlan. Valid values are between 0 and 4095. Currently this is valid only for icmp protocol.
| Example
|:--
| vlan => '100'
--
Type: cisco_bfd_global
Manages configuration of a BFD (Bidirectional Forwarding Detection) instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.4.0 |
N3k | 7.0(3)I2(5) | 1.4.0 |
N5k | 7.3(0)N1(1) | 1.4.0 |
N6k | 7.3(0)N1(1) | 1.4.0 |
N7k | 7.3(0)D1(1) | 1.4.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Caveats
Property | Caveat Description |
---|---|
echo_rx_interval |
Not supported on N5k, N6k |
fabricpath_interval |
Not supported on N3k, N3k-F, N9k-F, N9k |
fabricpath_slow_timer |
Not supported on N3k, N3k-F, N9k-F, N9k |
fabricpath_vlan |
Not supported on N3k, N3k-F, N9k-F, N9k |
interval |
Supported on N3k, N5k, N6k, N7k Supported in OS Version 7.0(3)F2(1) and later on N9k-F Supported in OS Version 7.0(3)I6(1) and later on N9k |
ipv4_echo_rx_interval |
Not supported on N5k, N6k |
ipv4_interval |
Not supported on N5k, N6k |
ipv4_slow_timer |
Not supported on N5k, N6k |
ipv6_echo_rx_interval |
Not supported on N5k, N6k |
ipv6_interval |
Not supported on N5k, N6k |
ipv6_slow_timer |
Not supported on N5k, N6k |
startup_timer |
Not supported on N5k, N6k, N7k |
Parameters
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
echo_interface
Loopback interface used for echo frames. Valid values are String, and 'default'.
echo_rx_interval
Echo receive interval in milliseconds. Valid values are integer, and 'default'.
fabricpath_interval
BFD fabricpath interval. Valid values are an array of [fabricpath_interval, fabricpath_min_rx, fabricpath_multiplier] or 'default'.
Example: fabricpath_interval => [100, 120, 4]
fabricpath_slow_timer
BFD fabricpath slow rate timer in milliseconds. Valid values are integer, and 'default'.
fabricpath_vlan
BFD fabricpath control vlan. Valid values are integer, and 'default'.
interval
BFD interval. Valid values are an array of [interval, min_rx, multiplier] or 'default'.
Example: interval => [100, 120, 4]
ipv4_echo_rx_interval
IPv4 session echo receive interval in milliseconds. Valid values are integer, and 'default'.
ipv4_interval
BFD IPv4 session interval. Valid values are an array of [ipv4_interval, ipv4_min_rx, ipv4_multiplier] or 'default'.
Example: ipv4_interval => [100, 120, 4]
ipv4_slow_timer
BFD IPv4 session slow rate timer in milliseconds. Valid values are integer, and 'default'.
ipv6_echo_rx_interval
IPv6 session echo receive interval in milliseconds. Valid values are integer, and 'default'.
ipv6_interval
BFD IPv6 session interval. Valid values are an array of [ipv6_interval, ipv6_min_rx, ipv6_multiplier] or 'default'.
Example: ipv6_interval => [100, 120, 4]
ipv6_slow_timer
BFD IPv6 session slow rate timer in milliseconds. Valid values are integer, and 'default'.
slow_timer
BFD slow rate timer in milliseconds. Valid values are integer, and 'default'.
startup_timer
BFD delayed startup timer in seconds. Valid values are integer, and 'default'.
--
Type: cisco_bgp
Manages configuration of a BGP instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.1.0 |
N3k | 7.0(3)I2(5) | 1.1.0 |
N5k | 7.3(0)N1(1) | 1.2.0 |
N6k | 7.3(0)N1(1) | 1.2.0 |
N7k | 7.3(0)D1(1) | 1.2.0 |
N9k-f | 7.3(0)F3(2) | 1.8.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Caveats
Property | Caveat Description |
---|---|
disable_policy_batching_ipv4 |
Not supported on N5k, N6k Supported in OS Version 8.1.1 and later on N7k |
disable_policy_batching_ipv6 |
Not supported on N5k, N6k Supported in OS Version 8.1.1 and later on N7k |
event_history_errors |
Supported in OS Version 8.0.1 and later on N7k Supported in OS Version 7.0(3)I5(1) and later on N3 |
event_history_objstore |
Supported in OS Version 8.0.1 and later on N7k Supported in OS Version 7.0(3)I5(1) and later on N3 |
neighbor_down_fib_accelerate |
Not supported on N5k, N6k Supported in OS Version 8.1.1 and later on N7k |
reconnect_interval |
Not supported on N5k, N6k Supported in OS Version 8.1.1 and later on N7k |
suppress_fib_pending |
Idempotence supported only on 7.0(3)I5(1) and later images N3 |
Parameters
ensure
Determines whether the config should be present or not on the device. Valid values are 'present' and 'absent'.
asn
BGP autonomous system number. Valid values are String, Integer in ASPLAIN or ASDOT notation.
vrf
Name of the resource instance. Valid values are string. The name 'default' is a valid VRF representing the global bgp.
Properties
bestpath_always_compare_med
Enable/Disable MED comparison on paths from different autonomous systems. Valid values are 'true', 'false', and 'default'.
bestpath_aspath_multipath_relax
Enable/Disable load sharing across the providers with different (but equal-length) AS paths. Valid values are 'true', 'false', and 'default'
bestpath_compare_routerid
Enable/Disable comparison of router IDs for identical eBGP paths. Valid values are 'true', 'false', and 'default'
bestpath_cost_community_ignore
Enable/Disable Ignores the cost community for BGP best-path calculations. Valid values are 'true', 'false', and 'default'
bestpath_med_confed
Enable/Disable enforcement of bestpath to do a MED comparison only between paths originated within a confederation. Valid values are 'true', 'false', and 'default'.
bestpath_med_missing_as_worst
Enable/Disable assigns the value of infinity to received routes that do not carry the MED attribute, making these routes the least desirable. Valid values are 'true', 'false', and 'default'.
bestpath_med_non_deterministic
Enable/Disable deterministic selection of the best MED path from among the paths from the same autonomous system. Valid values are 'true', 'false', and 'default'.
cluster_id
Route Reflector Cluster-ID. Valid values are String, keyword 'default'.
confederation_id
Routing domain confederation AS. Valid values are String, keyword 'default'.
confederation_peers
AS confederation parameters. Valid values are String, keyword 'default'.
disable_policy_batching
Enable/Disable the batching evaluation of prefix advertisements to all peers. Valid values are 'true', 'false', and 'default'.
disable_policy_batching_ipv4
Enable/Disable the batching evaluation of prefix advertisements to all peers with prefix list. Valid values are String, keyword 'default'.
disable_policy_batching_ipv6
Enable/Disable the batching evaluation of prefix advertisements to all peers with prefix list. Valid values are String, keyword 'default'.
enforce_first_as
Enable/Disable enforces the neighbor autonomous system to be the first AS number listed in the AS path attribute for eBGP. Valid values are 'true', 'false', and 'default'. On NX-OS, this property is only supported in the global BGP context.
event_history_cli
Enable/Disable/specify size of cli event history buffer. Valid values are false', 'size_small', 'size_medium', 'size_large', 'size_disable'. Size can also be specified in bytes. Please Note: Setting this value to 'default' or 'true' has been deprecated in module version 1.8.0. This property is only used for BGP debugging purposes and idempotency is not guaranteed.
event_history_detail
Enable/Disable/specify size of detail event history buffer. Valid values are 'false', 'size_small', 'size_medium', 'size_large', 'size_disable'. Size can also be specified in bytes. Please Note: Setting this value to 'default' or 'true' has been deprecated in module version 1.8.0. This property is only used for BGP debugging purposes and idempotency is not guaranteed.
event_history_errors
Enable/Disable/specify size of error history buffer. Valid values are 'false', 'size_small', 'size_medium', 'size_large', 'size_disable'. Size can also be specified in bytes. Please Note: Setting this value to 'default' or 'true' has been deprecated in module version 1.8.0. This property is only used for BGP debugging purposes and idempotency is not guaranteed.
event_history_events
Enable/Disable/specify size of event history buffer. Valid values are 'false', 'size_small', 'size_medium', 'size_large', 'size_disable'. Size can also be specified in bytes. Please Note: Setting this value to 'default' or 'true' has been deprecated in module version 1.8.0. This property is only used for BGP debugging purposes and idempotency is not guaranteed.
event_history_objstore
Enable/Disable/specify size of objstore history buffer. Valid values are 'false', 'size_small', 'size_medium', 'size_large', 'size_disable'. Size can also be specified in bytes. Please Note: Setting this value to 'default' or 'true' has been deprecated in module version 1.8.0. This property is only used for BGP debugging purposes and idempotency is not guaranteed.
event_history_periodic
Enable/Disable/specify size of periodic event history buffer. Valid values are 'false', 'size_small', 'size_medium', 'size_large', 'size_disable'. Size can also be specified in bytes. Please Note: Setting this value to 'default' or 'true' has been deprecated in module version 1.8.0. This property is only used for BGP debugging purposes and idempotency is not guaranteed.
fast_external_fallover
Enable/Disable immediately reset the session if the link to a directly connected BGP peer goes down. Valid values are 'true', 'false', and 'default'. On NX-OS, this property is only supported in the global BGP context.
flush_routes
Enable/Disable flush routes in RIB upon controlled restart. Valid values are 'true', 'false', and 'default'. On NX-OS, this property is only supported in the global BGP context.
graceful_restart
Enable/Disable graceful restart. Valid values are 'true', 'false', and 'default'.
graceful_restart_helper
Enable/Disable graceful restart helper mode. Valid values are 'true', 'false', and 'default'.
graceful_restart_timers_restart
Set maximum time for a restart sent to the BGP peer. Valid values are Integer, keyword 'default'.
graceful_restart_timers_stalepath_time
Set maximum time that BGP keeps the stale routes from the restarting BGP peer. Valid values are Integer, keyword 'default'.
isolate
Enable/Disable isolate this router from BGP perspective. Valid values are 'true', 'false', and 'default'.
log_neighbor_changes
Enable/Disable message logging for neighbor up/down event. Valid values are 'true', 'false', and 'default'
maxas_limit
Specify Maximum number of AS numbers allowed in the AS-path attribute. Valid values are integers between 1 and 512, or keyword 'default' to disable this property.
neighbor_down_fib_accelerate
Enable/Disable handle BGP neighbor down event, due to various reasons. Valid values are 'true', 'false', and 'default'.
nsr
Enable/Disable Non-Stop Routing (NSR). Valid values are 'true', 'false', and 'default'. This property is not supported on Nexus.
reconnect_interval
The BGP reconnection interval for dropped sessions. Valid values are Integer or keyword 'default'.
route_distinguisher
VPN Route Distinguisher (RD). The RD is combined with the IPv4 or IPv6 prefix learned by the PE router to create a globally unique address. Valid values are a String in one of the route-distinguisher formats (ASN2:NN, ASN4:NN, or IPV4:NN); the keyword 'auto', or the keyword 'default'.
Please note: The route_distinguisher
property is typically configured within the VRF context configuration on most platforms (including NXOS) but it is tightly coupled to bgp and therefore configured within the BGP configuration on some non-NXOS platforms. For this reason the route_distinguisher
property has support (with limitations) in both cisco_vrf
and cisco_bgp
providers:
cisco_bgp
: The property is supported on NXOS and some non-NXOS platforms.cisco_vrf
: The property is only supported on NXOS. See: cisco_vrf: route_distinguisher
IMPORTANT: Choose only one provider to configure the route_distinguisher
property on a given device. Using both providers simultaneously on the same device may have unpredictable results.
router_id
Router Identifier (ID) of the BGP router VRF instance. Valid values are string, and keyword 'default'.
shutdown
Administratively shutdown the BGP protocol. Valid values are 'true', 'false', and 'default'.
suppress_fib_pending
Enable/Disable advertise only routes programmed in hardware to peers. Valid values are 'true', 'false', and 'default'.
timer_bestpath_limit
Specify timeout for the first best path after a restart, in seconds. Valid values are Integer, keyword 'default'.
timer_bestpath_limit_always
Enable/Disable update-delay-always option. Valid values are 'true', 'false', and 'default'.
timer_bgp_holdtime
Set bgp hold timer. Valid values are Integer, keyword 'default'.
timer_bgp_keepalive
Set bgp keepalive timer. Valid values are Integer, keyword 'default'.
--
Type: cisco_bgp_af
Manages configuration of a BGP Address-family instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.1.0 |
N3k | 7.0(3)I2(5) | 1.1.0 |
N5k | 7.3(0)N1(1) | 1.2.0 |
N6k | 7.3(0)N1(1) | 1.2.0 |
N7k | 7.3(0)D1(1) | 1.2.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Caveats
Property | Caveat Description |
---|---|
additional_paths_install |
Not supported on N3k, N3k-F, N9k-F, N9k |
advertise_l2vpn_evpn |
Not supported on N3k, N6k |
address-family l2vpn/evpn |
Module Minimum Version 1.3.2 OS Minimum Version 7.0(3)I3(1) Not supported on N3k |
Parameters
ensure
Determine whether the interface config should be present or not. Valid values are 'present' and 'absent'.
asn
BGP autonomous system number. Required. Valid values are String, Integer in ASPLAIN or ASDOT notation.
vrf
VRF name. Required. Valid values are string. The name 'default' is a valid VRF representing the global bgp.
afi
Address Family Identifier (AFI). Required. Valid values are ipv4
, ipv6
, vpnv4
, vpnv6
and l2vpn
.
safi
Sub Address Family Identifier (SAFI). Required. Valid values are unicast
, multicast
and evpn
.
Properties
additional_paths_install
Install a backup path into the forwarding table and provide prefix 'independent convergence (PIC) in case of a PE-CE link failure. Valid values are true, false, or 'default'.
additional_paths_receive
Enables the receive capability of additional paths for all of the neighbors under this address family for which the capability has not been disabled. Valid values are true, false, or 'default'
additional_paths_selection
Configures the capability of selecting additional paths for a prefix. Valid values are a string defining the name of the route-map.
additional_paths_send
Enables the send capability of additional paths for all of the neighbors under this address family for which the capability has not been disabled. Valid values are true, false, or 'default'
advertise_l2vpn_evpn
Advertise evpn routes. Valid values are true and false.
client_to_client
Configure client-to-client route reflection. Valid values are true and false.
dampen_igp_metric
Specify dampen value for IGP metric-related changes, in seconds. Valid values are Integer, keyword 'default'.
dampening_state
Enable/disable route-flap dampening. Valid values are true, false or 'default'.
dampening_half_time
Specify decay half-life in minutes for route-flap dampening. Valid values are Integer, keyword 'default'.
dampening_max_suppress_time
Specify max suppress time for route-flap dampening stable route. Valid values are Integer, keyword 'default'.
dampening_reuse_time
Specify route reuse time for route-flap dampening. Valid values are Integer, keyword 'default'.
dampening_routemap
Specify route-map for route-flap dampening. Valid values are a string defining the name of the route-map.
dampening_suppress_time
Specify route suppress time for route-flap dampening. Valid values are Integer, keyword 'default'.
Dampening Properties
Note: dampening_routemap is mutually exclusive with dampening_half_time, reuse_time, suppress_time and max_suppress_time.
default_information_originate
default-information originate
. Valid values are true and false.
default_metric
Sets default metrics for routes redistributed into BGP. Valid values are Integer or keyword 'default'.
distance_ebgp
Sets the administrative distance for eBGP routes. Valid values are Integer or keyword 'default'.
distance_ibgp
Sets the administrative distance for iBGP routes. Valid values are Integer or keyword 'default'.
distance_local
Sets the administrative distance for local BGP routes. Valid values are Integer or keyword 'default'.
inject_map
An array of route-map names which will specify prefixes to inject. Each array entry must first specify the inject-map name, secondly an exist-map name, and optionally the copy-attributes
keyword which indicates that attributes should be copied from the aggregate.
For example, the following array will create three separate inject-maps for lax_inject_map
, nyc_inject_map
(with copy-attributes), and fsd_exist_map
:
[
['lax_inject_map', 'lax_exist_map'],
['nyc_inject_map', 'nyc_exist_map', 'copy-attributes'],
['fsd_inject_map', 'fsd_exist_map']
]
maximum_paths
Configures the maximum number of equal-cost paths for load sharing. Valid value is an integer in the range 1-64. Default value is 1.
maximum_paths_ibgp
Configures the maximum number of ibgp equal-cost paths for load sharing. Valid value is an integer in the range 1-64. Default value is 1.
networks
Networks to configure. Valid value is a list of network prefixes to advertise. The list must be in the form of an array. Each entry in the array must include a prefix address and an optional route-map.
Example: IPv4 Networks Array
[
['10.0.0.0/16', 'routemap_LA'],
['192.168.1.1', 'Chicago'],
['192.168.2.0/24],
['192.168.3.0/24', 'routemap_NYC']
]
Example: IPv6 Networks Array
[
['10::0/64', 'routemap_LA'],
['192:168::1', 'Chicago'],
['192:168::/32]
]
next_hop_route_map
Configure a route-map for valid nexthops. Valid values are a string defining the name of the route-map.
redistribute
A list of redistribute directives. Multiple redistribute entries are allowed. The list must be in the form of a nested array: the first entry of each array defines the source-protocol to redistribute from; the second entry defines a route-map name. A route-map is highly advised but may be optional on some platforms, in which case it may be omitted from the array list.
Example: Platform requiring route-maps
redistribute => [['direct', 'rm_direct'],
['lisp', 'rm_lisp'],
['static', 'rm_static'],
['eigrp 1', 'rm_eigrp'],
['isis 2', 'rm_isis'],
['ospf 3', 'rm_ospf'],
['rip 4', 'rm_rip']]
Example: Platform with optional route-maps
redistribute => [['direct'],
['lisp', 'rm_lisp'],
['static'],
['eigrp 1', 'rm_eigrp'],
['isis 2', 'rm_isis'],
['ospf 3', 'rm_ospf'],
['rip 4']]
suppress_inactive
Advertises only active routes to peers. Valid values are true, false, or 'default'.
table_map
Apply table-map to filter routes downloaded into URIB. Valid values are a string.
table_map_filter
Filters routes rejected by the route-map and does not download them to the RIB. Valid values are true, false, or 'default'.
--
Type: cisco_bgp_af_aa
Manages configuration of a BGP Address-family Aggregate-address instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.7.0 |
N3k | 7.0(3)I2(5) | 1.7.0 |
N5k | 7.3(0)N1(1) | 1.7.0 |
N6k | 7.3(0)N1(1) | 1.7.0 |
N7k | 7.3(0)D1(1) | 1.7.0 |
N9k-F | 7.0(3)F1(1) | 1.7.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Parameters
ensure
Determine whether the BGP address family aggregate address should be present or not. Valid values are 'present' and 'absent'.
asn
BGP autonomous system number. Required. Valid values are String, Integer in ASPLAIN or ASDOT notation.
vrf
VRF name. Required. Valid values are string. The name 'default' is a valid VRF representing the global bgp.
afi
Address Family Identifier (AFI). Required. Valid values are ipv4
, ipv6
, vpnv4
, vpnv6
and l2vpn
.
safi
Sub Address Family Identifier (SAFI). Required. Valid values are unicast
, multicast
and evpn
.
aa
Aggregate address mask in ipv4/ipv6 format. Required. Valid values are string. Examples: 1.1.1.1/32 or 2000:1/128.
Properties
as_set
Generates autonomous system set path information. Valid values are true, false or 'default'.
advertise_map
Name of the route map used to select the routes to create AS_SET origin communities. Valid values are string or 'default'.
attribute_map
Name of the route map used to set the attribute of the aggregate route. Valid values are string or 'default'.
summary_only
Filters all more-specific routes from updates. Valid values are true, false or 'default'.
suppress_map
Name of the route map used to select the routes to be suppressed. Valid values are string or 'default'.
--
Type: cisco_bgp_neighbor
Manages configuration of a BGP Neighbor.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.1.0 |
N3k | 7.0(3)I2(5) | 1.1.0 |
N5k | 7.3(0)N1(1) | 1.2.0 |
N6k | 7.3(0)N1(1) | 1.2.0 |
N7k | 7.3(0)D1(1) | 1.2.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Caveats
Property | Caveat Description |
---|---|
log_neighbor_changes |
Not supported on N5k, N6k Minimum puppet module version 1.7.0 for N7k Supported in OS Version 8.1.1 and later on N7k |
bfd |
(ciscopuppet v1.4.0) BFD support added for all platforms |
bfd on IPv6 |
Not supported on N5k, N6k |
peer_type |
Only supported on N9K-EX and N9K-FX devices. For eg: N9K-C93180YC-EX. Minimum OS version 7.0(3)I7(1) and minimum Module Version 1.9.0 |
Parameters
ensure
Determine whether the neighbor config should be present or not. Valid values are 'present' and 'absent'.
asn
BGP autonomous system number. Required. Valid values are String, Integer in ASPLAIN or ASDOT notation.
vrf
VRF name. Required. Valid values are string. The name 'default' is a valid VRF representing the global bgp.
neighbor
Neighbor Identifier. Required. Valid values are string. Neighbors may use IPv4 or IPv6 notation, with or without prefix length.
Properties
description
Description of the neighbor. Valid value is string.
bfd
Enable Bidirectional Forwarding Detection (BFD). Valid values are true, false and keyword 'default'.
connected_check
Configure whether or not to check for directly connected peer. Valid values are true and false.
capability_negotiation
Configure whether or not to negotiate capability with this neighbor. Valid values are true and false.
dynamic_capability
Configure whether or not to enable dynamic capability. Valid values are true and false.
ebgp_multihop
Specify multihop TTL for a remote peer. Valid values are integers between 2 and 255, or keyword 'default' to disable this property.
local_as
Specify the local-as number for the eBGP neighbor. Valid values are String or Integer in ASPLAIN or ASDOT notation, or 'default', which means not to configure it.
log_neighbor_changes
Specify whether or not to enable log messages for neighbor up/down event. Valid values are 'enable', to enable it, 'disable' to disable it, or 'inherit' to use the configuration in the cisco_bgp type.
low_memory_exempt
Specify whether or not to shut down this neighbor under memory pressure. Valid values are 'true' to exempt the neighbor from being shutdown, 'false' to shut it down, or 'default' to perform the default shutdown behavior.
maximum_peers
Specify Maximum number of peers for this neighbor prefix. Valid values are between 1 and 1000, or 'default', which does not impose the limit.
password
Specify the password for neighbor. Valid value is string.
password_type
Specify the encryption type the password will use. Valid values for Nexus are 'cleartext', '3des' or 'cisco_type_7' encryption, and 'default', which defaults to 'cleartext'.
peer_type
Specify the peer type for EVPN multisite. Valid value are 'fabric-border-leaf' or 'fabric-external'.
remote_as
Specify Autonomous System Number of the neighbor. Valid values are String or Integer in ASPLAIN or ASDOT notation, or 'default', which means not to configure it.
remove_private_as
Specify the config to remove private AS number from outbound updates. Valid values are 'enable' to enable this config, 'disable' to disable this config, 'all' to remove all private AS number, or 'replace-as', to replace the private AS number.
shutdown
Configure to administratively shutdown this neighbor. Valid values are true and false.
suppress_4_byte_as
Configure to suppress 4-byte AS Capability. Valid values are 'true', 'false', and 'default', which sets to the default 'false' value.
timers_keepalive
Specify keepalive timer value. Valid values are integers between 0 and 3600 in terms of seconds, or 'default', which is 60.
timers_holdtime
Specify holdtime timer value. Valid values are integers between 0 and 3600 in terms of seconds, or 'default', which is 180.
transport_passive_mode
Specify whether BGP sessions can be established from incoming or outgoing TCP connection requests (or both). Valid values for Nexus are 'passive_only', 'both', 'clear' and 'default', which defaults to 'clear'. This property can only be configured when the neighbor is in 'ip' address format without prefix length. This property and the transport_passive_only property are mutually exclusive.
transport_passive_only
Specify whether or not to only allow passive connection setup. Valid values are 'true', 'false', and 'default', which defaults to 'false'. This property can only be configured when the neighbor is in 'ip' address format without prefix length. This property and the transport_passive_mode property are mutually exclusive.
update_source
Specify source interface of BGP session and updates. Valid value is a string of the interface name.
--
Type: cisco_bgp_neighbor_af
Manages configuration of a BGP Neighbor Address-family instance.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(5) | 1.1.0 |
N3k | 7.0(3)I2(5) | 1.1.0 |
N5k | 7.3(0)N1(1) | 1.2.0 |
N6k | 7.3(0)N1(1) | 1.2.0 |
N7k | 7.3(0)D1(1) | 1.2.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Caveats
Property | Caveat Description |
---|---|
rewrite_evpn_rt_asn | Only supported on N9K-EX and N9K-FX devices. For eg: N9K-C93180YC-EX. Minimum OS version 7.0(3)I7(1) and minimum Module Version 1.9.0 |
Parameters
ensure
Determine whether the neighbor address family config should be present or not. Valid values are 'present' and 'absent'.
asn
BGP autonomous system number. Required. Valid values are String, Integer in ASPLAIN or ASDOT notation.
vrf
VRF name. Required. Valid values are string. The name 'default' is a valid VRF representing the global bgp.
neighbor
Neighbor Identifier. Required. Valid values are string. Neighbors may use IPv4 or IPv6 notation, with or without a subnet mask.
afi
Neighbor Address Family Identifier (AFI). Required. Valid values are string. Valid neighbor AFIs are ipv4
, ipv6
, vpnv4
, vpnv6
and l2vpn
. Note that some AFI/SAFI address-families may not be supported with some neighbors; e.g. an ipv6 neighbor may not support an ipv4 multicast address-family.
safi
Neighbor Sub Address Family Identifier (SAFI). Required. Valid values are string. Valid neighbor SAFIs are unicast
, multicast
and evpn
. Note that some AFI/SAFI address-families may not be supported with some neighbors; e.g. an ipv6 neighbor may not support an ipv4 multicast address-family.
Properties
additional_paths_receive
capability additional-paths receive
. Valid values are enable
for basic command enablement; disable
for disabling the command at the neighbor_af level (it adds the disable
keyword to the basic command); and inherit
to remove the command at this level (the command value is inherited from a higher BGP layer).
additional_paths_send
capability additional-paths send
. Valid values are enable
for basic command enablement; disable
for disabling the command at the neighbor_af level (it adds the disable
keyword to the basic command); and inherit
to remove the command at this level (the command value is inherited from a higher BGP layer).
advertise_map_exist
Conditional route advertisement. This property requires two route maps: an advertise-map and an exist-map. Valid values are an array specifying both the advertise-map name and the exist-map name, or simply 'default'; e.g. ['my_advertise_map', 'my_exist_map']
. This command is mutually exclusive with the advertise_map_non_exist property.
advertise_map_non_exist
Conditional route advertisement. This property requires two route maps: an advertise-map and a non-exist-map. Valid values are an array specifying both the advertise-map name and the non-exist-map name, or simply 'default'; e.g. ['my_advertise_map', 'my_non_exist_map']
. This command is mutually exclusive with the advertise_map_exist property.
allowas_in
allowas-in
. Valid values are true, false, or an integer value, which enables the command with a specific max-occurrences value. Related: allowas_in_max
.
allowas_in_max
Optional max-occurrences value for allowas_in
. Valid values are an integer value or 'default'. Can be used independently or in conjunction with allowas_in
.
as_override
as-override
. Valid values are true, false, or 'default'.
default_originate
default-originate
. Valid values are True, False, or 'default'. Related: default_originate_route_map
.
default_originate_route_map
Optional route-map for the default_originate
property. Can be used independently or in conjunction with default_originate
. Valid values are a string defining a route-map name, or 'default'.
filter_list_in
Valid values are a string defining a filter-list name, or 'default'.
filter_list_out
Valid values are a string defining a filter-list name, or 'default'.
max_prefix_limit
maximum-prefix
limit value. Valid values are an integer value or 'default'. Related: max_prefix_threshold
, max_prefix_interval
, and max_prefix_warning
.
max_prefix_interval
Optional restart interval. Valid values are an integer value or 'default'. Requires max_prefix_limit
.
max_prefix_threshold
Optional threshold percentage at which to generate a warning. Valid values are an integer value or 'default'. Requires max_prefix_limit
.
max_prefix_warning
Optional warning-only keyword. Valid values are True, False, or 'default'. Requires max_prefix_limit
.
next_hop_self
next-hop-self
. Valid values are True, False, or 'default'.
next_hop_third_party
next-hop-third-party
. Valid values are True, False, or 'default'.
prefix_list_in
Valid values are a string defining a prefix-list name, or 'default'.
prefix_list_out
Valid values are a string defining a prefix-list name, or 'default'.
rewrite_evpn_rt_asn
rewrite_evpn_rt_asn
state. Valid values are True, False or 'default'.
route_map_in
Valid values are a string defining a route-map name, or 'default'.
route_map_out
Valid values are a string defining a route-map name, or 'default'.
route_reflector_client
route-reflector-client
. Valid values are True, False, or 'default'.
send_community
send-community
attribute. Valid values are 'none', 'both', 'extended', 'standard', or 'default'.
soft_reconfiguration_in
soft-reconfiguration inbound
. Valid values are enable
for basic command enablement; always
to add the always
keyword to the basic command; and inherit
to remove the command at this level (the command value is inherited from a higher BGP layer).
soo
Site-of-origin. Valid values are a string defining a VPN extcommunity or 'default'.
suppress_inactive
suppress-inactive
Valid values are True, False, or 'default'.
unsuppress_map
unsuppress-map
. Valid values are a string defining a route-map name or 'default'.
weight
weight
value. Valid values are an integer value or 'default'.
--
Type: cisco_bridge_domain
Manages a cisco Bridge-Domain
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | not applicable | not applicable |
N3k | not applicable | not applicable |
N5k | not applicable | not applicable |
N6k | not applicable | not applicable |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | not applicable | not applicable |
N3k-F | not applicable | not applicable |
Parameters
ensure
Determines whether or not the config should be present on the device. Valid values are 'present' and 'absent'.
bd
ID of the Bridge Domain. Valid values are integer.
bd_name
The bridge-domain name. Valid values are String or keyword 'default'. When the bd_name is set to 'default', this property is NOT idempotent.
shutdown
Specifies the shutdown state of the bridge-domain. Valid values are true, false, 'default'.
fabric_control
Specifies this bridge-domain as the fabric control bridge-domain. Only one bridge-domain or VLAN can be configured as fabric-control. Valid values are true, false, keyword 'default.
--
Type: cisco_bridge_domain_vni
Creates a Virtual Network Identifier member (VNI) mapping for cisco Bridge-Domain.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | not applicable | not applicable |
N3k | not applicable | not applicable |
N5k | not applicable | not applicable |
N6k | not applicable | not applicable |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | not applicable | not applicable |
N3k-F | not applicable | not applicable |
Parameters
ensure
Determines whether or not the config should be present on the device. Valid values are 'present' and 'absent'.
bd
The bridge-domain ID. Valid values are one or range of integers.
member_vni
The Virtual Network Identifier (VNI) id that is mapped to the VLAN. Valid values are one or range of integers
--
Type: cisco_dhcp_relay_global
Manages configuration of a DHCP relay global configuration.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I2(2e) | 1.4.0 |
N3k | 7.0(3)I2(2e) | 1.4.0 |
N5k | 7.3(0)N1(1) | 1.4.0 |
N6k | 7.3(0)N1(1) | 1.4.0 |
N7k | 7.3(0)D1(1) | 1.4.0 |
N9k-F | 7.0(3)F1(1) | 1.5.0 |
N3k-F | 7.0(3)F3(2) | 1.8.0 |
Caveats
Property | Caveat Description |
---|---|
ipv4_information_option_trust |
Not supported on N5k, N6k |
ipv4_information_trust_all |
Not supported on N5k, N6k |
ipv4_src_addr_hsrp |
Not supported on N3k, N3k-F, N9k, N9k-F |
ipv4_sub_option_circuit_id_custom |
Not supported on N7k, N3k-F, N9k-F(TBD) and supported on N3k and N9k running os version 7.0(3)I3.1 and later |
ipv4_sub_option_circuit_id_string |
Supported on N3k Supported in OS Version 7.0(3)I6(1) and later on N9k |
ipv6_option_cisco |
Not supported on N5k, N6k |
Parameters
ipv4_information_option
Enables inserting relay information in BOOTREQUEST. Valid values are true, false, 'default'.
ipv4_information_option_trust
Enables relay trust functionality on the system. Valid values are true, false, 'default'.
ipv4_information_option_vpn
Enables relay support across VRFs. Valid values are true, false, 'default'.
ipv4_information_trust_all
Enables relay trust on all the interfaces. Valid values are true, false, 'default'.
ipv4_relay
Enables DHCP relay agent. Valid values are true, false, 'default'.
ipv4_smart_relay
Enables DHCP smart relay. Valid values are true, false, 'default'.
ipv4_src_addr_hsrp
Enables Virtual IP instead of SVI address. Valid values are true, false, 'default'.
ipv4_src_intf
Source interface for the DHCPV4 relay. Valid values are string, keyword 'default'.
ipv4_sub_option_circuit_id_custom
Enables circuit id customized to include vlan id, slot and port info. Valid values are true, false, 'default'.
ipv4_sub_option_circuit_id_string
Specifies suboption format type string. Valid values are string, keyword 'default'.
ipv4_sub_option_cisco
Enables cisco propritery suboptions. Valid values are true, false, 'default'.
ipv6_option_cisco
Enables cisco propritery suboptions for DHCPV6. Valid values are true, false, 'default'.
ipv6_option_vpn
Enables DHCPv6 relay support across VRFs. Valid values are true, false, 'default'.
ipv6_relay
Enables DHCPv6 relay agent. Valid values are true, false, 'default'.
ipv6_src_intf
Source interface for the DHCPV6 relay. Valid values are string, keyword 'default'.
--
Type: cisco_encapsulation
Manages a Global VNI Encapsulation profile
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | not applicable | not applicable |
N3k | not applicable | not applicable |
N5k | not applicable | not applicable |
N6k | not applicable | not applicable |
N7k | 7.3(0)D1(1) | 1.3.0 |
N9k-F | not applicable | not applicable |
N3k-F | not applicable | not applicable |
Parameters
ensure
Determines whether or not the config should be present on the device. Valid values are 'present' and 'absent'.
encap
Profile name of the Encapsulation. Valid values are String only.
Properties
dot1q_map
The encapsulation profile dot1q vlan-to-vni mapping. Valid values are an array of [vlans, vnis] pairs.
--
Type: cisco_evpn_multicast
Manages advertise evpn multicast
configurations of a Cisco device.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I7(1) | 1.9.0 |
N3k | not applicable | not applicable |
N5k | not applicable | not applicable |
N6k | not applicable | not applicable |
N7k | not applicable | not applicable |
N9k-F | not applicable | not applicable |
N3k-F | not applicable | not applicable |
Parameters
ensure
Determines whether or not the config should be present on the device. Valid values are 'present' and 'absent'. Default value is 'present'.
name
The EVPN Multicast identifier. Valid values are 'default' only.
--
Type: cisco_evpn_multisite
Manages Cisco Ethernet Virtual Private Network (EVPN) Multisite configurations of a Cisco device.
Platform | OS Minimum Version | Module Minimum Version |
---|---|---|
N9k | 7.0(3)I7(1) | 1.9.0 |
N3k | not applicable | not applicable |
N5k | not applicable | not applicable |
N6k | not applicable | not applicable |
N7k | not applicable | not applicable |
N9k-F | not applicable | not applicable |
N3k-F | not applicable | not applicable |
Caveats
The cisco_evpn_multisite
is only supported on N9K-EX and N9K-FX devices. For eg: N9K-C93180YC-EX.
Parameters
Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
2.1.0 - 2019-08-19
Added
Changed
- Added performance enhancement to
cisco_interface
to improve processing time with small numbers of managed interfaces.
Removed
- Removal of deprecated
cisco_interface
'private-vlan' properties.
Deprecated/Removed Name | New Name |
---|---|
private_vlan_mapping |
pvlan_mapping |
switchport_mode_private_vlan_host |
switchport_pvlan_host , switchport_pvlan_promiscuous , |
switchport_mode_private_vlan_host_association |
switchport_pvlan_host_association |
switchport_mode_private_vlan_host_promiscous |
switchport_pvlan_mapping |
switchport_mode_private_vlan_trunk_promiscuous |
switchport_pvlan_trunk_promiscuous |
switchport_mode_private_vlan_trunk_secondary |
switchport_pvlan_trunk_secondary |
switchport_private_vlan_association_trunk |
switchport_pvlan_trunk_association |
switchport_private_vlan_mapping_trunk |
switchport_pvlan_mapping_trunk |
switchport_private_vlan_trunk_allowed_vlan |
switchport_pvlan_trunk_allowed_vlan |
switchport_private_vlan_trunk_native_vlan |
switchport_pvlan_trunk_native_vlan |
- Removal of deprecated
cisco_vlan
'private-vlan' properties.
Deprecated/Removed Name | New Name |
---|---|
private_vlan_association |
pvlan_association |
private_vlan_type |
pvlan_type |
- Removed cisco_interface attribute:
purge_config
Issues Addressed
2.0.1 - 2019-06-24
Changed
- Module updated to utilize a transport class rather than the current device class. Backwards compatible change.
2.0.0 - 2019-02-14
New Major Version
This is a new major version release of the cisco-network-puppet-module. This version of the module extends Cisco and Netdev resources to allow managing Cisco Nexus devices using an agentless workflow.
The traditional agent based workflows are still supported with the following caveats.
- GuestShell Agent
- Supported on all platforms that have GuestShell support
- Supports agent installs using puppet agent 5 and puppet agent 6 rpms.
- Native Bash Agent
- Only supported on NX-OS image versions prior to release version
9.2(1)
- Supports agent installs using puppet agent 5 rpm only and support will be discontinued once puppet agent 5 reaches EOL.
- Only supported on NX-OS image versions prior to release version
- Open Agent Container (OAC)
- This version of the module is not supported for OAC. Must use module version
1.10.0
or ealier. - Supports agent install using puppet agent 4 rpm or ealier which is now EOL.
- This version of the module is not supported for OAC. Must use module version
Added
- Extended
cisco_ospf_vrf
with attribute:redistribute
- Extended
cisco_vpc_domain
with attributes:arp_synchronize
nd_synchronize
peer_switch
- Extended
cisco_vxlan_vtep_vni
with attribute:suppress_arp_disable
- Extended
cisco_vxlan_vtep
with attributes:global_suppress_arp
global_mcast_group_l2
global_mcast_group_l3
global_ingress_replication_bgp
Changed
Removed
Resolved Issues
1.10.0 - 2018-09-19
NOTE: Starting in release 9.2(1)
and onward, installing the Puppet Agent into the bash-shell
hosting environment is no longer supported.
The puppet agent software must be installed on a Cisco Nexus platform in the Guestshell
(the Linux container environment running CentOS). This provides a secure, open execution environment that is decoupled from the host.
New feature support
Added
-
Added
syslog_facility
with attribute:level
-
Extend syslog_server with attribute:
facility
-
Extend cisco_interface with attribute:
ipv6_redirects
-
Extend network_dns with attribute:
hostname
-
Extend syslog_settings with attributes:
logfile_name
logfile_severity_level
logfile_size
note: due to bug in NXAPI logfile_size is only supported on n9k and n3k platforms running 7.0(3)I7.4
/ 9.2(1)
or higher
- Added
banner
with attributes:motd
note: due to bug in NXAPI multiline banners are only supported on n9k and n3k platforms running 7.0(3)I7.4
/ 9.2(1)
or higher
Changed
Removed
- Support for Puppet Agent install into the
bash-shell
hosting environment. This is the native WRL Linux environment underlying NX-OS.
Resolved Issues
- https://tickets.puppetlabs.com/browse/CISCO-63
- https://tickets.puppetlabs.com/browse/CISCO-66
- https://tickets.puppetlabs.com/browse/CISCO-71
- https://tickets.puppetlabs.com/browse/CISCO-72
- https://tickets.puppetlabs.com/browse/CISCO-73
- https://tickets.puppetlabs.com/browse/CISCO-74
- https://tickets.puppetlabs.com/browse/CISCO-75
- https://tickets.puppetlabs.com/browse/CISCO-76
- https://tickets.puppetlabs.com/browse/CISCO-77
1.9.0 - 2018-04-19
New feature support
Cisco Resources
cisco_evpn_multisite
type and provider.cisco_evpn_stormcontrol
type and provider.cisco_interface_evpn_multisite
type and provider.cisco_evpn_multicast
type and provider.cisco_ip_multicast
type and provider
Added
- Extend
cisco_bgp_neighbor
with attribute:peer_type
- Extend
cisco_bgp_neighbor_af
with attribute:rewrite_evpn_rt_asn
- Extend
cisco_vxlan_vtep
with attribute:multisite_border_gateway_interface
- Extend
cisco_vxlan_vtep_vni
with attribute:multisite_ingress_replication
- Extend
cisco_vrf_af
with attributes:route_target_both_auto_mvpn
route_target_import_mvpn
route_target_export_mvpn
Changed
Removed
Resolved Issues
1.8.0 - 2017-12-12
New feature support
Cisco Resources
cisco_object_group
type and provider.cisco_object_group_entry
type and provider.
Added
Changed
-
cisco_interface
Refactored to allow physical ethernet interfaces to be managed as ensurable resources.ensure => absent
for physical interfaces will put the interface into a default state.ensure => absent
for logical interfaces will cause them to be destroyed.
-
Extend
syslog_server
with attribute: -
port
-
Extend
syslog_settings
with attributes: -
console
-
monitor
-
source_interface
-
vrf
-
Extend
radius_global
with attribute: -
source_interface
-
Extend
tacacs_global
with attribute: -
source_interface
Removed
Resolved Issues
1.7.0 - 2017-05-31
New feature support
Cisco Resources
cisco_bgp_af_aa
type and provider.
Added
-
Extend cisco_interface with attributes:
-
purge_config
-
Extend cisco_interface_channel_group with attributes:
-
channel_group_mode
-
Added support for tftp and usb URIs to
cisco_upgrade
-
Extend
cisco_upgrade
with attributes: -
package
-
Added
ntp_auth_key
with attributes: -
algorithm
-
key
-
mode
-
password
-
Extend
ntp_config
with attributes: -
authenticate
-
trusted_key
-
Extend
ntp_server
with attributes: -
key
-
maxpoll
-
minpoll
-
vrf
Changed
Removed
- Deprecated
version
andsource_uri
attributes forcisco_upgrade
in favor of a single attributepackage
.
Resolved Issues
- https://github.com/cisco/cisco-network-puppet-module/issues/424
- https://github.com/cisco/cisco-network-puppet-module/issues/432
- https://github.com/cisco/cisco-network-puppet-module/issues/446
- https://github.com/cisco/cisco-network-puppet-module/issues/452
1.6.0 - 2017-03-13
New feature support
Cisco Resources
cisco_route_map
type and provider.cisco_upgrade
type and provider.
Added
- Extend cisco_interface with attributes:
load_interval_counter_1_delay
load_interval_counter_2_delay
load_interval_counter_3_delay
Changed
Removed
Resolved Issues
- https://github.com/cisco/cisco-network-puppet-module/issues/413
- https://github.com/cisco/cisco-network-puppet-module/issues/414
- https://github.com/cisco/cisco-network-puppet-module/issues/415
- https://github.com/cisco/cisco-network-puppet-module/issues/417
- https://github.com/cisco/cisco-network-puppet-module/issues/419
- https://github.com/cisco/cisco-network-puppet-module/issues/420
- https://github.com/cisco/cisco-network-puppet-module/issues/423
1.5.0 - 2017-01-11
New feature support
Cisco Resources
cisco_hsrp_global
type and provider.cisco_interface_hsrp_group
type and provider.
Added
-
Extend cisco_interface with attributes:
-
hsrp_bfd
-
hsrp_delay_minimum
-
hsrp_delay_reload
-
hsrp_mac_refresh
-
hsrp_use_bia
-
hsrp_version
-
pim_bfd
-
Extend cisco_pim with attributes:
-
bfd
- Added support for Cisco NX-OS software releases
7.3(0)F1(1)
and8.0(1)
Resolved Issues
1.4.1 - 2016-11-02
Added
- Extend cisco_bgp with attributes:
event_history_errors
event_history_objstore
- Added support for Cisco NX-OS software release
7.3(0)I5(1)
Changed
Removed
1.4.0 - 2016-10-04
New feature support
Cisco Resources
cisco_bfd_global
type and provider.cisco_dhcp_relay_global
type and provider.cisco_ospf_area
type and provider.cisco_ospf_area_vlink
type and provider.
Added
-
Extend cisco_interface with attributes:
-
bfd_echo
-
ipv4_dhcp_relay_addr
-
ipv4_dhcp_relay_info_trust
-
ipv4_dhcp_relay_src_addr_hsrp
-
ipv4_dhcp_relay_src_intf
-
ipv4_dhcp_relay_subnet_broadcast
-
ipv4_dhcp_smart_relay
-
ipv6_dhcp_relay_addr
-
ipv6_dhcp_relay_src_intf
-
storm_control_broadcast
-
storm_control_multicast
-
storm_control_unicast
-
Extend cisco_interface_ospf with attributes:
-
bfd
-
mtu_ignore
-
network_type
-
priority
-
shutdown
-
transmit_delay
-
Extend cisco_interface_portchannel with attributes:
-
bfd_per_link
-
Extend cisco_ospf_vrf with attributes:
-
bfd
-
Extend cisco_bgp_neighbor with attributes:
-
bfd
-
Extended
cisco_bgp_af
to include l2vpn/evpn address-family support -
Deprecated
cisco_interface
'private-vlan' properties and replaced with new methods. The deprecated properties will be removed with release 2.0.0. The old -> new properties are:
Old Name | New Name(s) |
---|---|
private_vlan_mapping |
pvlan_mapping |
switchport_mode_private_vlan_host |
switchport_pvlan_host , switchport_pvlan_promiscuous , |
switchport_mode_private_vlan_host_association |
switchport_pvlan_host_association |
switchport_mode_private_vlan_host_promiscous |
switchport_pvlan_mapping |
switchport_mode_private_vlan_trunk_promiscuous |
switchport_pvlan_trunk_promiscuous |
switchport_mode_private_vlan_trunk_secondary |
switchport_pvlan_trunk_secondary |
switchport_private_vlan_association_trunk |
switchport_pvlan_trunk_association |
switchport_private_vlan_mapping_trunk |
switchport_pvlan_mapping_trunk |
switchport_private_vlan_trunk_allowed_vlan |
switchport_pvlan_trunk_allowed_vlan |
switchport_private_vlan_trunk_native_vlan |
switchport_pvlan_trunk_native_vlan |
- Deprecated
cisco_vlan
'private-vlan' properties and replaced with new methods. The deprecated properties will be removed with release 2.0.0. The old -> new properties are:
Old Name | New Name |
---|---|
private_vlan_association |
pvlan_association |
private_vlan_type |
pvlan_type |
Changed
cisco_interface_ospf
type and provider so that the properties accept 'default' keyword.
1.3.2 - 2016-07-26
Fixed:
- Remove
autorequire
references in cisco types.- Fixes incompatibility between cisco resources and latest puppet agent rpm.
- Fix
undefined method 'previous'
bug incisco_command_config
provider.
1.3.1 - 2016-05-06
New feature support
Cisco Resources
cisco_fabricpath_global
type and provider.cisco_fabricpath_topology
type and provider.cisco_itd_device_group
type and provider.cisco_itd_device_group_node
type and provider.cisco_itd_service
type and provider.cisco_stp_global
type and provider.
Added
- Extended the following providers to support
Nexus N5k
,Nexus N6k
, andNexus N7k
cisco_aaa_authentication_login
,cisco_aaa_authorization_login_cfg_svc
,cisco_aaa_authorization_login_exec_svc
,cisco_aaa_group_tacacs
cisco_fabricpath_global
,cisco_fabricpath_topology
cisco_interface_channel_group
,cisco_interface_portchannel
,cisco_portchannel_global
cisco_snmp_community
,cisco_snmp_group
,cisco_snmp_server
,cisco_snmp_user
cisco_vpc_domain
cisco_vtp
domain_name
,name_server
,network_dns
,network_vlan
,search_domain
ntp_config
,ntp_server
port_channel
radius
,radius_global
,radius_server
,radius_server_group
network_snmp
,snmp_community
,snmp_notification
,snmp_notification_receiver
,snmp_user
tacacs
,tacacs_global
,tacacs_server
,tacacs_server_group
- Extended
cisco_bgp
with the following attributes:nsr
reconnect_interval
- Extended
cisco_interface
with the following attributes:ipv4_forwarding
,switchport_mode fabricpath
stp_bpdufilter
,stp_bpduguard
,stp_cost
,stp_guard
,stp_link_type
,stp_mst_cost
stp_mst_port_priority
,stp_port_priority
,stp_port_type
,stp_vlan_cost
,stp_vlan_port_priority
switchport_mode_private_vlan_host
,switchport_mode_private_vlan_host_association
switchport_mode_private_vlan_host_promisc
,switchport_mode_private_vlan_trunk_promiscuous
switchport_mode_private_vlan_trunk_secondary
,switchport_private_vlan_association_trunk
switchport_private_vlan_mapping_trunk
,switchport_private_vlan_trunk_allowed_vlan
switchport_private_vlan_trunk_native_vlan
,private_vlan_mapping
modify switchport_trunk_allowed_vlan to use range_summarize() which takes care of idempotency issues with vlan ranges
- Extended
cisco_portchannel_global
provider to supportNexus N3k
- Extended
cisco_vlan
with the following attributes:mode
private_vlan_type
private_vlan_association
- Extended
cisco_vpc_domain
with the following attributes:fabricpath_emulated_switch_id
fabricpath_multicast_load_balance
port_channel_limit
- Extended
cisco_vrf_af
with the following attributes:route_policy_export
route_policy_import
route_target_export_stitching
route_target_import_stitching
- Extended
cisco_vxlan_vtep
with the following attributes:source_interface_hold_down_time
Removed
- Removed 'cisco_nxapi' fact as this gem is no longer a dependency.
Changed
- Renamed all providers from
:nxapi
to:cisco
as they may include support for multiple Cisco platforms, not all of which use NXAPI.
1.3.0
This version was never released.
1.2.3 - 2016-02-24
Added
- Download link for Nexus 5000 and Nexus 6000 Open Agent Container (OAC).
- OAC programmability guide links.
- Complete cisco_ace documentation.
1.2.2 - 2016-02-14
Fixed
- Fixed Cisco NetDev port_channel provider to use the correct cisco_node_utils object.
- Fixed beaker test setup and cleanup issues.
- Fixed incomplete documentation references for the open agent container (OAC)
1.2.1
This version was never released.
1.2.0 - 2016-02-12
New feature support
Cisco Resources
cisco_aaa_authentication_login
type and provider.cisco_aaa_authorization_login_cfg_svc
type and provider.cisco_aaa_authorization_login_exec_svc
type and provider.cisco_aaa_group_tacacs
type and provider.cisco_ace
type and providercisco_acl
type and providercisco_evpn_vni
type and provider.cisco_interface_channel_group
type and providercisco_interface_portchannel
type and providercisco_interface_service_vni
type and providercisco_overlay_global
type and provider.cisco_pim
type and providercisco_pim_rp_address
type and providercisco_pim_grouplist
type and providercisco_portchannel_global
type and providercisco_vdc
type and provider.cisco_vpc_domain
type and provider.cisco_vni
type and provider.cisco_vrf_af
type and provider.cisco_vxlan_vtep
type and provider.
NetDev Resources
network_trunk
provider.port_channel
provider.search_domain
provider.snmp_notification
provider.
Added
- Extended
cisco_bgp
with the following attributes:disable_policy_batching
,disable_policy_batching_ipv4
,disable_policy_batching_ipv6
fast_external_fallover
flush_routes
isolate
neighbor_down_fib_accelerate
route_distinguisher
event_history_cli
event_history_detail
event_history_events
event_history_periodic
- Extended
cisco_bgp_af
with the following attributes:default_metric
distance_ebgp
,distance_ibgp
,distance_local
inject_map
table_map
,table_map_filter
suppress_inactive
- Extended
cisco_interface
with the following attributes:fabric_forwarding_anycast_gateway
ipv4_address_secondary
,ipv4_netmask_length_secondary
ipv4_arp_timeout
ipv4_pim_sparse_mode
vlan_mapping
,vlan_mapping_enable
ipv4_acl_in
,ipv4_acl_out
,ipv6_acl_in
,ipv6_acl_out
vpc_id
,vpc_peer_link
- Extended
cisco_vrf
with the following attributes:route_distinguisher
vni
Removed
1.1.0 - 2015-11-02
New feature support
Cisco Resources.
- cisco_bgp type and provider.
- cisco_bgp_af type and provider.
- cisco_bgp_neighbor type and provider.
- cisco_bgp_neighbor_af type and provider.
- cisco_vrf type and provider.
NetDev Resources.
- domain_name provider.
- name_server provider.
- network_dns provider.
- network_snmp provider.
- ntp_config provider.
- ntp_server provider.
- radius provider.
- radius global provider.
- snmp_notification_receiver provider.
- snmp_user provider.
- syslog_server provider.
- syslog_setting provider.
Added
- New documentation for developing beaker testcases: README-develop-beaker-scripts.md
- Extended cisco_interface with the following attributes:
- encapsulation dot1q
- mtu
- speed
- duplex
- switchport trunk allowed VLANs
- switchport trunk native VLAN
- Added support for network_interface from puppets netdev_stdlib
- Rubocop enabled and passes (@robert-w-gries)
- Gemfile now requires puppet version 4.0 or higher
- Gemfile.lock added to gitignore
Removed
- Obsolete documents: README-beaker-testcase-execution.md, README-beaker-testcase-writing.md
- Travis no longer tests ruby version 1.9.3
1.0.2 - 2015-09-28
Fixed
- Updated documentation links to reflect that the repo and agent RPM packages have had their platform renamed from 'nxos' to 'cisco-wrlinux'.
1.0.1 - 2015-09-18
Fixed
- Fixed broken documentation links
1.0.0 - 2015-08-28
Added
- New facts
cisco_node_utils
andcisco_nxapi
report the installed version of these gems. - Providers requiring the
cisco_node_utils
feature will generate a warning message if an obsolete gem version is installed. - Added README-maintainers.md
Fixed
- Metadata URLs now point to new public GitHub repository.
- Moved misc READMEs into /docs
- NXAPI providers are marked as defaultfor 'nexus' operating system.
- Fixed beaker test for package and interface ospf
- Fixed sample install.pp
0.9.1 - 2015-08-13
Added
- Added CONTRIBUTING.md
- Added README-creating-types-providers.md and associated templates.
- Added SUPPORT.md
- Added Beaker test cases for cisco_command_config, file, package, and service providers.
- Added VRF attribute to cisco_interface provider.
Fixed
- 'puppet resource cisco_vtp' now works properly.
- cisco_interface, cisco_ospf_vrf, and cisco_vlan now properly handle destroy/recreate scenarios.
- Added missing methods in cisco_ospf_vrf provider.
- Style cleanup of many Beaker test scripts.
- Fixed title pattern error in 'puppet resource cisco_snmp_group'.
- Avoid inadvertently suppressing relevant exceptions.
- Added dotted-decimal munging for area in cisco_interface_ospf
- Modified template placeholder names to meet lint reqs
0.9.0 - 2015-07-24
Added
- Initial release of puppetlabs-ciscopuppet module, supporting Cisco NX-OS software release 7.0(3)I2(1) on Cisco Nexus switch platforms: N95xx, N93xx, N30xx and N31xx.
- Please note: 0.9.0 is an EFT pre-release for a limited audience with access to NX-OS 7.0(3)I2(1). Additional code changes may occur in 0.9.x prior to the final 1.0.0 release.
Dependencies
- puppetlabs/netdev_stdlib (>=0.18.0 <2.0.0)
- puppetlabs/resource_api (>= 1.0.0 < 2.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright (c) 2014-2015 Cisco and/or its affiliates. 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.