try again, with puppetforge modules, correctly included now
[mirror/dsa-puppet.git] / 3rdparty / modules / neutron / manifests / config.pp
1 # == Class: neutron::config
2 #
3 # This class is used to manage arbitrary Neutron configurations.
4 #
5 # === Parameters
6 #
7 # [*xxx_config*]
8 #   (optional) Allow configuration of arbitrary Neutron xxx specific configurations.
9 #   The value is an hash of neutron_config resources. Example:
10 #   server_config =>
11 #   { 'DEFAULT/foo' => { value => 'fooValue'},
12 #     'DEFAULT/bar' => { value => 'barValue'}
13 #   }
14 #
15 #   NOTE: { 'DEFAULT/foo': value => 'fooValue'; 'DEFAULT/bar': value => 'barValue'} is invalid.
16 #
17 #   In yaml format, Example:
18 #   server_config:
19 #     DEFAULT/foo:
20 #       value: fooValue
21 #     DEFAULT/bar:
22 #       value: barValue
23 #
24 # [**server_config**]
25 #   (optional) Manage configuration of neutron.conf
26 #
27 # [**api_config**]
28 #   (optional) Manage configuration of api-paste.ini
29 #
30 # [**l3_agent_config**]
31 #   (optional) Manage configuration of l3_agent.ini
32 #
33 # [**dhcp_agent_config**]
34 #   (optional) Manage configuration of dhcp_agent.ini
35 #
36 # [**lbaas_agent_config**]
37 #   (optional) Manage configuration of lbaas_agent.ini
38 #
39 # [**metadata_agent_config**]
40 #   (optional) Manage configuration of metadata_agent.ini
41 #
42 # [**metering_agent_config**]
43 #   (optional) Manage configuration of metering_agent.ini
44 #
45 # [**vpnaas_agent_config**]
46 #   (optional) Manage configuration of vpn_agent.ini
47 #
48 # [**plugin_linuxbridge_config**]
49 #   (optional) Manage configuration of linuxbridge_conf.ini
50 #
51 # [**plugin_cisco_db_conn_config**]
52 #   (optional) Manage configuration of plugins/cisco/db_conn.ini
53 #
54 # [**plugin_cisco_config**]
55 #   (optional) Manage configuration of cisco_plugins.ini
56 #
57 # [**plugin_midonet_config**]
58 #   (optional) Manage configuration of plugins/midonet/midonet.ini
59 #
60 # [**plugin_ml2_config**]
61 #   (optional) Manage configuration of ml2_conf.ini
62 #
63 # [**plugin_ovs_config**]
64 #   (optional) Manage configuration of ovs_neutron_plugin.ini
65 #
66 #   NOTE: The configuration MUST NOT be already handled by this module
67 #   or Puppet catalog compilation will fail with duplicate resources.
68 #
69 class neutron::config (
70   $server_config                 = {},
71   $api_config                    = {},
72   $l3_agent_config               = {},
73   $dhcp_agent_config             = {},
74   $lbaas_agent_config            = {},
75   $metadata_agent_config         = {},
76   $metering_agent_config         = {},
77   $vpnaas_agent_config           = {},
78   $plugin_linuxbridge_config     = {},
79   $plugin_cisco_db_conn_config   = {},
80   $plugin_cisco_l2network_config = {},
81   $plugin_cisco_config           = {},
82   $plugin_midonet_config         = {},
83   $plugin_ml2_config             = {},
84   $plugin_ovs_config             = {},
85 ) {
86
87   validate_hash($server_config)
88   validate_hash($api_config)
89   validate_hash($l3_agent_config)
90   validate_hash($dhcp_agent_config)
91   validate_hash($lbaas_agent_config)
92   validate_hash($metadata_agent_config)
93   validate_hash($metering_agent_config)
94   validate_hash($vpnaas_agent_config)
95   validate_hash($plugin_linuxbridge_config)
96   validate_hash($plugin_cisco_db_conn_config)
97   validate_hash($plugin_cisco_l2network_config)
98   validate_hash($plugin_cisco_config)
99   validate_hash($plugin_midonet_config)
100   validate_hash($plugin_ml2_config)
101   validate_hash($plugin_ovs_config)
102
103   create_resources('neutron_config', $server_config)
104   create_resources('neutron_api_config', $api_config)
105   create_resources('neutron_l3_agent_config', $l3_agent_config)
106   create_resources('neutron_dhcp_agent_config', $dhcp_agent_config)
107   create_resources('neutron_metadata_agent_config', $metadata_agent_config)
108   create_resources('neutron_metering_agent_config', $metering_agent_config)
109   create_resources('neutron_vpnaas_agent_config', $vpnaas_agent_config)
110   create_resources('neutron_plugin_linuxbridge', $plugin_linuxbridge_config)
111   create_resources('neutron_plugin_cisco_db_conn', $plugin_cisco_db_conn_config)
112   create_resources('neutron_plugin_cisco_l2network', $plugin_cisco_l2network_config)
113   create_resources('neutron_plugin_cisco', $plugin_cisco_config)
114   create_resources('neutron_plugin_midonet', $plugin_midonet_config)
115   create_resources('neutron_plugin_ml2', $plugin_ml2_config)
116   create_resources('neutron_plugin_ovs', $plugin_ovs_config)
117 }