/** * Create Vpc Action Sample * Creates a VPC with the CIDR block you specify. The smallest VPC you can create * uses a /28 netmask (16 IP addresses), and the largest uses a /18 netmask * (16,384 IP addresses). To help you decide how big to make your VPC, go * to the topic about creating VPCs in the Amazon Virtual Private Cloud * Developer Guide. * By default, each instance you launch in the VPC has the default DHCP options * (the standard EC2 host name, no domain name, no DNS server, no NTP server, and * no NetBIOS server or node type). * AWS might delete any VPC that you create with this operation if you leave it inactive * for an extended period of time (inactive means that there are no running Amazon EC2 * instances in the VPC). * @param Amazon_EC2_Interface $service instance of Amazon_EC2_Interface * @param mixed $request Amazon_EC2_Model_CreateVpc or array of parameters */ function invokeCreateVpc(Amazon_EC2_Interface $service, $request) { try { $response = $service->createVpc($request); echo "Service Response\n"; echo "=============================================================================\n"; echo " CreateVpcResponse\n"; if ($response->isSetResponseMetadata()) { echo " ResponseMetadata\n"; $responseMetadata = $response->getResponseMetadata(); if ($responseMetadata->isSetRequestId()) { echo " RequestId\n"; echo " " . $responseMetadata->getRequestId() . "\n"; } } if ($response->isSetCreateVpcResult()) { echo " CreateVpcResult\n"; $createVpcResult = $response->getCreateVpcResult(); if ($createVpcResult->isSetVpc()) { echo " Vpc\n"; $vpc = $createVpcResult->getVpc(); if ($vpc->isSetVpcId()) { echo " VpcId\n"; echo " " . $vpc->getVpcId() . "\n"; } if ($vpc->isSetVpcState()) { echo " VpcState\n"; echo " " . $vpc->getVpcState() . "\n"; } if ($vpc->isSetCidrBlock()) { echo " CidrBlock\n"; echo " " . $vpc->getCidrBlock() . "\n"; } if ($vpc->isSetDhcpOptionsId()) { echo " DhcpOptionsId\n"; echo " " . $vpc->getDhcpOptionsId() . "\n"; } } } } catch (Amazon_EC2_Exception $ex) { echo "Caught Exception: " . $ex->getMessage() . "\n"; echo "Response Status Code: " . $ex->getStatusCode() . "\n"; echo "Error Code: " . $ex->getErrorCode() . "\n"; echo "Error Type: " . $ex->getErrorType() . "\n"; echo "Request ID: " . $ex->getRequestId() . "\n"; echo "XML: " . $ex->getXML() . "\n"; } }