<?php

namespace \Losc\CucmBundle\Model\Webservice\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for XDhcpSubnet StructType
 * @subpackage Structs
 */
class XDhcpSubnet extends AbstractStructBase
{
    /**
     * The dhcpServerName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $dhcpServerName;
    /**
     * The subnetIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $subnetIpAddress;
    /**
     * The primaryStartIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $primaryStartIpAddress;
    /**
     * The primaryEndIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $primaryEndIpAddress;
    /**
     * The subnetMask
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $subnetMask;
    /**
     * The secondaryStartIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $secondaryStartIpAddress;
    /**
     * The secondaryEndIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $secondaryEndIpAddress;
    /**
     * The primaryRouterIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $primaryRouterIpAddress;
    /**
     * The secondaryRouterIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $secondaryRouterIpAddress;
    /**
     * The domainName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $domainName;
    /**
     * The primaryDnsIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $primaryDnsIpAddress;
    /**
     * The secondaryDnsIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $secondaryDnsIpAddress;
    /**
     * The tftpServerName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $tftpServerName;
    /**
     * The primaryTftpServerIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $primaryTftpServerIpAddress;
    /**
     * The secondaryTftpServerIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $secondaryTftpServerIpAddress;
    /**
     * The bootstrapServerIpAddress
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $bootstrapServerIpAddress;
    /**
     * The arpCacheTimeout
     * Meta information extracted from the WSDL
     * - documentation: Value between 0 to 1073741824.
     * - default: 0
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $arpCacheTimeout;
    /**
     * The ipAddressLeaseTime
     * Meta information extracted from the WSDL
     * - documentation: Value between 0 to 1073741824.
     * - default: 0
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $ipAddressLeaseTime;
    /**
     * The renewalTime
     * Meta information extracted from the WSDL
     * - documentation: Value between 0 to 1073741824.
     * - default: 0
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $renewalTime;
    /**
     * The rebindingTime
     * Meta information extracted from the WSDL
     * - documentation: Value between 0 to 1073741824.
     * - default: 0
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $rebindingTime;
    /**
     * Constructor method for XDhcpSubnet
     * @uses XDhcpSubnet::setDhcpServerName()
     * @uses XDhcpSubnet::setSubnetIpAddress()
     * @uses XDhcpSubnet::setPrimaryStartIpAddress()
     * @uses XDhcpSubnet::setPrimaryEndIpAddress()
     * @uses XDhcpSubnet::setSubnetMask()
     * @uses XDhcpSubnet::setSecondaryStartIpAddress()
     * @uses XDhcpSubnet::setSecondaryEndIpAddress()
     * @uses XDhcpSubnet::setPrimaryRouterIpAddress()
     * @uses XDhcpSubnet::setSecondaryRouterIpAddress()
     * @uses XDhcpSubnet::setDomainName()
     * @uses XDhcpSubnet::setPrimaryDnsIpAddress()
     * @uses XDhcpSubnet::setSecondaryDnsIpAddress()
     * @uses XDhcpSubnet::setTftpServerName()
     * @uses XDhcpSubnet::setPrimaryTftpServerIpAddress()
     * @uses XDhcpSubnet::setSecondaryTftpServerIpAddress()
     * @uses XDhcpSubnet::setBootstrapServerIpAddress()
     * @uses XDhcpSubnet::setArpCacheTimeout()
     * @uses XDhcpSubnet::setIpAddressLeaseTime()
     * @uses XDhcpSubnet::setRenewalTime()
     * @uses XDhcpSubnet::setRebindingTime()
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dhcpServerName
     * @param string $subnetIpAddress
     * @param string $primaryStartIpAddress
     * @param string $primaryEndIpAddress
     * @param string $subnetMask
     * @param string $secondaryStartIpAddress
     * @param string $secondaryEndIpAddress
     * @param string $primaryRouterIpAddress
     * @param string $secondaryRouterIpAddress
     * @param string $domainName
     * @param string $primaryDnsIpAddress
     * @param string $secondaryDnsIpAddress
     * @param string $tftpServerName
     * @param string $primaryTftpServerIpAddress
     * @param string $secondaryTftpServerIpAddress
     * @param string $bootstrapServerIpAddress
     * @param string $arpCacheTimeout
     * @param string $ipAddressLeaseTime
     * @param string $renewalTime
     * @param string $rebindingTime
     */
    public function __construct(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dhcpServerName = null, $subnetIpAddress = null, $primaryStartIpAddress = null, $primaryEndIpAddress = null, $subnetMask = null, $secondaryStartIpAddress = null, $secondaryEndIpAddress = null, $primaryRouterIpAddress = null, $secondaryRouterIpAddress = null, $domainName = null, $primaryDnsIpAddress = null, $secondaryDnsIpAddress = null, $tftpServerName = null, $primaryTftpServerIpAddress = null, $secondaryTftpServerIpAddress = null, $bootstrapServerIpAddress = null, $arpCacheTimeout = '0', $ipAddressLeaseTime = '0', $renewalTime = '0', $rebindingTime = '0')
    {
        $this
            ->setDhcpServerName($dhcpServerName)
            ->setSubnetIpAddress($subnetIpAddress)
            ->setPrimaryStartIpAddress($primaryStartIpAddress)
            ->setPrimaryEndIpAddress($primaryEndIpAddress)
            ->setSubnetMask($subnetMask)
            ->setSecondaryStartIpAddress($secondaryStartIpAddress)
            ->setSecondaryEndIpAddress($secondaryEndIpAddress)
            ->setPrimaryRouterIpAddress($primaryRouterIpAddress)
            ->setSecondaryRouterIpAddress($secondaryRouterIpAddress)
            ->setDomainName($domainName)
            ->setPrimaryDnsIpAddress($primaryDnsIpAddress)
            ->setSecondaryDnsIpAddress($secondaryDnsIpAddress)
            ->setTftpServerName($tftpServerName)
            ->setPrimaryTftpServerIpAddress($primaryTftpServerIpAddress)
            ->setSecondaryTftpServerIpAddress($secondaryTftpServerIpAddress)
            ->setBootstrapServerIpAddress($bootstrapServerIpAddress)
            ->setArpCacheTimeout($arpCacheTimeout)
            ->setIpAddressLeaseTime($ipAddressLeaseTime)
            ->setRenewalTime($renewalTime)
            ->setRebindingTime($rebindingTime);
    }
    /**
     * Get dhcpServerName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public function getDhcpServerName()
    {
        return $this->dhcpServerName;
    }
    /**
     * Set dhcpServerName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dhcpServerName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setDhcpServerName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dhcpServerName = null)
    {
        $this->dhcpServerName = $dhcpServerName;
        return $this;
    }
    /**
     * Get subnetIpAddress value
     * @return string
     */
    public function getSubnetIpAddress()
    {
        return $this->subnetIpAddress;
    }
    /**
     * Set subnetIpAddress value
     * @param string $subnetIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSubnetIpAddress($subnetIpAddress = null)
    {
        $this->subnetIpAddress = $subnetIpAddress;
        return $this;
    }
    /**
     * Get primaryStartIpAddress value
     * @return string
     */
    public function getPrimaryStartIpAddress()
    {
        return $this->primaryStartIpAddress;
    }
    /**
     * Set primaryStartIpAddress value
     * @param string $primaryStartIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setPrimaryStartIpAddress($primaryStartIpAddress = null)
    {
        $this->primaryStartIpAddress = $primaryStartIpAddress;
        return $this;
    }
    /**
     * Get primaryEndIpAddress value
     * @return string
     */
    public function getPrimaryEndIpAddress()
    {
        return $this->primaryEndIpAddress;
    }
    /**
     * Set primaryEndIpAddress value
     * @param string $primaryEndIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setPrimaryEndIpAddress($primaryEndIpAddress = null)
    {
        $this->primaryEndIpAddress = $primaryEndIpAddress;
        return $this;
    }
    /**
     * Get subnetMask value
     * @return string
     */
    public function getSubnetMask()
    {
        return $this->subnetMask;
    }
    /**
     * Set subnetMask value
     * @param string $subnetMask
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSubnetMask($subnetMask = null)
    {
        $this->subnetMask = $subnetMask;
        return $this;
    }
    /**
     * Get secondaryStartIpAddress value
     * @return string|null
     */
    public function getSecondaryStartIpAddress()
    {
        return $this->secondaryStartIpAddress;
    }
    /**
     * Set secondaryStartIpAddress value
     * @param string $secondaryStartIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSecondaryStartIpAddress($secondaryStartIpAddress = null)
    {
        $this->secondaryStartIpAddress = $secondaryStartIpAddress;
        return $this;
    }
    /**
     * Get secondaryEndIpAddress value
     * @return string|null
     */
    public function getSecondaryEndIpAddress()
    {
        return $this->secondaryEndIpAddress;
    }
    /**
     * Set secondaryEndIpAddress value
     * @param string $secondaryEndIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSecondaryEndIpAddress($secondaryEndIpAddress = null)
    {
        $this->secondaryEndIpAddress = $secondaryEndIpAddress;
        return $this;
    }
    /**
     * Get primaryRouterIpAddress value
     * @return string|null
     */
    public function getPrimaryRouterIpAddress()
    {
        return $this->primaryRouterIpAddress;
    }
    /**
     * Set primaryRouterIpAddress value
     * @param string $primaryRouterIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setPrimaryRouterIpAddress($primaryRouterIpAddress = null)
    {
        $this->primaryRouterIpAddress = $primaryRouterIpAddress;
        return $this;
    }
    /**
     * Get secondaryRouterIpAddress value
     * @return string|null
     */
    public function getSecondaryRouterIpAddress()
    {
        return $this->secondaryRouterIpAddress;
    }
    /**
     * Set secondaryRouterIpAddress value
     * @param string $secondaryRouterIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSecondaryRouterIpAddress($secondaryRouterIpAddress = null)
    {
        $this->secondaryRouterIpAddress = $secondaryRouterIpAddress;
        return $this;
    }
    /**
     * Get domainName value
     * @return string|null
     */
    public function getDomainName()
    {
        return $this->domainName;
    }
    /**
     * Set domainName value
     * @param string $domainName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setDomainName($domainName = null)
    {
        $this->domainName = $domainName;
        return $this;
    }
    /**
     * Get primaryDnsIpAddress value
     * @return string|null
     */
    public function getPrimaryDnsIpAddress()
    {
        return $this->primaryDnsIpAddress;
    }
    /**
     * Set primaryDnsIpAddress value
     * @param string $primaryDnsIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setPrimaryDnsIpAddress($primaryDnsIpAddress = null)
    {
        $this->primaryDnsIpAddress = $primaryDnsIpAddress;
        return $this;
    }
    /**
     * Get secondaryDnsIpAddress value
     * @return string|null
     */
    public function getSecondaryDnsIpAddress()
    {
        return $this->secondaryDnsIpAddress;
    }
    /**
     * Set secondaryDnsIpAddress value
     * @param string $secondaryDnsIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSecondaryDnsIpAddress($secondaryDnsIpAddress = null)
    {
        $this->secondaryDnsIpAddress = $secondaryDnsIpAddress;
        return $this;
    }
    /**
     * Get tftpServerName value
     * @return string|null
     */
    public function getTftpServerName()
    {
        return $this->tftpServerName;
    }
    /**
     * Set tftpServerName value
     * @param string $tftpServerName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setTftpServerName($tftpServerName = null)
    {
        $this->tftpServerName = $tftpServerName;
        return $this;
    }
    /**
     * Get primaryTftpServerIpAddress value
     * @return string|null
     */
    public function getPrimaryTftpServerIpAddress()
    {
        return $this->primaryTftpServerIpAddress;
    }
    /**
     * Set primaryTftpServerIpAddress value
     * @param string $primaryTftpServerIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setPrimaryTftpServerIpAddress($primaryTftpServerIpAddress = null)
    {
        $this->primaryTftpServerIpAddress = $primaryTftpServerIpAddress;
        return $this;
    }
    /**
     * Get secondaryTftpServerIpAddress value
     * @return string|null
     */
    public function getSecondaryTftpServerIpAddress()
    {
        return $this->secondaryTftpServerIpAddress;
    }
    /**
     * Set secondaryTftpServerIpAddress value
     * @param string $secondaryTftpServerIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setSecondaryTftpServerIpAddress($secondaryTftpServerIpAddress = null)
    {
        $this->secondaryTftpServerIpAddress = $secondaryTftpServerIpAddress;
        return $this;
    }
    /**
     * Get bootstrapServerIpAddress value
     * @return string|null
     */
    public function getBootstrapServerIpAddress()
    {
        return $this->bootstrapServerIpAddress;
    }
    /**
     * Set bootstrapServerIpAddress value
     * @param string $bootstrapServerIpAddress
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setBootstrapServerIpAddress($bootstrapServerIpAddress = null)
    {
        $this->bootstrapServerIpAddress = $bootstrapServerIpAddress;
        return $this;
    }
    /**
     * Get arpCacheTimeout value
     * @return string|null
     */
    public function getArpCacheTimeout()
    {
        return $this->arpCacheTimeout;
    }
    /**
     * Set arpCacheTimeout value
     * @param string $arpCacheTimeout
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setArpCacheTimeout($arpCacheTimeout = '0')
    {
        $this->arpCacheTimeout = $arpCacheTimeout;
        return $this;
    }
    /**
     * Get ipAddressLeaseTime value
     * @return string|null
     */
    public function getIpAddressLeaseTime()
    {
        return $this->ipAddressLeaseTime;
    }
    /**
     * Set ipAddressLeaseTime value
     * @param string $ipAddressLeaseTime
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setIpAddressLeaseTime($ipAddressLeaseTime = '0')
    {
        $this->ipAddressLeaseTime = $ipAddressLeaseTime;
        return $this;
    }
    /**
     * Get renewalTime value
     * @return string|null
     */
    public function getRenewalTime()
    {
        return $this->renewalTime;
    }
    /**
     * Set renewalTime value
     * @param string $renewalTime
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setRenewalTime($renewalTime = '0')
    {
        $this->renewalTime = $renewalTime;
        return $this;
    }
    /**
     * Get rebindingTime value
     * @return string|null
     */
    public function getRebindingTime()
    {
        return $this->rebindingTime;
    }
    /**
     * Set rebindingTime value
     * @param string $rebindingTime
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDhcpSubnet
     */
    public function setRebindingTime($rebindingTime = '0')
    {
        $this->rebindingTime = $rebindingTime;
        return $this;
    }
}
