/** * @param JsonData $zoneId JSON encoded structure * @param string $cloudLocation */ public function xDeleteAction(JsonData $zoneId, $cloudLocation) { $aws = $this->environment->aws($cloudLocation); foreach ($zoneId as $id) { $customRecordSets = array(); $marker = null; do { if (isset($recordsets)) { $marker = new MarkerType($recordsets->marker); } $recordsets = $aws->route53->record->describe($id, null, null, $marker); foreach ($recordsets as $record) { if ('NS' != $record->type && 'SOA' != $record->type) { $result = Recordsets::loadRecordSetData($record); $customRecordSets[] = $result; } } } while ($recordsets->marker !== null); if (!empty($customRecordSets)) { $this->deleteCustomRecordsets($customRecordSets, $id, $cloudLocation); } $aws->route53->zone->delete($id); } $this->response->success(); }
/** * @param JsonData $zoneId JSON encoded structure * @param string $cloudLocation */ public function xDeleteAction(JsonData $zoneId, $cloudLocation) { $aws = $this->environment->aws($cloudLocation); foreach ($zoneId as $id) { $customRecordSets = []; $nextName = null; $nextType = null; do { if (isset($recordsets)) { $nextName = $recordsets->nextRecordName; $nextType = $recordsets->nextRecordType; } $recordsets = $aws->route53->record->describe($id, $nextName, $nextType); foreach ($recordsets as $record) { if ('NS' != $record->type && 'SOA' != $record->type) { $result = Recordsets::loadRecordSetData($record); $customRecordSets[] = $result; } } } while (!empty($recordsets->isTruncated)); if (!empty($customRecordSets)) { $this->deleteCustomRecordsets($customRecordSets, $id, $cloudLocation); } $aws->route53->zone->delete($id); } $this->response->success(); }
/** * @param JsonData $zoneId JSON encoded structure */ public function xDeleteAction(JsonData $zoneId) { $this->request->restrictAccess(Acl::RESOURCE_AWS_ROUTE53, Acl::PERM_AWS_ROUTE53_MANAGE); $aws = $this->getAws(); foreach ($zoneId as $id) { $customRecordSets = []; $nextName = null; $nextType = null; do { if (isset($recordsets)) { $nextName = $recordsets->nextRecordName; $nextType = $recordsets->nextRecordType; } $recordsets = $aws->route53->record->describe($id, $nextName, $nextType); foreach ($recordsets as $record) { if ('NS' != $record->type && 'SOA' != $record->type) { $result = Recordsets::loadRecordSetData($record); $customRecordSets[] = $result; } } } while (!empty($recordsets->isTruncated)); if (!empty($customRecordSets)) { $this->deleteCustomRecordsets($customRecordSets, $id); } $aws->route53->zone->delete($id); } $this->response->success(); }