Skip to content

Latest commit

 

History

History
352 lines (203 loc) · 8.83 KB

REFERENCE.md

File metadata and controls

352 lines (203 loc) · 8.83 KB

Reference

Table of Contents

Classes

  • bird: Install and configure bird

Defined types

  • bird::snippet: manage a partial bird config file on setups with many peers it's common to save each peer in a single file. This is possible with this defined resource. Your bird config needs to contain an include statement!

Classes

bird

Install and configure bird

Examples

IPv4 only
class { 'bird':
  config_file_v4 => 'puppet:///modules/bgp/ldn/bird.conf',
}
Both IPv4 and IPv6
class { 'bird':
  enable_v6      => true,
  config_file_v4 => 'puppet:///modules/bgp/ldn/bird.conf',
  config_file_v6 => 'puppet:///modules/bgp/ldn/bird6.conf',
}

Parameters

The following parameters are available in the bird class:

config_file_v4

Data type: Optional[Stdlib::Filesource]

Bird configuration file for IPv4.

Default value: undef

config_template_v4

Data type: Optional[String[1]]

Bird configuration template for IPv4. This value is a template source, it will be passed into the template() function.

Default value: undef

config_epp_v4

Data type: Optional[String[1]]

Bird configuration template for IPv4. This value is an epp source, it will be passed into the epp() function.

Default value: undef

config_epp_v4_data

Data type: Hash[String[1], Any]

Bird configuration template data for IPv4. This value is an epp data source will be passed into the epp() function.

Default value: {}

daemon_name_v6

Data type: String[1]

The service name used by puppet resource

Default value: 'bird6'

package_name_v6

Data type: String[1]

The package name used by puppet resource

daemon_name_v4

Data type: String[1]

The service name used by puppet resource

Default value: 'bird'

package_name_v4

Data type: String[1]

The package name used by puppet resource

Default value: 'bird'

config_path_v6

Data type: Stdlib::Absolutepath

The full path of the v6 configuration file

config_path_v4

Data type: Stdlib::Absolutepath

The full path of the v4 configuration file

enable_v6

Data type: Boolean

Boolean for enable IPv6 (install bird6 package). Defaults to false and it's only required if you use a legacy distribution that ships bird + bird6. Newer releases have native IPv6 support.

manage_conf

Data type: Boolean

Boolean, global parameter to disable or enable mangagment of bird configuration files.

Default value: false

manage_service

Data type: Boolean

Boolean, global parameter to disable or enable mangagment of bird service.

Default value: false

service_v6_ensure

Data type: Stdlib::Ensure::Service

Bird IPv6 daemon ensure (shoud be running or stopped).

Default value: 'running'

service_v6_enable

Data type: Boolean

Boolean, enabled param of Bird IPv6 service (run at boot time).

Default value: false

service_v4_ensure

Data type: Stdlib::Ensure::Service

Bird IPv4 daemon ensure (shoud be running or stopped).

Default value: 'running'

service_v4_enable

Data type: Boolean

Boolean, enabled param of Bird IPv4 service (run at boot time).

Default value: false

config_file_v6

Data type: Optional[Stdlib::Filesource]

Bird configuration file for IPv6.

Default value: undef

config_template_v6

Data type: Optional[String[1]]

Bird configuration template for IPv6. This value is a template source, it will be passed into the template() function.

Default value: undef

config_epp_v6

Data type: Optional[String[1]]

Bird configuration template for IPv6. This value is a epp source, it will be passed into the epp() function.

Default value: undef

config_epp_v6_data

Data type: Hash[String[1], Any]

Bird configuration template data for IPv4. This value is an epp data source will be passed into the epp() function.

Default value: {}

manage_repo

Data type: Boolean

Add the upstream repository from CZ.NIC. This is currently only supported for CentOS 7

Default value: false

config_content_v4

Data type: Optional[String[1]]

A string that will be used for the bird config file

Default value: undef

config_content_v6

Data type: Optional[String[1]]

A string that will be used for the bird6 config file

Default value: undef

v4_path

Data type: Stdlib::Absolutepath

Path to the bird binary

v6_path

Data type: Optional[Stdlib::Absolutepath]

Optional path to the bird6 binary. Only set on legacy operating systems that run bird1

purge_unmanaged_snippets

Data type: Boolean

The module won't purge unmanaged snippets by default. By enabling this, Puppet will purge all of them except the ones created with bird::snippet()

Default value: false

snippets

Data type: Hash[String[1], Hash]

Hash of resources for bird::snippet()

Default value: {}

Defined types

bird::snippet

manage a partial bird config file on setups with many peers it's common to save each peer in a single file. This is possible with this defined resource. Your bird config needs to contain an include statement!

Examples

bird::snippet { 'AS4242420181':
 content => "protocol bgp AS4242420181 from dnpeers {\n  neighbor fe80::181:1%as20181 as 4242420181;\n}\n",
}

Parameters

The following parameters are available in the bird::snippet defined type:

manage_v6

Data type: Boolean

for bird1, there is a dedicated instance for IPv6. if this boolean is true, the config will be used for that instance

Default value: false

validate

Data type: Boolean

if the new file should be validated. Beware: For some statements it's not possible to modify and validate them, in those cases you need to disable the check

Default value: true

content

Data type: Optional[Variant[String[1], Sensitive[String[1]]]]

The content of the snippet. You cannot provide this in combination with $source.

Default value: undef

source

Data type: Optional[Stdlib::Filesource]

the source of the snippet. You cannot provide this in combination with $content.

Default value: undef