# File lib/fog/compute/terremark/requests/instantiate_vapp_template.rb, line 21
        def instantiate_vapp_template(name, vapp_template, options = {})
          raise ArgumentError.new("Name must be fewer than 15 characters") unless name.length < 15
          raise ArgumentError.new("vApp Image Template is a compulsary parameter") unless vapp_template
          options["ssh_key_fingerprint"] ||= default_ssh_key["FingerPrint"]
          options["cpus"] ||= 1
          options["memory"] ||= 512
          options["network_id"] ||= default_network_id
          options["vdc_id"] ||= default_vdc_id
          options["primary_dns"] ||= "208.67.222.222"
          options["secondary_dns"] ||= "208.67.220.220"

          data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<InstantiateVAppTemplateParams name=\"\#{name}\" xmlns=\"http://www.vmware.com/vcloud/v0.8\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.vmware.com/vcloud/v0.8 http://services.vcloudexpress.terremark.com/api/v0.8/ns/vcloud.xsd\">\n<VAppTemplate href=\"\#{@scheme}://\#{@host}/\#{@path}/vAppTemplate/\#{vapp_template}\" />\n<InstantiationParams xmlns:vmw=\"http://www.vmware.com/schema/ovf\">\n<ProductSection xmlns:ovf=\"http://schemas.dmtf.org/ovf/envelope/1\" xmlns:q1=\"http://www.vmware.com/vcloud/v0.8\">\n<Property xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\" ovf:key=\"primaryDNS\" ovf:value=\"\#{options['primary_dns']}\" />\n<Property xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\" ovf:key=\"secondaryDNS\" ovf:value=\"\#{options['secondary_dns']}\" />\n<Property xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\" ovf:key=\"sshKeyFingerprint\" ovf:value=\"\#{options['ssh_key_fingerprint']}\" />\n</ProductSection>\n<VirtualHardwareSection xmlns:q1=\"http://www.vmware.com/vcloud/v0.8\">\n<Item xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\">\n<InstanceID xmlns=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\">1</InstanceID>\n<ResourceType xmlns=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\">3</ResourceType>\n<VirtualQuantity xmlns=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\">\#{options['cpus']}</VirtualQuantity>\n</Item>\n<Item xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\">\n<InstanceID xmlns=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\">2</InstanceID>\n<ResourceType xmlns=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\">4</ResourceType>\n<VirtualQuantity xmlns=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\">\#{options['memory']}</VirtualQuantity>\n</Item>\n</VirtualHardwareSection>\n<NetworkConfigSection>\n<NetworkConfig>\n<NetworkAssociation href=\"\#{@scheme}://\#{@host}/\#{@path}/network/\#{options['network_id']}\"/>\n</NetworkConfig>\n</NetworkConfigSection>\n</InstantiationParams>\n</InstantiateVAppTemplateParams>\n"

          request(
              :body => data,
              :expects => 200,
              :headers => { "Content-Type" => "application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml" },
              :method => "POST",
              :parser => Fog::Parsers::Terremark::InstantiateVappTemplate.new,
              :path => "vdc/#{options['vdc_id']}/action/instantiatevAppTemplate"
          )
        end