/**
  * Construct new Amazon_EC2_Model_AuthorizeSecurityGroupIngressRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>GroupName: string</li>
  * <li>SourceSecurityGroupName: string</li>
  * <li>SourceSecurityGroupOwnerId: string</li>
  * <li>IpProtocol: string</li>
  * <li>FromPort: int</li>
  * <li>ToPort: int</li>
  * <li>CidrIp: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('GroupName' => array('FieldValue' => null, 'FieldType' => 'string'), 'SourceSecurityGroupName' => array('FieldValue' => null, 'FieldType' => 'string'), 'SourceSecurityGroupOwnerId' => array('FieldValue' => null, 'FieldType' => 'string'), 'IpProtocol' => array('FieldValue' => null, 'FieldType' => 'string'), 'FromPort' => array('FieldValue' => null, 'FieldType' => 'int'), 'ToPort' => array('FieldValue' => null, 'FieldType' => 'int'), 'CidrIp' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeImagesRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ImageId: string</li>
  * <li>Owner: string</li>
  * <li>ExecutableBy: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ImageId' => array('FieldValue' => array(), 'FieldType' => array('string')), 'Owner' => array('FieldValue' => array(), 'FieldType' => array('string')), 'ExecutableBy' => array('FieldValue' => array(), 'FieldType' => array('string')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_VpnConnection
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>VpnConnectionId: string</li>
  * <li>VpnConnectionState: string</li>
  * <li>CustomerGatewayConfiguration: string</li>
  * <li>Type: string</li>
  * <li>CustomerGatewayId: string</li>
  * <li>VpnGatewayId: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('VpnConnectionId' => array('FieldValue' => null, 'FieldType' => 'string'), 'VpnConnectionState' => array('FieldValue' => null, 'FieldType' => 'string'), 'CustomerGatewayConfiguration' => array('FieldValue' => null, 'FieldType' => 'string'), 'Type' => array('FieldValue' => null, 'FieldType' => 'string'), 'CustomerGatewayId' => array('FieldValue' => null, 'FieldType' => 'string'), 'VpnGatewayId' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DhcpOptions
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>DhcpOptionsId: string</li>
  * <li>Configuration: Amazon_EC2_Model_DhcpConfiguration</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('DhcpOptionsId' => array('FieldValue' => null, 'FieldType' => 'string'), 'Configuration' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_DhcpConfiguration')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DeleteSecurityGroupResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ResponseMetadata: Amazon_EC2_Model_ResponseMetadata</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_ResponseMetadata'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DetachVolumeRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>VolumeId: string</li>
  * <li>InstanceId: string</li>
  * <li>Device: string</li>
  * <li>Force: bool</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('VolumeId' => array('FieldValue' => null, 'FieldType' => 'string'), 'InstanceId' => array('FieldValue' => null, 'FieldType' => 'string'), 'Device' => array('FieldValue' => null, 'FieldType' => 'string'), 'Force' => array('FieldValue' => null, 'FieldType' => 'bool'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_CreateVpnGatewayRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Type: string</li>
  * <li>AvailabilityZone: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('Type' => array('FieldValue' => null, 'FieldType' => 'string'), 'AvailabilityZone' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_Error
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Type: string</li>
  * <li>Code: string</li>
  * <li>Message: string</li>
  * <li>Detail: Amazon_EC2_Model_Object</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('Type' => array('FieldValue' => null, 'FieldType' => 'string'), 'Code' => array('FieldValue' => null, 'FieldType' => 'string'), 'Message' => array('FieldValue' => null, 'FieldType' => 'string'), 'Detail' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_Object'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_ReleaseAddressRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>PublicIp: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('PublicIp' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeSpotDatafeedSubscriptionResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ResponseMetadata: Amazon_EC2_Model_ResponseMetadata</li>
  * <li>DescribeSpotDatafeedSubscriptionResult: Amazon_EC2_Model_DescribeSpotDatafeedSubscriptionResult</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_ResponseMetadata'), 'DescribeSpotDatafeedSubscriptionResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_DescribeSpotDatafeedSubscriptionResult'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_UnmonitorInstancesResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>InstanceMonitoring: Amazon_EC2_Model_InstanceMonitoring</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('InstanceMonitoring' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_InstanceMonitoring')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeAvailabilityZonesResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>AvailabilityZone: Amazon_EC2_Model_AvailabilityZone</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('AvailabilityZone' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_AvailabilityZone')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeReservedInstancesResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ReservedInstances: Amazon_EC2_Model_ReservedInstances</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ReservedInstances' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_ReservedInstances')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeAvailabilityZonesResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ResponseMetadata: Amazon_EC2_Model_ResponseMetadata</li>
  * <li>DescribeAvailabilityZonesResult: Amazon_EC2_Model_DescribeAvailabilityZonesResult</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_ResponseMetadata'), 'DescribeAvailabilityZonesResult' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_DescribeAvailabilityZonesResult'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_KeyPair
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>KeyName: string</li>
  * <li>KeyFingerprint: string</li>
  * <li>KeyMaterial: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('KeyName' => array('FieldValue' => null, 'FieldType' => 'string'), 'KeyFingerprint' => array('FieldValue' => null, 'FieldType' => 'string'), 'KeyMaterial' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_IpPermission
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>IpProtocol: string</li>
  * <li>FromPort: int</li>
  * <li>ToPort: int</li>
  * <li>UserIdGroupPair: Amazon_EC2_Model_UserIdGroupPair</li>
  * <li>IpRange: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('IpProtocol' => array('FieldValue' => null, 'FieldType' => 'string'), 'FromPort' => array('FieldValue' => null, 'FieldType' => 'int'), 'ToPort' => array('FieldValue' => null, 'FieldType' => 'int'), 'UserIdGroupPair' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_UserIdGroupPair')), 'IpRange' => array('FieldValue' => array(), 'FieldType' => array('string')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_AllocateAddressRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array();
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_ReservedInstances
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ReservedInstancesId: string</li>
  * <li>InstanceType: string</li>
  * <li>AvailabilityZone: string</li>
  * <li>Duration: int</li>
  * <li>UsagePrice: string</li>
  * <li>FixedPrice: string</li>
  * <li>InstanceCount: int</li>
  * <li>ProductDescription: string</li>
  * <li>PurchaseState: string</li>
  * <li>StartTime: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ReservedInstancesId' => array('FieldValue' => null, 'FieldType' => 'string'), 'InstanceType' => array('FieldValue' => null, 'FieldType' => 'string'), 'AvailabilityZone' => array('FieldValue' => null, 'FieldType' => 'string'), 'Duration' => array('FieldValue' => null, 'FieldType' => 'int'), 'UsagePrice' => array('FieldValue' => null, 'FieldType' => 'string'), 'FixedPrice' => array('FieldValue' => null, 'FieldType' => 'string'), 'InstanceCount' => array('FieldValue' => null, 'FieldType' => 'int'), 'ProductDescription' => array('FieldValue' => null, 'FieldType' => 'string'), 'PurchaseState' => array('FieldValue' => null, 'FieldType' => 'string'), 'StartTime' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeAvailabilityZonesRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ZoneName: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ZoneName' => array('FieldValue' => array(), 'FieldType' => array('string')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_VpnGateway
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>VpnGatewayId: string</li>
  * <li>VpnGatewayState: string</li>
  * <li>Type: string</li>
  * <li>AvailabilityZone: string</li>
  * <li>VpcAttachment: Amazon_EC2_Model_VpcAttachment</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('VpnGatewayId' => array('FieldValue' => null, 'FieldType' => 'string'), 'VpnGatewayState' => array('FieldValue' => null, 'FieldType' => 'string'), 'Type' => array('FieldValue' => null, 'FieldType' => 'string'), 'AvailabilityZone' => array('FieldValue' => null, 'FieldType' => 'string'), 'VpcAttachment' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_VpcAttachment')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_BundleTask
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>InstanceId: string</li>
  * <li>BundleId: string</li>
  * <li>BundleState: string</li>
  * <li>StartTime: string</li>
  * <li>UpdateTime: string</li>
  * <li>Storage: Amazon_EC2_Model_Storage</li>
  * <li>Progress: string</li>
  * <li>BundleTaskError: Amazon_EC2_Model_BundleTaskError</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('InstanceId' => array('FieldValue' => null, 'FieldType' => 'string'), 'BundleId' => array('FieldValue' => null, 'FieldType' => 'string'), 'BundleState' => array('FieldValue' => null, 'FieldType' => 'string'), 'StartTime' => array('FieldValue' => null, 'FieldType' => 'string'), 'UpdateTime' => array('FieldValue' => null, 'FieldType' => 'string'), 'Storage' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_Storage'), 'Progress' => array('FieldValue' => null, 'FieldType' => 'string'), 'BundleTaskError' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_BundleTaskError'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_InstanceBlockDeviceMapping
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>DeviceName: string</li>
  * <li>Ebs: Amazon_EC2_Model_InstanceEbsBlockDevice</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('DeviceName' => array('FieldValue' => null, 'FieldType' => 'string'), 'Ebs' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_InstanceEbsBlockDevice'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeSpotInstanceRequestsRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>SpotInstanceRequestId: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('SpotInstanceRequestId' => array('FieldValue' => array(), 'FieldType' => array('string')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_CreateCustomerGatewayResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>CustomerGateway: Amazon_EC2_Model_CustomerGateway</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('CustomerGateway' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_CustomerGateway'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_TerminateInstancesResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>TerminatingInstance: Amazon_EC2_Model_TerminatingInstance</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('TerminatingInstance' => array('FieldValue' => array(), 'FieldType' => array('Amazon_EC2_Model_TerminatingInstance')));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_BundleInstanceRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>InstanceId: string</li>
  * <li>Storage: Amazon_EC2_Model_Storage</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('InstanceId' => array('FieldValue' => null, 'FieldType' => 'string'), 'Storage' => array('FieldValue' => null, 'FieldType' => 'Amazon_EC2_Model_Storage'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DescribeImageAttributeRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ImageId: string</li>
  * <li>Attribute: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('ImageId' => array('FieldValue' => null, 'FieldType' => 'string'), 'Attribute' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_S3Storage
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Bucket: string</li>
  * <li>Prefix: string</li>
  * <li>AWSAccessKeyId: string</li>
  * <li>UploadPolicy: string</li>
  * <li>UploadPolicySignature: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('Bucket' => array('FieldValue' => null, 'FieldType' => 'string'), 'Prefix' => array('FieldValue' => null, 'FieldType' => 'string'), 'AWSAccessKeyId' => array('FieldValue' => null, 'FieldType' => 'string'), 'UploadPolicy' => array('FieldValue' => null, 'FieldType' => 'string'), 'UploadPolicySignature' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_DetachVpnGatewayRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>VpnGatewayId: string</li>
  * <li>VpcId: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('VpnGatewayId' => array('FieldValue' => null, 'FieldType' => 'string'), 'VpcId' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new Amazon_EC2_Model_CreateImageRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>InstanceId: string</li>
  * <li>Name: string</li>
  * <li>Description: string</li>
  * <li>NoReboot: bool</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->_fields = array('InstanceId' => array('FieldValue' => null, 'FieldType' => 'string'), 'Name' => array('FieldValue' => null, 'FieldType' => 'string'), 'Description' => array('FieldValue' => null, 'FieldType' => 'string'), 'NoReboot' => array('FieldValue' => null, 'FieldType' => 'bool'));
     parent::__construct($data);
 }