Scalr_UI_Controller_Tools_Aws_Route53_Recordsets::loadRecordSetData PHP Method

loadRecordSetData() public static method

public static loadRecordSetData ( object $record ) : array
$record object
return array
    public static function loadRecordSetData($record)
    {
        $resourceRecordList = [];
        $result = ['name' => $record->name, 'type' => $record->type];
        if (!empty($record->resourceRecord)) {
            foreach ($record->resourceRecord as $value) {
                $resourceRecordList[] = $value->value;
            }
            $result['resourceRecord'] = $resourceRecordList;
            $result['ttl'] = $record->ttl;
            $result['alias'] = false;
        }
        if (!empty($record->aliasTarget)) {
            $result['alias'] = true;
            $result['aliasZoneId'] = $record->aliasTarget->zoneId;
            $result['dnsName'] = $record->aliasTarget->dnsName;
            $result['evaluateTargetHealth'] = $record->aliasTarget->evaluateTargetHealth;
        }
        if (property_exists($record, 'healthId')) {
            $result['healthId'] = $record->healthId;
        }
        if (property_exists($record, 'setIdentifier')) {
            $result['setIdentifier'] = $record->setIdentifier;
        }
        if (property_exists($record, 'weight')) {
            $result['weight'] = $record->weight;
            if (!empty($record->weight)) {
                $result['policy'] = 'weight';
            }
        }
        if (property_exists($record, 'region')) {
            $result['region'] = $record->region;
            if (!empty($record->region)) {
                $result['policy'] = 'region';
            }
        }
        if (property_exists($record, 'failover')) {
            $result['failover'] = strtolower($record->failover);
            if (!empty($record->failover)) {
                $result['policy'] = 'failover';
            }
        }
        if (empty($result['policy'])) {
            $result['policy'] = 'simple';
        }
        return $result;
    }

Usage Example

Esempio n. 1
0
 /**
  * @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();
 }
All Usage Examples Of Scalr_UI_Controller_Tools_Aws_Route53_Recordsets::loadRecordSetData