Scalr_UI_Controller_Tools_Aws_Route53_Recordsets::xSaveAction PHP Method

xSaveAction() public method

public xSaveAction ( string $zoneId, string $policy, string $healthId, string $dnsName, string $action, string $aliasZoneId, string $evaluateTargetHealth, string $name, string $type, string $ttl, string $weight, string $setIdentifier, string $region, string $failover, JsonData $resourceRecord )
$zoneId string
$policy string
$healthId string
$dnsName string
$action string
$aliasZoneId string
$evaluateTargetHealth string
$name string
$type string
$ttl string
$weight string
$setIdentifier string
$region string
$failover string
$resourceRecord Scalr\UI\Request\JsonData
    public function xSaveAction($zoneId, $policy, $healthId, $dnsName, $action, $aliasZoneId, $evaluateTargetHealth, $name, $type, $ttl, $weight, $setIdentifier, $region, $failover, JsonData $resourceRecord)
    {
        $this->request->restrictAccess(Acl::RESOURCE_AWS_ROUTE53, Acl::PERM_AWS_ROUTE53_MANAGE);
        $rrsRequest = new ChangeRecordSetsRequestData();
        $rrsCnahgeList = new ChangeRecordSetList();
        $rrsCnahgeListData = new ChangeRecordSetData($action);
        $rrsData = new RecordSetData($name, $type, null, !empty($healthId) ? $healthId : null);
        if (!empty($dnsName)) {
            $alias = new AliasTargetData();
            $alias->zoneId = $aliasZoneId;
            $alias->dnsName = $dnsName;
            $alias->evaluateTargetHealth = strtolower($evaluateTargetHealth);
            $rrsData->setAliasTarget($alias);
        } else {
            $rrsData->ttl = $ttl;
            $recordList = new RecordList();
            foreach ($resourceRecord as $value) {
                $recordData = new RecordData($value);
                $recordList->append($recordData);
            }
            $rrsData->setResourceRecord($recordList);
        }
        if ('weight' == $policy) {
            $rrsData->weight = $weight;
        }
        if ('simple' != $policy) {
            $rrsData->setIdentifier = $setIdentifier;
        }
        if ('region' == $policy) {
            $rrsData->region = $region;
        }
        if ('failover' == $policy) {
            $rrsData->failover = strtoupper($failover);
        }
        $rrsCnahgeListData->setRecordSet($rrsData);
        $rrsCnahgeList->append($rrsCnahgeListData);
        $rrsRequest->setChange($rrsCnahgeList);
        $response = $this->getAws()->route53->record->update($zoneId, $rrsRequest);
        $this->response->data(['data' => $response]);
    }