Puppet Class: asterisk

Inherits:
asterisk::params
Defined in:
manifests/init.pp

Overview

Parameters:

  • manage_service (Struct[{ 'manage_service' => Boolean, 'service_name' => Optional[String], 'service_restart_command' => Optional[String], }]) (defaults to: $asterisk::params::manage_service)
  • manage_package (Struct[{ 'manage_package' => Optional[Boolean], 'package_name' => Optional[String], 'manage_directories' => Optional[Boolean], 'manage_repos' => Optional[Enum['all', 'only-asterisk']], }]) (defaults to: $asterisk::params::manage_package)
  • confdir (Stdlib::Absolutepath) (defaults to: $asterisk::params::confdir)
  • asterisk_options (Struct[{ 'directories' => Hash[String, NotUndef], 'options' => Hash[String, NotUndef], 'files' => Hash[String, NotUndef], }]) (defaults to: $asterisk::params::asterisk_options)
  • iax_options (Struct[{ 'general' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::iax_options)
  • sip_options (Struct[{ 'general' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::sip_options)
  • sip_notifies (Hash[ String, Hash[String, NotUndef] ]) (defaults to: $asterisk::params::sip_notifies)
  • voicemail_options (Struct[{ 'general' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::voicemail_options)
  • extensions_options (Struct[{ 'general' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::extensions_options)
  • features_config (Struct[{ 'general' => Hash[String, NotUndef], 'parking' => Struct[{ 'parkeddynamic' => Boolean, }], 'featuremap' => Hash[String, NotUndef], }]) (defaults to: $asterisk::params::features_config)
  • queues_options (Struct[{ 'general' => Hash[String, NotUndef], }]) (defaults to: $asterisk::params::queues_options)
  • modules_config (Struct[{ 'autoload' => Boolean, 'noload' => Optional[Array], 'load' => Optional[Array], 'preload' => Optional[Array] }]) (defaults to: $asterisk::params::modules_config)
  • manager_config (Struct[{ 'general' => Hash[String, NotUndef], }]) (defaults to: $asterisk::params::manager_config)
  • realtime_options (Hash[String, Struct[{ 'driver' => String, 'database' => String, 'table' => String }]]) (defaults to: $asterisk::params::realtime_options)
  • logger_options (Struct[{ 'general' => Hash[String, NotUndef], 'logfiles' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::logger_options)
  • cdr_config (Struct[{ 'general' => Optional[Hash[String, NotUndef]], 'backends' => Optional[Hash[String, NotUndef]], 'mappings' => Optional[Hash[String, Array[String]]], 'manager' => Optional[Struct[{ 'general' => Hash[String, NotUndef], 'mappings' => Hash[String, String], }] ], 'backend_special_config' => Optional[Hash[String, Struct[{ 'enable' => Boolean, 'config' => Hash[String, NotUndef], }] ]], }]) (defaults to: $asterisk::params::cdr_config)
  • res_config_mysql_config (Struct[{ 'enable' => Boolean, 'connections' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::res_config_mysql_config)
  • meetme_config (Struct[{ 'general' => Hash[String, NotUndef] }]) (defaults to: $asterisk::params::meetme_config)
  • chan_dahdi_config (Struct[{ 'enabled' => Boolean, 'global' => Optional[Hash[String, NotUndef]], 'groups' => Hash[Integer, Hash[String, NotUndef]], }]) (defaults to: $asterisk::params::chan_dahdi_config)
  • stun_config (Struct[{ 'enabled' => Boolean, 'config' => Optional[Struct[{'general' => Hash[String, NotUndef]}]] }]) (defaults to: $asterisk::params::stun_config)
  • rtp_config (Struct[{ 'general' => Hash[String, NotUndef], 'ice_host_candidates' => Optional[Hash[String, NotUndef]], 'udptl' => Optional[Hash[String, NotUndef]], }]) (defaults to: $asterisk::params::rtp_config)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# File 'manifests/init.pp', line 19

class asterisk (
  Struct[{
    'manage_service'          => Boolean,
    'service_name'            => Optional[String],
    'service_restart_command' => Optional[String],
  }] $manage_service                             = $asterisk::params::manage_service,
  Struct[{
    'manage_package'     => Optional[Boolean],
    'package_name'       => Optional[String],
    'manage_directories' => Optional[Boolean],
    'manage_repos'       => Optional[Enum['all', 'only-asterisk']],
  }] $manage_package                             = $asterisk::params::manage_package,
  Stdlib::Absolutepath $confdir                  = $asterisk::params::confdir,
  Struct[{
    'directories' => Hash[String, NotUndef],
    'options'     => Hash[String, NotUndef],
    'files'       => Hash[String, NotUndef],
  }]  $asterisk_options                          = $asterisk::params::asterisk_options,
  Struct[{
    'general' => Hash[String, NotUndef]
  }] $iax_options                                = $asterisk::params::iax_options,
  Struct[{
    'general' => Hash[String, NotUndef]
  }] $sip_options                                = $asterisk::params::sip_options,
  Hash[
    String,
    Hash[String, NotUndef]
  ] $sip_notifies                                = $asterisk::params::sip_notifies,
  Struct[{
    'general' => Hash[String, NotUndef]
  }]  $voicemail_options                         = $asterisk::params::voicemail_options,
  Struct[{
    'general' => Hash[String, NotUndef]
  }]  $extensions_options                        = $asterisk::params::extensions_options,
  Struct[{
    'general'      => Hash[String, NotUndef],
    'parking'      => Struct[{
      'parkeddynamic' => Boolean,
    }],
    'featuremap'   => Hash[String, NotUndef],
  }] $features_config                            = $asterisk::params::features_config,
  Struct[{
    'general' => Hash[String, NotUndef],
  }] $queues_options                             = $asterisk::params::queues_options,
  Struct[{
    'autoload' => Boolean,
    'noload'   => Optional[Array],
    'load'     => Optional[Array],
    'preload'  => Optional[Array]
  }] $modules_config                             = $asterisk::params::modules_config,
  Struct[{
    'general' => Hash[String, NotUndef],
  }] $manager_config                             = $asterisk::params::manager_config,
  Hash[String, Struct[{
    'driver'    => String,
    'database'  => String,
    'table'     => String
  }]] $realtime_options                          = $asterisk::params::realtime_options,
  Struct[{
    'general'   => Hash[String, NotUndef],
    'logfiles'  => Hash[String, NotUndef]
  }] $logger_options                             = $asterisk::params::logger_options,
  Struct[{
    'general'                => Optional[Hash[String, NotUndef]],
    'backends'               => Optional[Hash[String, NotUndef]],
    'mappings'               => Optional[Hash[String, Array[String]]],
    'manager'                => Optional[Struct[{
      'general'   => Hash[String, NotUndef],
      'mappings'  => Hash[String, String],
    }]
    ],
    'backend_special_config' => Optional[Hash[String, Struct[{
      'enable' => Boolean,
      'config' => Hash[String, NotUndef],
    }]
    ]],
  }] $cdr_config                                = $asterisk::params::cdr_config,
  Struct[{
    'enable'      => Boolean,
    'connections' => Hash[String, NotUndef]
  }] $res_config_mysql_config                   = $asterisk::params::res_config_mysql_config,
  Struct[{
    'general' => Hash[String, NotUndef]
  }] $meetme_config                             = $asterisk::params::meetme_config,
  Struct[{
    'enabled' => Boolean,
    'global'  => Optional[Hash[String, NotUndef]],
    'groups'  => Hash[Integer, Hash[String, NotUndef]],
  }] $chan_dahdi_config                         = $asterisk::params::chan_dahdi_config,
  Struct[{
    'enabled' => Boolean,
    'config'  => Optional[Struct[{'general' => Hash[String, NotUndef]}]]
  }] $stun_config                               = $asterisk::params::stun_config,
  Struct[{
    'general'             => Hash[String, NotUndef],
    'ice_host_candidates' => Optional[Hash[String, NotUndef]],
    'udptl'               => Optional[Hash[String, NotUndef]],
  }] $rtp_config                                = $asterisk::params::rtp_config
) inherits asterisk::params {

  $real_manage_service = deep_merge_extended(
    $asterisk::params::manage_service,
    $manage_service
  )

  $real_manage_package = deep_merge_extended(
    $asterisk::params::manage_package,
    $manage_package
  )

  $real_res_config_mysql_config = deep_merge_extended(
    $asterisk::params::res_config_mysql_config,
    $res_config_mysql_config
  )

  $real_asterisk_options = deep_merge_extended(
    $asterisk::params::asterisk_options,
    $asterisk_options
  )

  $real_iax_options = deep_merge_extended (
    $asterisk::params::iax_options,
    $iax_options
  )

  $real_sip_options = deep_merge_extended (
    $asterisk::params::sip_options,
    $sip_options
  )

  $real_voicemail_options = deep_merge_extended(
    $asterisk::params::voicemail_options, $voicemail_options
  )

  $real_extensions_options = deep_merge_extended(
    $asterisk::params::extensions_options,
    $extensions_options
  )

  $real_features_options = deep_merge_extended(
    $asterisk::params::features_config,
    $features_config,
  )
  $real_queues_options = deep_merge_extended(
    $asterisk::params::queues_options,
    $queues_options
  )

  $real_realtime_options = deep_merge_extended(
    $asterisk::params::realtime_options,
    $realtime_options
  )

  $real_logger_options = deep_merge_extended(
    $asterisk::params::logger_options,
    $logger_options
  )

  $real_manager_options = deep_merge_extended(
    $asterisk::params::manager_config,
    $manager_config
  )

  $real_modules_config = deep_merge_extended(
    $asterisk::params::modules_config,
    $modules_config
  )

  $real_meetme_config = deep_merge_extended(
    $asterisk::params::meetme_config,
    $meetme_config
  )

  $real_sip_notifies = deep_merge_extended(
    $asterisk::params::sip_notifies,
    $sip_notifies
  )

  $real_cdr_config = deep_merge_extended(
    $asterisk::params::cdr_config,
    $cdr_config
  )

  $real_chan_dahdi_config = deep_merge_extended(
    $asterisk::params::chan_dahdi_config,
    $chan_dahdi_config
  )

  $real_stun_config = deep_merge_extended(
    $asterisk::params::stun_config,
    $stun_config
  )

  $real_rtp_config = deep_merge_extended (
    $asterisk::params::rtp_config,
    $rtp_config
  )

  # Anchor this as per #8040 - this ensures that classes won't float off and
  # mess everything up. You can read about this at:
  # http://docs.puppetlabs.com/puppet/2.7/reference/lang_containment.html#known-issues
  anchor { 'asterisk::begin': }
  -> class { '::asterisk::repos': }
  -> class { '::asterisk::install': }
  -> class { '::asterisk::config': }
  ~> class { '::asterisk::service': }
  -> anchor { 'asterisk::end': }

}