493 lines
9 KiB
PHP
493 lines
9 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace DigiComp\HetznerDnsApi\Model;
|
||
|
|
||
|
class Zone
|
||
|
{
|
||
|
/**
|
||
|
* ID of zone
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $id;
|
||
|
/**
|
||
|
* Time zone was created
|
||
|
*
|
||
|
* @var \DateTime|null
|
||
|
*/
|
||
|
protected $created;
|
||
|
/**
|
||
|
* Time zone was last updated
|
||
|
*
|
||
|
* @var \DateTime|null
|
||
|
*/
|
||
|
protected $modified;
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $legacyDnsHost;
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @var string[]|null
|
||
|
*/
|
||
|
protected $legacyNs;
|
||
|
/**
|
||
|
* Name of zone
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $name;
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @var string[]|null
|
||
|
*/
|
||
|
protected $ns;
|
||
|
/**
|
||
|
* Owner of zone
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $owner;
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @var bool|null
|
||
|
*/
|
||
|
protected $paused;
|
||
|
/**
|
||
|
* Zone's permissions
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $permission;
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $project;
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $registrar;
|
||
|
/**
|
||
|
* Status of zone
|
||
|
*
|
||
|
* @var string|null
|
||
|
*/
|
||
|
protected $status;
|
||
|
/**
|
||
|
* TTL of zone
|
||
|
*
|
||
|
* @var int|null
|
||
|
*/
|
||
|
protected $ttl;
|
||
|
/**
|
||
|
* Verification of zone
|
||
|
*
|
||
|
* @var \DateTime|null
|
||
|
*/
|
||
|
protected $verified;
|
||
|
/**
|
||
|
* Amount of records associated to this zone
|
||
|
*
|
||
|
* @var int|null
|
||
|
*/
|
||
|
protected $recordsCount;
|
||
|
/**
|
||
|
* Indicates if a zone is a secondary DNS zone
|
||
|
*
|
||
|
* @var bool|null
|
||
|
*/
|
||
|
protected $isSecondaryDns;
|
||
|
/**
|
||
|
* Shape of the TXT record that has to be set to verify a zone. If name and token are empty, no TXT record needs to be set
|
||
|
*
|
||
|
* @var BaseZoneTxtVerification|null
|
||
|
*/
|
||
|
protected $txtVerification;
|
||
|
/**
|
||
|
* ID of zone
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getId() : ?string
|
||
|
{
|
||
|
return $this->id;
|
||
|
}
|
||
|
/**
|
||
|
* ID of zone
|
||
|
*
|
||
|
* @param string|null $id
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setId(?string $id) : self
|
||
|
{
|
||
|
$this->id = $id;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Time zone was created
|
||
|
*
|
||
|
* @return \DateTime|null
|
||
|
*/
|
||
|
public function getCreated() : ?\DateTime
|
||
|
{
|
||
|
return $this->created;
|
||
|
}
|
||
|
/**
|
||
|
* Time zone was created
|
||
|
*
|
||
|
* @param \DateTime|null $created
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setCreated(?\DateTime $created) : self
|
||
|
{
|
||
|
$this->created = $created;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Time zone was last updated
|
||
|
*
|
||
|
* @return \DateTime|null
|
||
|
*/
|
||
|
public function getModified() : ?\DateTime
|
||
|
{
|
||
|
return $this->modified;
|
||
|
}
|
||
|
/**
|
||
|
* Time zone was last updated
|
||
|
*
|
||
|
* @param \DateTime|null $modified
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setModified(?\DateTime $modified) : self
|
||
|
{
|
||
|
$this->modified = $modified;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getLegacyDnsHost() : ?string
|
||
|
{
|
||
|
return $this->legacyDnsHost;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param string|null $legacyDnsHost
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setLegacyDnsHost(?string $legacyDnsHost) : self
|
||
|
{
|
||
|
$this->legacyDnsHost = $legacyDnsHost;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @return string[]|null
|
||
|
*/
|
||
|
public function getLegacyNs() : ?array
|
||
|
{
|
||
|
return $this->legacyNs;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param string[]|null $legacyNs
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setLegacyNs(?array $legacyNs) : self
|
||
|
{
|
||
|
$this->legacyNs = $legacyNs;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Name of zone
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getName() : ?string
|
||
|
{
|
||
|
return $this->name;
|
||
|
}
|
||
|
/**
|
||
|
* Name of zone
|
||
|
*
|
||
|
* @param string|null $name
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setName(?string $name) : self
|
||
|
{
|
||
|
$this->name = $name;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @return string[]|null
|
||
|
*/
|
||
|
public function getNs() : ?array
|
||
|
{
|
||
|
return $this->ns;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param string[]|null $ns
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setNs(?array $ns) : self
|
||
|
{
|
||
|
$this->ns = $ns;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Owner of zone
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getOwner() : ?string
|
||
|
{
|
||
|
return $this->owner;
|
||
|
}
|
||
|
/**
|
||
|
* Owner of zone
|
||
|
*
|
||
|
* @param string|null $owner
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setOwner(?string $owner) : self
|
||
|
{
|
||
|
$this->owner = $owner;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @return bool|null
|
||
|
*/
|
||
|
public function getPaused() : ?bool
|
||
|
{
|
||
|
return $this->paused;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param bool|null $paused
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setPaused(?bool $paused) : self
|
||
|
{
|
||
|
$this->paused = $paused;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Zone's permissions
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getPermission() : ?string
|
||
|
{
|
||
|
return $this->permission;
|
||
|
}
|
||
|
/**
|
||
|
* Zone's permissions
|
||
|
*
|
||
|
* @param string|null $permission
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setPermission(?string $permission) : self
|
||
|
{
|
||
|
$this->permission = $permission;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getProject() : ?string
|
||
|
{
|
||
|
return $this->project;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param string|null $project
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setProject(?string $project) : self
|
||
|
{
|
||
|
$this->project = $project;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getRegistrar() : ?string
|
||
|
{
|
||
|
return $this->registrar;
|
||
|
}
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param string|null $registrar
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setRegistrar(?string $registrar) : self
|
||
|
{
|
||
|
$this->registrar = $registrar;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Status of zone
|
||
|
*
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getStatus() : ?string
|
||
|
{
|
||
|
return $this->status;
|
||
|
}
|
||
|
/**
|
||
|
* Status of zone
|
||
|
*
|
||
|
* @param string|null $status
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setStatus(?string $status) : self
|
||
|
{
|
||
|
$this->status = $status;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* TTL of zone
|
||
|
*
|
||
|
* @return int|null
|
||
|
*/
|
||
|
public function getTtl() : ?int
|
||
|
{
|
||
|
return $this->ttl;
|
||
|
}
|
||
|
/**
|
||
|
* TTL of zone
|
||
|
*
|
||
|
* @param int|null $ttl
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setTtl(?int $ttl) : self
|
||
|
{
|
||
|
$this->ttl = $ttl;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Verification of zone
|
||
|
*
|
||
|
* @return \DateTime|null
|
||
|
*/
|
||
|
public function getVerified() : ?\DateTime
|
||
|
{
|
||
|
return $this->verified;
|
||
|
}
|
||
|
/**
|
||
|
* Verification of zone
|
||
|
*
|
||
|
* @param \DateTime|null $verified
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setVerified(?\DateTime $verified) : self
|
||
|
{
|
||
|
$this->verified = $verified;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Amount of records associated to this zone
|
||
|
*
|
||
|
* @return int|null
|
||
|
*/
|
||
|
public function getRecordsCount() : ?int
|
||
|
{
|
||
|
return $this->recordsCount;
|
||
|
}
|
||
|
/**
|
||
|
* Amount of records associated to this zone
|
||
|
*
|
||
|
* @param int|null $recordsCount
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setRecordsCount(?int $recordsCount) : self
|
||
|
{
|
||
|
$this->recordsCount = $recordsCount;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Indicates if a zone is a secondary DNS zone
|
||
|
*
|
||
|
* @return bool|null
|
||
|
*/
|
||
|
public function getIsSecondaryDns() : ?bool
|
||
|
{
|
||
|
return $this->isSecondaryDns;
|
||
|
}
|
||
|
/**
|
||
|
* Indicates if a zone is a secondary DNS zone
|
||
|
*
|
||
|
* @param bool|null $isSecondaryDns
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setIsSecondaryDns(?bool $isSecondaryDns) : self
|
||
|
{
|
||
|
$this->isSecondaryDns = $isSecondaryDns;
|
||
|
return $this;
|
||
|
}
|
||
|
/**
|
||
|
* Shape of the TXT record that has to be set to verify a zone. If name and token are empty, no TXT record needs to be set
|
||
|
*
|
||
|
* @return BaseZoneTxtVerification|null
|
||
|
*/
|
||
|
public function getTxtVerification() : ?BaseZoneTxtVerification
|
||
|
{
|
||
|
return $this->txtVerification;
|
||
|
}
|
||
|
/**
|
||
|
* Shape of the TXT record that has to be set to verify a zone. If name and token are empty, no TXT record needs to be set
|
||
|
*
|
||
|
* @param BaseZoneTxtVerification|null $txtVerification
|
||
|
*
|
||
|
* @return self
|
||
|
*/
|
||
|
public function setTxtVerification(?BaseZoneTxtVerification $txtVerification) : self
|
||
|
{
|
||
|
$this->txtVerification = $txtVerification;
|
||
|
return $this;
|
||
|
}
|
||
|
}
|