예제 #1
0
 /**
  * @test
  */
 public function testFunctional()
 {
     $this->skipIfEc2PlatformDisabled();
     $aws = $this->aws;
     //$aws->setDebug(true);
     $list = $aws->cloudFront->distribution->describe();
     $this->assertInstanceOf($this->getCloudFrontClassName('DataType\\DistributionList'), $list);
     /* @var $dist CloudFrontDataType\DistirbutionData */
     foreach ($list as $dist) {
         $dist->refresh();
         $this->assertNotEmpty($dist->getOriginalXml());
         $this->assertNotNull($dist->distributionConfig->getETag());
         $dist->refreshConfig();
         $this->assertNotNull($dist->getETag());
         $this->assertInstanceOf($this->getCloudFrontClassName('DataType\\DistributionConfigData'), $dist->distributionConfig);
         $this->assertNotEmpty($dist->distributionConfig->getOriginalXml());
         $dom = new \DOMDocument();
         $dom->loadXML($dist->distributionConfig->getOriginalXml());
         $this->assertEqualXMLStructure($dom->firstChild, $dist->distributionConfig->toXml(true)->firstChild);
         unset($dist);
     }
     unset($list);
     //Creates distribution
     $origin = new CloudFrontDataType\DistributionConfigOriginData();
     $origin->originId = 'MyOriginId';
     $origin->domainName = 'test.s3.amazonaws.com';
     $origin->setS3OriginConfig(new CloudFrontDataType\DistributionS3OriginConfigData(''));
     $fvd = new CloudFrontDataType\ForwardedValuesData();
     $fvd->queryString = false;
     $fvd->setCookies(new CloudFrontDataType\ForwardedValuesCookiesData(CloudFrontDataType\ForwardedValuesCookiesData::FORWARD_NONE));
     $ts = new CloudFrontDataType\TrustedSignerList();
     $ts->setEnabled(false);
     $dcb = new CloudFrontDataType\CacheBehaviorData();
     $dcb->minTtl = 3600;
     $dcb->targetOriginId = $origin->originId;
     $dcb->viewerProtocolPolicy = 'allow-all';
     $dcb->setForwardedValues($fvd);
     $dcb->setTrustedSigners($ts);
     $dc = new CloudFrontDataType\DistributionConfigData();
     $dc->comment = 'phpunit test distribution';
     $dc->enabled = false;
     $dc->setAliases(array(array('cname' => 'test2.scalr.com')));
     $dc->priceClass = 'PriceClass_All';
     $dc->setOrigins($origin);
     $dc->setDefaultCacheBehavior($dcb);
     $dist = $aws->cloudFront->distribution->create($dc);
     $this->assertInstanceOf($this->getCloudFrontClassName('DataType\\DistributionData'), $dist);
     $dist->refresh();
     //Too time consuming test
     //         $ret = $dist->delete();
     //         $this->assertTrue($ret);
     //Releases all memory from storage.
     $aws->getEntityManager()->detachAll();
 }
예제 #2
0
 /**
  * Parses TrustedSignerList
  *
  * @param   \SimpleXMLElement $sxml
  * @return  TrustedSignerList Returns TrustedSignerList object
  */
 protected function _loadTrustedSignerList(\SimpleXMLElement $sxml)
 {
     $list = new TrustedSignerList();
     $list->setCloudFront($this->cloudFront);
     $list->setEnabled($this->exist($sxml->Enabled) ? (string) $sxml->Enabled == 'true' : null);
     if (!empty($sxml->Items->Singer)) {
         foreach ($sxml->Items->Singer as $v) {
             $item = new TrustedSignerData();
             $item->awsAccountNumber = (string) $v->AwsAccountNumber;
             $item->setKeyPairIds($this->_loadKeyPairList($v->KeyPairIds));
             $list->append($item);
             unset($item);
         }
     }
     return $list;
 }
예제 #3
0
 /**
  * Constructor
  *
  * @param   string     $targetOriginId       optional
  * @param   string     $viewerProtocolPolicy optional
  * @param   int        $minTtl               optional
  * @param   int        $defaultTtl           optional
  * @param   int        $maxTtl               optional
  * @param   string     $pathPattern          optional
  */
 public function __construct($targetOriginId = null, $viewerProtocolPolicy = null, $minTtl = null, $defaultTtl = null, $maxTtl = null, $pathPattern = null)
 {
     $this->targetOriginId = $targetOriginId;
     $this->pathPattern = $pathPattern;
     $this->viewerProtocolPolicy = $viewerProtocolPolicy;
     $this->minTtl = $minTtl;
     $this->defaultTtl = $defaultTtl;
     $this->maxTtl = $maxTtl;
     $this->setForwardedValues(new ForwardedValuesData(false));
     $ts = new TrustedSignerList();
     $ts->setEnabled(false);
     $this->setTrustedSigners($ts);
 }