HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //var/cache/puppet/lib/puppet/type/onevnet_addressrange.rb
# OpenNebula Puppet type for onevnet addressrange
#
# License: APLv2
#
# Authors:
# Based upon initial work from Ken Barber
# Modified by Martin Alfke
#
# Copyright
# initial provider had no copyright
# Deutsche Post E-POST Development GmbH - 2014, 2015
#
#require 'IPAddress'
Puppet::Type.newtype(:onevnet_addressrange) do
  @doc = "Type for managing addressranges in networks in OpenNebula using the onevnet" +
         "wrapper command."

  ensurable

  newparam(:name, :namevar => true) do
    desc "Name (ID) of addressrange."
    validate do |value|
      fail("Invalid name: #{value}") unless value =~ /^([A-Za-z]).*/
    end
  end

  newproperty(:onevnet_name) do
    desc "Name of the onevnet network where the addressrange will be added/managed"
  end

  newproperty(:ar_id) do
    desc "Readonly attribute - onevnet addressrange internal number"
  end

  newproperty(:protocol) do
    desc "Type of the addressrange. Valid values: IP4, IP6, IP4_6, ETHER"
    newvalues(:ip4, :ip6, :ip4_6, :ether)
  end

  newproperty(:ip_start) do
    desc "Base ip address for IPv4 networks."
    #validate do |value|
    #    unless resource[:ensure] == :present and resource[:protocol] == :ip4
    #        fail("Network address is required when using IPv4 protocol")
    #    end
    #    if value == :undef and resource[:ensure] == :present and resource[:protocol] == :ip4
    #        fail("network_address is required when using ipv4")
    #    end
    #end
  end

  newproperty(:ip_size) do
    desc "Number of addresses"
    #validate do |value|
    #    unless resource[:ensure] == :present and ( resource[:protocol] == :ip4 or resource[:protocol] == :ip4_6 )
    #        fail("ip_size is required when using IPv4 protocol")
    #    end
    #    if value == :undef and resource[:ensure] == :present and ( resource[:protocol] == :ip4 or resource[:protocol] == :ip4_6 )
    #        fail("network_mask is required when using ipv4")
    #    end
    #end
  end

  newproperty(:mac) do
    desc "First MAC (optional)"
  end

  newproperty(:globalprefix) do
    desc "Global prefix for IPv6 network"
    #validate do |value|
    #    unless resource[:ensure] == :present and ( resource[:protocol] == :ip6 or resource[:protocol] == :ip4_6 )
    #        fail("Global prefix is required when using IPv6 protocol")
    #    end
    #end
  end

  newproperty(:ulaprefix) do
    desc "ULA prefix for IPv6 network"
  end

  # Autorequire the onevnet declaration
  autorequire(:onevnet) do
    self[:onevnet_name]
  end

  validate do
    raise Puppet::Error, 'Onevnet name is required' if self[:onevnet_name].nil?
  end

end