def firewall_order_template
      client = server.softlayer_client
      additional_products_package = SoftLayer::ProductPackage.additional_products_package(client)

      template = {
          'complexType' => 'SoftLayer_Container_Product_Order_Network_Protection_Firewall',
          'quantity' => 1,
          'packageId' => additional_products_package.id
        }

      if @server.service.service_name == "SoftLayer_Virtual_Guest"
        template['virtualGuests'] = [{'id' => @server.id}]
      else
        template['hardware'] = [{'id' => @server.id}]
      end

      expected_description = "#{@server.firewall_port_speed}Mbps Hardware Firewall"
      firewall_items = additional_products_package.items_with_description(expected_description)

      raise "Could not find a price item matching the description '#{expected_description}'" if firewall_items.empty?

      firewall_item = firewall_items[0]

      template['prices'] = [{ 'id' => firewall_item.price_id }] if firewall_item.respond_to?(:price_id)

      template
    end
def firewall_order_template
      client = server.softlayer_client
      additional_products_package = SoftLayer::ProductPackage.additional_products_package(client)

      template = {
          'complexType' => 'SoftLayer_Container_Product_Order_Network_Protection_Firewall',
          'quantity' => 1,
          'packageId' => additional_products_package.id
        }

      if @server.service.service_name == "SoftLayer_Virtual_Guest"
        template['virtualGuests'] = [{'id' => @server.id}]
      else
        template['hardware'] = [{'id' => @server.id}]
      end

      expected_description = "#{@server.firewall_port_speed}Mbps Hardware Firewall"
      firewall_items = additional_products_package.items_with_description(expected_description)

      raise "Could not find a price item matching the description '#{expected_description}'" if firewall_items.empty?

      firewall_item = firewall_items[0]

      template['prices'] = [{ 'id' => firewall_item.price_id }] if firewall_item.respond_to?(:price_id)

      template
    end
Returns a hash of the creation options formatted to be sent *to*
 the SoftLayer API for either verification or completion