Пример #1
0
 /**
  * @test
  */
 public function testConstruction()
 {
     $r = new RunInstancesRequestData('image-id', 1, 3);
     $r->clientToken = 'client-token';
     $r->disableApiTermination = true;
     $r->instanceInitiatedShutdownBehavior = 'stop';
     $r->setInstanceType('t1.micro');
     $r->kernelId = 'kernel-id';
     $r->keyName = 'key-name';
     $r->privateIpAddress = 'private-ip-address-ex';
     $r->ramdiskId = 'ramdisk-id';
     $r->subnetId = 'subnet-id';
     $r->userData = 'user-data';
     $ebs = new EbsBlockDeviceData();
     $ebs->deleteOnTermination = false;
     $ebs->iops = 12;
     $ebs->snapshotId = 'snapshot-id';
     $ebs->volumeSize = 10;
     $ebs->volumeType = 'standard';
     $bdm = new BlockDeviceMappingData();
     $bdm->deviceName = 'device-name-1';
     $bdm->ebs = $ebs;
     $bdm->noDevice = '';
     $bdm->setVirtualName('virtual-name');
     $r->setBlockDeviceMapping($bdm);
     $r->setIamInstanceProfile(new IamInstanceProfileRequestData('arn', 'name'));
     $r->setMonitoring(new MonitoringInstanceData(true));
     $ni = new InstanceNetworkInterfaceSetRequestData();
     $ni->deleteOnTermination = true;
     $ni->description = 'description-1';
     $ni->deviceIndex = 1;
     $ni->networkInterfaceId = 'network-interface-id';
     $ni->privateIpAddress = 'private-ip-address';
     $ni->privateIpAddresses = array(array('primary' => false, 'privateIpAddress' => '10.10.0.1'), array('primary' => true, 'privateIpAddress' => '10.10.0.2'));
     $ni->securityGroupId = array(array('groupId' => 'security-group-id-1'), array('groupId' => 'security-group-id-2'));
     $ni->secondaryPrivateIpAddressCount = 2;
     $ni2 = clone $ni;
     $ni2->description = 'description-2';
     $ni2->deviceIndex = 2;
     $r->setNetworkInterface(array($ni, $ni2));
     $r->setSecurityGroup(array('security-group-name-1', 'security-group-name-2'));
     $r->setSecurityGroupId(array('security-group-id-1', 'security-group-id-2'));
     $r->setPlacement(new PlacementResponseData('availability-zone', 'group-name', 'tenancy'));
     $this->assertEquals('image-id', $r->imageId);
     $this->assertEquals($r->imageId, $r->getImageId());
     $this->assertEquals(1, $r->minCount);
     $this->assertEquals($r->minCount, $r->getMinCount());
     $this->assertEquals(3, $r->maxCount);
     $this->assertEquals($r->maxCount, $r->getMaxCount());
     $fxtr = array('ImageId' => 'image-id', 'MinCount' => '1', 'MaxCount' => '3', 'KeyName' => 'key-name', 'UserData' => 'user-data', 'InstanceType' => 't1.micro', 'KernelId' => 'kernel-id', 'RamdiskId' => 'ramdisk-id', 'SubnetId' => 'subnet-id', 'DisableApiTermination' => 'true', 'InstanceInitiatedShutdownBehavior' => 'stop', 'PrivateIpAddress' => 'private-ip-address-ex', 'ClientToken' => 'client-token', 'SecurityGroupId.1' => 'security-group-id-1', 'SecurityGroupId.2' => 'security-group-id-2', 'SecurityGroup.1' => 'security-group-name-1', 'SecurityGroup.2' => 'security-group-name-2', 'Placement.AvailabilityZone' => 'availability-zone', 'Placement.GroupName' => 'group-name', 'Placement.Tenancy' => 'tenancy', 'BlockDeviceMapping.1.DeviceName' => 'device-name-1', 'BlockDeviceMapping.1.VirtualName' => 'virtual-name', 'BlockDeviceMapping.1.NoDevice' => '', 'BlockDeviceMapping.1.Ebs.SnapshotId' => 'snapshot-id', 'BlockDeviceMapping.1.Ebs.VolumeSize' => '10', 'BlockDeviceMapping.1.Ebs.DeleteOnTermination' => 'false', 'BlockDeviceMapping.1.Ebs.VolumeType' => 'standard', 'BlockDeviceMapping.1.Ebs.Iops' => '12', 'Monitoring.Enabled' => 'true', 'NetworkInterface.1.NetworkInterfaceId' => 'network-interface-id', 'NetworkInterface.1.DeviceIndex' => '1', 'NetworkInterface.1.Description' => 'description-1', 'NetworkInterface.1.PrivateIpAddress' => 'private-ip-address', 'NetworkInterface.1.SecurityGroupId.1' => 'security-group-id-1', 'NetworkInterface.1.SecurityGroupId.2' => 'security-group-id-2', 'NetworkInterface.1.DeleteOnTermination' => 'true', 'NetworkInterface.1.PrivateIpAddresses.1.Primary' => 'false', 'NetworkInterface.1.PrivateIpAddresses.1.PrivateIpAddress' => '10.10.0.1', 'NetworkInterface.1.PrivateIpAddresses.2.Primary' => 'true', 'NetworkInterface.1.PrivateIpAddresses.2.PrivateIpAddress' => '10.10.0.2', 'NetworkInterface.1.SecondaryPrivateIpAddressCount' => '2', 'NetworkInterface.2.NetworkInterfaceId' => 'network-interface-id', 'NetworkInterface.2.DeviceIndex' => '2', 'NetworkInterface.2.Description' => 'description-2', 'NetworkInterface.2.PrivateIpAddress' => 'private-ip-address', 'NetworkInterface.2.SecurityGroupId.1' => 'security-group-id-1', 'NetworkInterface.2.SecurityGroupId.2' => 'security-group-id-2', 'NetworkInterface.2.DeleteOnTermination' => 'true', 'NetworkInterface.2.PrivateIpAddresses.1.Primary' => 'false', 'NetworkInterface.2.PrivateIpAddresses.1.PrivateIpAddress' => '10.10.0.1', 'NetworkInterface.2.PrivateIpAddresses.2.Primary' => 'true', 'NetworkInterface.2.PrivateIpAddresses.2.PrivateIpAddress' => '10.10.0.2', 'NetworkInterface.2.SecondaryPrivateIpAddressCount' => '2', 'IamInstanceProfile.Arn' => 'arn', 'IamInstanceProfile.Name' => 'name');
     $this->assertEquals($fxtr, $r->getQueryArrayBare());
 }
Пример #2
0
 /**
  * Loads BlockDeviceMappingList from simple xml object
  *
  * @param   \SimpleXMLElement $sxml
  * @return  BlockDeviceMappingList Returns BlockDeviceMappingList
  */
 protected function _loadBlockDeviceMappingList(\SimpleXMLElement $sxml)
 {
     $list = new BlockDeviceMappingList();
     $list->setEc2($this->ec2);
     if (!empty($sxml->item)) {
         foreach ($sxml->item as $v) {
             $item = new BlockDeviceMappingData();
             $item->setEc2($this->ec2);
             $item->deviceName = $this->exist($v->deviceName) ? (string) $v->deviceName : null;
             $item->virtualName = $this->exist($v->virtualName) ? (string) $v->virtualName : null;
             $item->noDevice = $this->exist($v->noDevice) ? (string) $v->noDevice : null;
             $item->setEbs($this->_loadEbsBlockDeviceData($v->ebs));
             $list->append($item);
             unset($item);
         }
     }
     return $list;
 }