/** * @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)); }
/** * @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]); }