示例#1
0
 /**
  * @param string $cloudLocation
  * @param string $domainName
  * @param string $description optional
  */
 public function xCreateAction($cloudLocation, $domainName, $description = null)
 {
     $config = new ZoneData($domainName);
     $zoneConfig = new ZoneConfigData($description);
     $config->setZoneConfig($zoneConfig);
     $zone = $this->environment->aws($cloudLocation)->route53->zone->create($config);
     $delegationSet = array();
     foreach ($zone->delegationSet as $set) {
         $delegationSet[] = $set->nameServer;
     }
     $changeInfo = array('changeId' => !empty($zone->changeInfo->id) ? $zone->changeInfo->id : '', 'status' => !empty($zone->changeInfo->status) ? $zone->changeInfo->status : '', 'submittedAt' => !empty($zone->changeInfo->submittedAt) ? $zone->changeInfo->submittedAt : '');
     $zoneResult = array('zoneId' => $zone->zoneId, 'name' => $zone->name, 'recordSetCount' => $zone->resourceRecordSetCount, 'comment' => !empty($zone->zoneConfig->comment) ? $zone->zoneConfig->comment : '', 'delegationSet' => $delegationSet, 'changeInfo' => $changeInfo);
     $this->response->data(array('data' => $zoneResult));
 }
示例#2
0
 /**
  * @param string $cloudLocation
  * @param string $domainName
  * @param string $description   optional
  */
 public function xCreateAction($cloudLocation, $domainName, $description = null)
 {
     $this->request->restrictAccess(Acl::RESOURCE_AWS_ROUTE53, Acl::PERM_AWS_ROUTE53_MANAGE);
     $config = new ZoneData($domainName);
     $zoneConfig = new ZoneConfigData($description);
     $config->setZoneConfig($zoneConfig);
     $zone = $this->environment->aws($cloudLocation)->route53->zone->create($config);
     $delegationSet = [];
     foreach ($zone->delegationSet as $set) {
         $delegationSet[] = $set->nameServer;
     }
     $changeInfo = ['changeId' => !empty($zone->changeInfo->id) ? $zone->changeInfo->id : '', 'status' => !empty($zone->changeInfo->status) ? $zone->changeInfo->status : '', 'submittedAt' => !empty($zone->changeInfo->submittedAt) ? $zone->changeInfo->submittedAt : ''];
     $zoneResult = ['zoneId' => $zone->zoneId, 'name' => $zone->name, 'recordSetCount' => $zone->resourceRecordSetCount, 'comment' => !empty($zone->zoneConfig->comment) ? $zone->zoneConfig->comment : '', 'delegationSet' => $delegationSet, 'changeInfo' => $changeInfo];
     $this->response->data(['data' => $zoneResult]);
 }
示例#3
0
 /**
  * Loads ZoneData from simple xml object
  *
  * @param   \SimpleXMLElement $v
  * @return  ZoneData Returns ZoneData
  */
 protected function _loadHostedZoneData(\SimpleXMLElement $v)
 {
     $item = null;
     if ($this->exist($v->HostedZone)) {
         $zoneId = str_replace('/hostedzone/', '', $v->HostedZone->Id);
         $item = new ZoneData();
         $item->setRoute53($this->route53);
         $item->setZoneId((string) $zoneId)->setName((string) $v->HostedZone->Name)->setCallerReference((string) $v->HostedZone->CallerReference)->setZoneConfig($this->exist($v->HostedZone->Config) ? $this->_loadHostedZoneConfigData($v->HostedZone->Config) : null)->setResourceRecordSetCount((string) $v->HostedZone->ResourceRecordSetCount);
         if ($this->exist($v->ChangeInfo)) {
             $item->setChangeInfo($this->exist($v->ChangeInfo) ? $this->_loadHostedZoneChangeInfoData($v->ChangeInfo) : null);
         }
         if ($this->exist($v->DelegationSet)) {
             $item->setDelegationSet($this->exist($v->DelegationSet) ? $this->_loadHostedZoneDelegationSetList($v->DelegationSet) : null);
         }
     }
     return $item;
 }