fog 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/fog.gemspec +9 -2
 - data/lib/fog.rb +1 -1
 - data/lib/fog/vcloud.rb +6 -6
 - data/lib/fog/vcloud/terremark/ecloud.rb +7 -0
 - data/lib/fog/vcloud/terremark/ecloud/models/firewall_acl.rb +28 -0
 - data/lib/fog/vcloud/terremark/ecloud/models/firewall_acls.rb +31 -0
 - data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +1 -1
 - data/lib/fog/vcloud/terremark/ecloud/models/server.rb +4 -8
 - data/lib/fog/vcloud/terremark/ecloud/models/servers.rb +11 -0
 - data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +26 -9
 - data/lib/fog/vcloud/terremark/ecloud/requests/clone_vapp.rb +50 -0
 - data/lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acl.rb +18 -0
 - data/lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acls.rb +18 -0
 - data/lib/fog/vcloud/terremark/ecloud/requests/get_vapp_template.rb +18 -0
 - data/lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb +100 -0
 - metadata +10 -3
 
    
        data/fog.gemspec
    CHANGED
    
    | 
         @@ -7,8 +7,8 @@ Gem::Specification.new do |s| 
     | 
|
| 
       7 
7 
     | 
    
         
             
              ## If your rubyforge_project name is different, then edit it and comment out
         
     | 
| 
       8 
8 
     | 
    
         
             
              ## the sub! line in the Rakefile
         
     | 
| 
       9 
9 
     | 
    
         
             
              s.name              = 'fog'
         
     | 
| 
       10 
     | 
    
         
            -
              s.version           = '0.2. 
     | 
| 
       11 
     | 
    
         
            -
              s.date              = '2010- 
     | 
| 
      
 10 
     | 
    
         
            +
              s.version           = '0.2.9'
         
     | 
| 
      
 11 
     | 
    
         
            +
              s.date              = '2010-07-01'
         
     | 
| 
       12 
12 
     | 
    
         
             
              s.rubyforge_project = 'fog'
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
              ## Make sure your summary is short. The description may be as long
         
     | 
| 
         @@ -401,6 +401,8 @@ Gem::Specification.new do |s| 
     | 
|
| 
       401 
401 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud.rb
         
     | 
| 
       402 
402 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/models/catalog.rb
         
     | 
| 
       403 
403 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/models/catalog_item.rb
         
     | 
| 
      
 404 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/models/firewall_acl.rb
         
     | 
| 
      
 405 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/models/firewall_acls.rb
         
     | 
| 
       404 
406 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/models/internet_service.rb
         
     | 
| 
       405 
407 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/models/internet_services.rb
         
     | 
| 
       406 
408 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/models/ip.rb
         
     | 
| 
         @@ -419,6 +421,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       419 
421 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/models/vdcs.rb
         
     | 
| 
       420 
422 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb
         
     | 
| 
       421 
423 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/add_node.rb
         
     | 
| 
      
 424 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/requests/clone_vapp.rb
         
     | 
| 
       422 
425 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/configure_internet_service.rb
         
     | 
| 
       423 
426 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb
         
     | 
| 
       424 
427 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/configure_network_ip.rb
         
     | 
| 
         @@ -430,6 +433,8 @@ Gem::Specification.new do |s| 
     | 
|
| 
       430 
433 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_catalog.rb
         
     | 
| 
       431 
434 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_catalog_item.rb
         
     | 
| 
       432 
435 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_customization_options.rb
         
     | 
| 
      
 436 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acl.rb
         
     | 
| 
      
 437 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acls.rb
         
     | 
| 
       433 
438 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb
         
     | 
| 
       434 
439 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
         
     | 
| 
       435 
440 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_network_extensions.rb
         
     | 
| 
         @@ -442,7 +447,9 @@ Gem::Specification.new do |s| 
     | 
|
| 
       442 
447 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_task.rb
         
     | 
| 
       443 
448 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_task_list.rb
         
     | 
| 
       444 
449 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb
         
     | 
| 
      
 450 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/requests/get_vapp_template.rb
         
     | 
| 
       445 
451 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb
         
     | 
| 
      
 452 
     | 
    
         
            +
                lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb
         
     | 
| 
       446 
453 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/power_off.rb
         
     | 
| 
       447 
454 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/power_on.rb
         
     | 
| 
       448 
455 
     | 
    
         
             
                lib/fog/vcloud/terremark/ecloud/requests/power_reset.rb
         
     | 
    
        data/lib/fog.rb
    CHANGED
    
    
    
        data/lib/fog/vcloud.rb
    CHANGED
    
    | 
         @@ -73,6 +73,12 @@ module Fog 
     | 
|
| 
       73 
73 
     | 
    
         
             
                    end
         
     | 
| 
       74 
74 
     | 
    
         
             
                  end
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
      
 76 
     | 
    
         
            +
                  def xmlns
         
     | 
| 
      
 77 
     | 
    
         
            +
                    { "xmlns" => "http://www.vmware.com/vcloud/v0.8",
         
     | 
| 
      
 78 
     | 
    
         
            +
                      "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
         
     | 
| 
      
 79 
     | 
    
         
            +
                      "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema" }
         
     | 
| 
      
 80 
     | 
    
         
            +
                  end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
       76 
82 
     | 
    
         
             
                  def reload
         
     | 
| 
       77 
83 
     | 
    
         
             
                    @connections.each_value { |k,v| v.reset if v }
         
     | 
| 
       78 
84 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -343,12 +349,6 @@ module Fog 
     | 
|
| 
       343 
349 
     | 
    
         
             
                    @login_uri = get_login_uri
         
     | 
| 
       344 
350 
     | 
    
         
             
                  end
         
     | 
| 
       345 
351 
     | 
    
         | 
| 
       346 
     | 
    
         
            -
                  def xmlns
         
     | 
| 
       347 
     | 
    
         
            -
                    { "xmlns" => "http://www.vmware.com/vcloud/v0.8",
         
     | 
| 
       348 
     | 
    
         
            -
                      "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
         
     | 
| 
       349 
     | 
    
         
            -
                      "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema" }
         
     | 
| 
       350 
     | 
    
         
            -
                  end
         
     | 
| 
       351 
     | 
    
         
            -
             
     | 
| 
       352 
352 
     | 
    
         
             
                  def mock_it(status, mock_data, mock_headers = {})
         
     | 
| 
       353 
353 
     | 
    
         
             
                    response = Excon::Response.new
         
     | 
| 
       354 
354 
     | 
    
         | 
| 
         @@ -7,6 +7,8 @@ module Fog 
     | 
|
| 
       7 
7 
     | 
    
         
             
                    model_path 'fog/vcloud/terremark/ecloud/models'
         
     | 
| 
       8 
8 
     | 
    
         
             
                    model :catalog_item
         
     | 
| 
       9 
9 
     | 
    
         
             
                    model :catalog
         
     | 
| 
      
 10 
     | 
    
         
            +
                    model :firewall_acl
         
     | 
| 
      
 11 
     | 
    
         
            +
                    model :firewall_acls
         
     | 
| 
       10 
12 
     | 
    
         
             
                    model :internet_service
         
     | 
| 
       11 
13 
     | 
    
         
             
                    model :internet_services
         
     | 
| 
       12 
14 
     | 
    
         
             
                    model :ip
         
     | 
| 
         @@ -27,6 +29,7 @@ module Fog 
     | 
|
| 
       27 
29 
     | 
    
         
             
                    request_path 'fog/vcloud/terremark/ecloud/requests'
         
     | 
| 
       28 
30 
     | 
    
         
             
                    request :add_internet_service
         
     | 
| 
       29 
31 
     | 
    
         
             
                    request :add_node
         
     | 
| 
      
 32 
     | 
    
         
            +
                    request :clone_vapp
         
     | 
| 
       30 
33 
     | 
    
         
             
                    request :configure_internet_service
         
     | 
| 
       31 
34 
     | 
    
         
             
                    request :configure_network
         
     | 
| 
       32 
35 
     | 
    
         
             
                    request :configure_network_ip
         
     | 
| 
         @@ -38,6 +41,8 @@ module Fog 
     | 
|
| 
       38 
41 
     | 
    
         
             
                    request :get_catalog
         
     | 
| 
       39 
42 
     | 
    
         
             
                    request :get_catalog_item
         
     | 
| 
       40 
43 
     | 
    
         
             
                    request :get_customization_options
         
     | 
| 
      
 44 
     | 
    
         
            +
                    request :get_firewall_acls
         
     | 
| 
      
 45 
     | 
    
         
            +
                    request :get_firewall_acl
         
     | 
| 
       41 
46 
     | 
    
         
             
                    request :get_internet_services
         
     | 
| 
       42 
47 
     | 
    
         
             
                    request :get_network
         
     | 
| 
       43 
48 
     | 
    
         
             
                    request :get_network_ip
         
     | 
| 
         @@ -50,7 +55,9 @@ module Fog 
     | 
|
| 
       50 
55 
     | 
    
         
             
                    request :get_task
         
     | 
| 
       51 
56 
     | 
    
         
             
                    request :get_task_list
         
     | 
| 
       52 
57 
     | 
    
         
             
                    request :get_vapp
         
     | 
| 
      
 58 
     | 
    
         
            +
                    request :get_vapp_template
         
     | 
| 
       53 
59 
     | 
    
         
             
                    request :get_vdc
         
     | 
| 
      
 60 
     | 
    
         
            +
                    request :instantiate_vapp_template
         
     | 
| 
       54 
61 
     | 
    
         
             
                    request :power_off
         
     | 
| 
       55 
62 
     | 
    
         
             
                    request :power_on
         
     | 
| 
       56 
63 
     | 
    
         
             
                    request :power_reset
         
     | 
| 
         @@ -0,0 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
                    class FirewallAcl < Fog::Vcloud::Model
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                      identity :href, :Href
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                      ignore_attributes :xmlns, :xmlns_i
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                      attribute :name, :aliases => :Name
         
     | 
| 
      
 12 
     | 
    
         
            +
                      attribute :id, :aliases => :Id
         
     | 
| 
      
 13 
     | 
    
         
            +
                      attribute :protocol, :aliases => :Protocol
         
     | 
| 
      
 14 
     | 
    
         
            +
                      attribute :source, :aliases => :Source
         
     | 
| 
      
 15 
     | 
    
         
            +
                      attribute :destination, :aliases => :Destination
         
     | 
| 
      
 16 
     | 
    
         
            +
                      attribute :permission, :aliases => :Permission
         
     | 
| 
      
 17 
     | 
    
         
            +
                      attribute :port_start, :aliases => :PortStart
         
     | 
| 
      
 18 
     | 
    
         
            +
                      attribute :port_end, :aliases => :PortEnd
         
     | 
| 
      
 19 
     | 
    
         
            +
                      attribute :port_type, :aliases => :PortType
         
     | 
| 
      
 20 
     | 
    
         
            +
                      attribute :type, :aliases => :Type
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                    end
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
            end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    class FirewallAcls < Fog::Vcloud::Collection
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                      model Fog::Vcloud::Terremark::Ecloud::FirewallAcl
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                      attribute :href, :aliases => :Href
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                      def all
         
     | 
| 
      
 13 
     | 
    
         
            +
                        if data = connection.get_firewall_acls(href).body[:FirewallAcl]
         
     | 
| 
      
 14 
     | 
    
         
            +
                          data = [ data ] if data.is_a?(Hash)
         
     | 
| 
      
 15 
     | 
    
         
            +
                          load(data)
         
     | 
| 
      
 16 
     | 
    
         
            +
                        end
         
     | 
| 
      
 17 
     | 
    
         
            +
                      end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                      def get(uri)
         
     | 
| 
      
 20 
     | 
    
         
            +
                        if data = connection.get_firewall_acl(uri).body
         
     | 
| 
      
 21 
     | 
    
         
            +
                          new(data)
         
     | 
| 
      
 22 
     | 
    
         
            +
                        end
         
     | 
| 
      
 23 
     | 
    
         
            +
                      rescue Fog::Errors::NotFound
         
     | 
| 
      
 24 
     | 
    
         
            +
                        nil
         
     | 
| 
      
 25 
     | 
    
         
            +
                      end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                    end
         
     | 
| 
      
 28 
     | 
    
         
            +
                  end
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -21,7 +21,7 @@ module Fog 
     | 
|
| 
       21 
21 
     | 
    
         
             
                        end
         
     | 
| 
       22 
22 
     | 
    
         
             
                      end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
                      # Optimize later, no need to get_internet_services again
         
     | 
| 
      
 24 
     | 
    
         
            +
                      # Optimize later, no need to get_internet_services again?
         
     | 
| 
       25 
25 
     | 
    
         
             
                      def get(uri)
         
     | 
| 
       26 
26 
     | 
    
         
             
                        internet_services = connection.get_internet_services(href).body[:InternetService]
         
     | 
| 
       27 
27 
     | 
    
         
             
                        internet_services = [ internet_services ] if internet_services.is_a?(Hash)
         
     | 
| 
         @@ -91,7 +91,7 @@ module Fog 
     | 
|
| 
       91 
91 
     | 
    
         | 
| 
       92 
92 
     | 
    
         
             
                      def memory
         
     | 
| 
       93 
93 
     | 
    
         
             
                        { :amount => memory_mess[:VirtualQuantity].to_i,
         
     | 
| 
       94 
     | 
    
         
            -
                          :units => memory_mess[: 
     | 
| 
      
 94 
     | 
    
         
            +
                          :units => memory_mess[:AllocationUnits] }
         
     | 
| 
       95 
95 
     | 
    
         
             
                      end
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
97 
     | 
    
         
             
                      def memory=(amount)
         
     | 
| 
         @@ -132,17 +132,14 @@ module Fog 
     | 
|
| 
       132 
132 
     | 
    
         
             
                      end
         
     | 
| 
       133 
133 
     | 
    
         | 
| 
       134 
134 
     | 
    
         
             
                      def reload
         
     | 
| 
       135 
     | 
    
         
            -
                        super
         
     | 
| 
       136 
135 
     | 
    
         
             
                        reset_tracking
         
     | 
| 
      
 136 
     | 
    
         
            +
                        super
         
     | 
| 
       137 
137 
     | 
    
         
             
                      end
         
     | 
| 
       138 
138 
     | 
    
         | 
| 
       139 
139 
     | 
    
         
             
                      def save
         
     | 
| 
       140 
140 
     | 
    
         
             
                        if new_record?
         
     | 
| 
       141 
     | 
    
         
            -
                           
     | 
| 
       142 
     | 
    
         
            -
                           
     | 
| 
       143 
     | 
    
         
            -
                          return false
         
     | 
| 
       144 
     | 
    
         
            -
                          #result = connection.instantiate_vapp_template( stuff )
         
     | 
| 
       145 
     | 
    
         
            -
                          #merge_attributes(result.body)
         
     | 
| 
      
 141 
     | 
    
         
            +
                          #Lame ...
         
     | 
| 
      
 142 
     | 
    
         
            +
                          raise RuntimeError, "Should not be here"
         
     | 
| 
       146 
143 
     | 
    
         
             
                        else
         
     | 
| 
       147 
144 
     | 
    
         
             
                          if on?
         
     | 
| 
       148 
145 
     | 
    
         
             
                            if @changed
         
     | 
| 
         @@ -159,7 +156,6 @@ module Fog 
     | 
|
| 
       159 
156 
     | 
    
         
             
                      def reset_tracking
         
     | 
| 
       160 
157 
     | 
    
         
             
                        @disk_change = false
         
     | 
| 
       161 
158 
     | 
    
         
             
                        @changed = false
         
     | 
| 
       162 
     | 
    
         
            -
                        true
         
     | 
| 
       163 
159 
     | 
    
         
             
                      end
         
     | 
| 
       164 
160 
     | 
    
         | 
| 
       165 
161 
     | 
    
         
             
                      def _compose_vapp_data
         
     | 
| 
         @@ -5,6 +5,8 @@ module Fog 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
                    class Servers < Fog::Vcloud::Collection
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
      
 8 
     | 
    
         
            +
                      undef_method :create
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       8 
10 
     | 
    
         
             
                      model Fog::Vcloud::Terremark::Ecloud::Server
         
     | 
| 
       9 
11 
     | 
    
         | 
| 
       10 
12 
     | 
    
         
             
                      attribute :href, :aliases => :Href
         
     | 
| 
         @@ -21,6 +23,15 @@ module Fog 
     | 
|
| 
       21 
23 
     | 
    
         
             
                        nil
         
     | 
| 
       22 
24 
     | 
    
         
             
                      end
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
      
 26 
     | 
    
         
            +
                      def create( catalog_item_uri, options )
         
     | 
| 
      
 27 
     | 
    
         
            +
                        options[:vdc_uri] = href
         
     | 
| 
      
 28 
     | 
    
         
            +
                        options[:cpus] ||= 1
         
     | 
| 
      
 29 
     | 
    
         
            +
                        options[:memory] ||= 512
         
     | 
| 
      
 30 
     | 
    
         
            +
                        data = connection.instantiate_vapp_template( catalog_item_uri, options ).body
         
     | 
| 
      
 31 
     | 
    
         
            +
                        object = new(data)
         
     | 
| 
      
 32 
     | 
    
         
            +
                        object
         
     | 
| 
      
 33 
     | 
    
         
            +
                      end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       24 
35 
     | 
    
         
             
                      private
         
     | 
| 
       25 
36 
     | 
    
         | 
| 
       26 
37 
     | 
    
         
             
                      def _resource_entities
         
     | 
| 
         @@ -20,15 +20,11 @@ module Fog 
     | 
|
| 
       20 
20 
     | 
    
         
             
                      attribute :instantiated_vm_quota
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                      def public_ips
         
     | 
| 
       23 
     | 
    
         
            -
                         
     | 
| 
       24 
     | 
    
         
            -
                        @public_ips ||= Fog::Vcloud::Terremark::Ecloud::PublicIps.new( :connection => connection,
         
     | 
| 
       25 
     | 
    
         
            -
                                                                                       :href => other_links.detect { |link| link[:type] == "application/vnd.tmrk.ecloud.publicIpsList+xml" }[:href] )
         
     | 
| 
      
 23 
     | 
    
         
            +
                        @public_ips ||= collection_based_on_type("application/vnd.tmrk.ecloud.publicIpsList+xml")
         
     | 
| 
       26 
24 
     | 
    
         
             
                      end
         
     | 
| 
       27 
25 
     | 
    
         | 
| 
       28 
26 
     | 
    
         
             
                      def internet_services
         
     | 
| 
       29 
     | 
    
         
            -
                        @internet_services ||=  
     | 
| 
       30 
     | 
    
         
            -
                          new( :connection => connection,
         
     | 
| 
       31 
     | 
    
         
            -
                               :href => href.to_s.gsub('vdc','extensions/vdc') + "/internetServices" )
         
     | 
| 
      
 27 
     | 
    
         
            +
                        @internet_services ||= collection_based_on_type("application/vnd.tmrk.ecloud.internetServicesList+xml")
         
     | 
| 
       32 
28 
     | 
    
         
             
                      end
         
     | 
| 
       33 
29 
     | 
    
         | 
| 
       34 
30 
     | 
    
         
             
                      def networks
         
     | 
| 
         @@ -50,11 +46,32 @@ module Fog 
     | 
|
| 
       50 
46 
     | 
    
         
             
                      end
         
     | 
| 
       51 
47 
     | 
    
         | 
| 
       52 
48 
     | 
    
         
             
                      def catalog
         
     | 
| 
       53 
     | 
    
         
            -
                        @catalog ||=  
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
      
 49 
     | 
    
         
            +
                        @catalog ||= collection_based_on_type("application/vnd.vmware.vcloud.catalog+xml")
         
     | 
| 
      
 50 
     | 
    
         
            +
                      end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                      def firewall_acls
         
     | 
| 
      
 53 
     | 
    
         
            +
                        @firewall_acls ||= collection_based_on_type("application/vnd.tmrk.ecloud.firewallAclsList+xml")
         
     | 
| 
       56 
54 
     | 
    
         
             
                      end
         
     | 
| 
       57 
55 
     | 
    
         | 
| 
      
 56 
     | 
    
         
            +
                      private
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                      def collection_based_on_type(type)
         
     | 
| 
      
 59 
     | 
    
         
            +
                        load_unless_loaded!
         
     | 
| 
      
 60 
     | 
    
         
            +
                        if link = other_links.detect { |link| link[:type] == type }
         
     | 
| 
      
 61 
     | 
    
         
            +
                          case type
         
     | 
| 
      
 62 
     | 
    
         
            +
                          when "application/vnd.tmrk.ecloud.publicIpsList+xml"
         
     | 
| 
      
 63 
     | 
    
         
            +
                            Fog::Vcloud::Terremark::Ecloud::PublicIps
         
     | 
| 
      
 64 
     | 
    
         
            +
                          when "application/vnd.tmrk.ecloud.internetServicesList+xml"
         
     | 
| 
      
 65 
     | 
    
         
            +
                            Fog::Vcloud::Terremark::Ecloud::InternetServices
         
     | 
| 
      
 66 
     | 
    
         
            +
                          when "application/vnd.vmware.vcloud.catalog+xml"
         
     | 
| 
      
 67 
     | 
    
         
            +
                            Fog::Vcloud::Terremark::Ecloud::Catalog
         
     | 
| 
      
 68 
     | 
    
         
            +
                          when "application/vnd.tmrk.ecloud.firewallAclsList+xml"
         
     | 
| 
      
 69 
     | 
    
         
            +
                            Fog::Vcloud::Terremark::Ecloud::FirewallAcls
         
     | 
| 
      
 70 
     | 
    
         
            +
                          end.new( :connection => connection, :href => link[:href] )
         
     | 
| 
      
 71 
     | 
    
         
            +
                        else
         
     | 
| 
      
 72 
     | 
    
         
            +
                          [ ]
         
     | 
| 
      
 73 
     | 
    
         
            +
                        end
         
     | 
| 
      
 74 
     | 
    
         
            +
                      end
         
     | 
| 
       58 
75 
     | 
    
         
             
                    end
         
     | 
| 
       59 
76 
     | 
    
         
             
                  end
         
     | 
| 
       60 
77 
     | 
    
         
             
                end
         
     | 
| 
         @@ -0,0 +1,50 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    module Real
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                      def validate_clone_vapp_options(options)
         
     | 
| 
      
 9 
     | 
    
         
            +
                        valid_opts = [:name, :poweron]
         
     | 
| 
      
 10 
     | 
    
         
            +
                        unless valid_opts.all? { |opt| options.keys.include?(opt) }
         
     | 
| 
      
 11 
     | 
    
         
            +
                          raise ArgumentError.new("Required data missing: #{(valid_opts - options.keys).map(&:inspect).join(", ")}")
         
     | 
| 
      
 12 
     | 
    
         
            +
                        end
         
     | 
| 
      
 13 
     | 
    
         
            +
                      end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                      def generate_clone_vapp_request(uri, options)
         
     | 
| 
      
 16 
     | 
    
         
            +
                        xml = Builder::XmlMarkup.new
         
     | 
| 
      
 17 
     | 
    
         
            +
                        xml.CloneVAppParams(xmlns.merge!(:name => options[:name], :deploy => "true", :powerOn => options[:poweron])) {
         
     | 
| 
      
 18 
     | 
    
         
            +
                          xml.VApp( :href => uri, :type => "application/vnd.vmware.vcloud.vApp+xml",
         
     | 
| 
      
 19 
     | 
    
         
            +
                                    :xmlns => "http://www.vmware.com/vcloud/v0.8")
         
     | 
| 
      
 20 
     | 
    
         
            +
                        }
         
     | 
| 
      
 21 
     | 
    
         
            +
                      end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                      def clone_vapp(vdc_uri, vapp_uri, options = {})
         
     | 
| 
      
 24 
     | 
    
         
            +
                        unless options.has_key?(:poweron)
         
     | 
| 
      
 25 
     | 
    
         
            +
                          options[:poweron] = "false"
         
     | 
| 
      
 26 
     | 
    
         
            +
                        end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                        validate_clone_vapp_options(options)
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                        request(
         
     | 
| 
      
 31 
     | 
    
         
            +
                          :body     => generate_clone_vapp_request(vapp_uri, options),
         
     | 
| 
      
 32 
     | 
    
         
            +
                          :expects  => 202,
         
     | 
| 
      
 33 
     | 
    
         
            +
                          :headers  => {'Content-Type' => 'application/vnd.vmware.vcloud.cloneVAppParams+xml'},
         
     | 
| 
      
 34 
     | 
    
         
            +
                          :method   => 'POST',
         
     | 
| 
      
 35 
     | 
    
         
            +
                          :uri      => vdc_uri + '/action/clonevapp',
         
     | 
| 
      
 36 
     | 
    
         
            +
                          :parse    => true
         
     | 
| 
      
 37 
     | 
    
         
            +
                        )
         
     | 
| 
      
 38 
     | 
    
         
            +
                      end
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                    module Mock
         
     | 
| 
      
 42 
     | 
    
         
            +
                      def clone_vapp(vdc_uri, vapp_uri, customization_data)
         
     | 
| 
      
 43 
     | 
    
         
            +
                        validate_customization_data(customization_data)
         
     | 
| 
      
 44 
     | 
    
         
            +
                        Fog::Mock.not_implemented
         
     | 
| 
      
 45 
     | 
    
         
            +
                      end
         
     | 
| 
      
 46 
     | 
    
         
            +
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
                  end
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
              end
         
     | 
| 
      
 50 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    module Real
         
     | 
| 
      
 7 
     | 
    
         
            +
                      basic_request :get_firewall_acl
         
     | 
| 
      
 8 
     | 
    
         
            +
                    end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    module Mock
         
     | 
| 
      
 11 
     | 
    
         
            +
                      def get_firewall_acl(firewall_acl_uri)
         
     | 
| 
      
 12 
     | 
    
         
            +
                        Fog::Mock.not_implemented
         
     | 
| 
      
 13 
     | 
    
         
            +
                      end
         
     | 
| 
      
 14 
     | 
    
         
            +
                    end
         
     | 
| 
      
 15 
     | 
    
         
            +
                  end
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    module Real
         
     | 
| 
      
 7 
     | 
    
         
            +
                      basic_request :get_firewall_acls
         
     | 
| 
      
 8 
     | 
    
         
            +
                    end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    module Mock
         
     | 
| 
      
 11 
     | 
    
         
            +
                      def get_firewall_acls(firewall_acls_uri)
         
     | 
| 
      
 12 
     | 
    
         
            +
                        Fog::Mock.not_implemented
         
     | 
| 
      
 13 
     | 
    
         
            +
                      end
         
     | 
| 
      
 14 
     | 
    
         
            +
                    end
         
     | 
| 
      
 15 
     | 
    
         
            +
                  end
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    module Real
         
     | 
| 
      
 7 
     | 
    
         
            +
                      basic_request :get_vapp_template
         
     | 
| 
      
 8 
     | 
    
         
            +
                    end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                    module Mock
         
     | 
| 
      
 11 
     | 
    
         
            +
                      def get_vapp_template(templace_uri)
         
     | 
| 
      
 12 
     | 
    
         
            +
                        Fog::Mock.not_implemented
         
     | 
| 
      
 13 
     | 
    
         
            +
                      end
         
     | 
| 
      
 14 
     | 
    
         
            +
                    end
         
     | 
| 
      
 15 
     | 
    
         
            +
                  end
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,100 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Fog
         
     | 
| 
      
 2 
     | 
    
         
            +
              module Vcloud
         
     | 
| 
      
 3 
     | 
    
         
            +
                module Terremark
         
     | 
| 
      
 4 
     | 
    
         
            +
                  module Ecloud
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    module Real
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                      def validate_instantiate_vapp_template_options(catalog_item_uri, options)
         
     | 
| 
      
 9 
     | 
    
         
            +
                        valid_opts = [:name, :vdc_uri, :network_uri, :cpus, :memory, :row, :group]
         
     | 
| 
      
 10 
     | 
    
         
            +
                        unless valid_opts.all? { |opt| options.keys.include?(opt) }
         
     | 
| 
      
 11 
     | 
    
         
            +
                          raise ArgumentError.new("Required data missing: #{(valid_opts - options.keys).map(&:inspect).join(", ")}")
         
     | 
| 
      
 12 
     | 
    
         
            +
                        end
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                        # Figure out the template_uri
         
     | 
| 
      
 15 
     | 
    
         
            +
                        catalog_item = get_catalog_item( catalog_item_uri ).body
         
     | 
| 
      
 16 
     | 
    
         
            +
                        catalog_item[:Entity] = [ catalog_item[:Entity] ] if catalog_item[:Entity].is_a?(Hash)
         
     | 
| 
      
 17 
     | 
    
         
            +
                        catalog_item[:Link] = [ catalog_item[:Link] ] if catalog_item[:Link].is_a?(Hash)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                        options[:template_uri] = begin
         
     | 
| 
      
 20 
     | 
    
         
            +
                           catalog_item[:Entity].detect { |entity| entity[:type] == "application/vnd.vmware.vcloud.vAppTemplate+xml" }[:href]
         
     | 
| 
      
 21 
     | 
    
         
            +
                        rescue
         
     | 
| 
      
 22 
     | 
    
         
            +
                          raise RuntimeError.new("Unable to locate template uri for #{catalog_item_uri}")
         
     | 
| 
      
 23 
     | 
    
         
            +
                        end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                        customization_options = begin
         
     | 
| 
      
 26 
     | 
    
         
            +
                            customization_href = catalog_item[:Link].detect { |link| link[:type] == "application/vnd.tmrk.ecloud.catalogItemCustomizationParameters+xml" }[:href]
         
     | 
| 
      
 27 
     | 
    
         
            +
                            get_customization_options( customization_href ).body
         
     | 
| 
      
 28 
     | 
    
         
            +
                        rescue
         
     | 
| 
      
 29 
     | 
    
         
            +
                          raise RuntimeError.new("Unable to get customization options for #{catalog_item_uri}")
         
     | 
| 
      
 30 
     | 
    
         
            +
                        end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                        # Check to see if we can set the password
         
     | 
| 
      
 33 
     | 
    
         
            +
                        if options[:password] and customization_options[:CustomizePassword] == "false"
         
     | 
| 
      
 34 
     | 
    
         
            +
                          raise ArgumentError.new("This catalog item (#{catalog_item_uri}) does not allow setting a password.")
         
     | 
| 
      
 35 
     | 
    
         
            +
                        end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                        # According to the docs if CustomizePassword is "true" then we NEED to set a password
         
     | 
| 
      
 38 
     | 
    
         
            +
                        if customization_options[:CustomizePassword] == "true" and ( options[:password].nil? or options[:password].empty? )
         
     | 
| 
      
 39 
     | 
    
         
            +
                          raise ArgumentError.new("This catalog item (#{catalog_item_uri}) requires a :password to instantiate.")
         
     | 
| 
      
 40 
     | 
    
         
            +
                        end
         
     | 
| 
      
 41 
     | 
    
         
            +
                      end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                      def generate_instantiate_vapp_template_request(options)
         
     | 
| 
      
 44 
     | 
    
         
            +
                        xml = Builder::XmlMarkup.new
         
     | 
| 
      
 45 
     | 
    
         
            +
                        xml.InstantiateVAppTemplateParams(xmlns.merge!(:name => options[:name], :"xml:lang" => "en")) {
         
     | 
| 
      
 46 
     | 
    
         
            +
                          xml.VAppTemplate(:href => options[:template_uri])
         
     | 
| 
      
 47 
     | 
    
         
            +
                          xml.InstantiationParams {
         
     | 
| 
      
 48 
     | 
    
         
            +
                            xml.ProductSection( :"xmlns:q1" => "http://www.vmware.com/vcloud/v0.8", :"xmlns:ovf" => "http://schemas.dmtf.org/ovf/envelope/1") {
         
     | 
| 
      
 49 
     | 
    
         
            +
                              if options[:password]
         
     | 
| 
      
 50 
     | 
    
         
            +
                                xml.Property( :xmlns => "http://schemas.dmtf.org/ovf/envelope/1", :"ovf:key" => "password", :"ovf:value" => options[:password] )
         
     | 
| 
      
 51 
     | 
    
         
            +
                              end
         
     | 
| 
      
 52 
     | 
    
         
            +
                              xml.Property( :xmlns => "http://schemas.dmtf.org/ovf/envelope/1", :"ovf:key" => "row", :"ovf:value" => options[:row] )
         
     | 
| 
      
 53 
     | 
    
         
            +
                              xml.Property( :xmlns => "http://schemas.dmtf.org/ovf/envelope/1", :"ovf:key" => "group", :"ovf:value" => options[:group] )
         
     | 
| 
      
 54 
     | 
    
         
            +
                            }
         
     | 
| 
      
 55 
     | 
    
         
            +
                            xml.VirtualHardwareSection( :"xmlns:q1" => "http://www.vmware.com/vcloud/v0.8" ) {
         
     | 
| 
      
 56 
     | 
    
         
            +
                              # # of CPUS
         
     | 
| 
      
 57 
     | 
    
         
            +
                              xml.Item( :xmlns => "http://schemas.dmtf.org/ovf/envelope/1" ) {
         
     | 
| 
      
 58 
     | 
    
         
            +
                                xml.InstanceID(1, :xmlns => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
         
     | 
| 
      
 59 
     | 
    
         
            +
                                xml.ResourceType(3, :xmlns => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
         
     | 
| 
      
 60 
     | 
    
         
            +
                                xml.VirtualQuantity(options[:cpus], :xmlns => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
         
     | 
| 
      
 61 
     | 
    
         
            +
                              }
         
     | 
| 
      
 62 
     | 
    
         
            +
                              # Memory
         
     | 
| 
      
 63 
     | 
    
         
            +
                              xml.Item( :xmlns => "http://schemas.dmtf.org/ovf/envelope/1" ) {
         
     | 
| 
      
 64 
     | 
    
         
            +
                                xml.InstanceID(2, :xmlns => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
         
     | 
| 
      
 65 
     | 
    
         
            +
                                xml.ResourceType(4, :xmlns => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
         
     | 
| 
      
 66 
     | 
    
         
            +
                                xml.VirtualQuantity(options[:memory], :xmlns => "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData")
         
     | 
| 
      
 67 
     | 
    
         
            +
                              }
         
     | 
| 
      
 68 
     | 
    
         
            +
                            }
         
     | 
| 
      
 69 
     | 
    
         
            +
                            xml.NetworkConfigSection {
         
     | 
| 
      
 70 
     | 
    
         
            +
                              xml.NetworkConfig {
         
     | 
| 
      
 71 
     | 
    
         
            +
                                xml.NetworkAssociation( :href => options[:network_uri] )
         
     | 
| 
      
 72 
     | 
    
         
            +
                              }
         
     | 
| 
      
 73 
     | 
    
         
            +
                            }
         
     | 
| 
      
 74 
     | 
    
         
            +
                          }
         
     | 
| 
      
 75 
     | 
    
         
            +
                        }
         
     | 
| 
      
 76 
     | 
    
         
            +
                      end
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
                      def instantiate_vapp_template(catalog_item_uri, options = {})
         
     | 
| 
      
 79 
     | 
    
         
            +
                        validate_instantiate_vapp_template_options(catalog_item_uri, options)
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
                        request(
         
     | 
| 
      
 82 
     | 
    
         
            +
                          :body     => generate_instantiate_vapp_template_request(options),
         
     | 
| 
      
 83 
     | 
    
         
            +
                          :expects  => 200,
         
     | 
| 
      
 84 
     | 
    
         
            +
                          :headers  => {'Content-Type' => 'application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml'},
         
     | 
| 
      
 85 
     | 
    
         
            +
                          :method   => 'POST',
         
     | 
| 
      
 86 
     | 
    
         
            +
                          :uri      => options[:vdc_uri] + '/action/instantiatevAppTemplate',
         
     | 
| 
      
 87 
     | 
    
         
            +
                          :parse    => true
         
     | 
| 
      
 88 
     | 
    
         
            +
                        )
         
     | 
| 
      
 89 
     | 
    
         
            +
                      end
         
     | 
| 
      
 90 
     | 
    
         
            +
                    end
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                    module Mock
         
     | 
| 
      
 93 
     | 
    
         
            +
                      def instantiate_vapp_template(vdc_uri)
         
     | 
| 
      
 94 
     | 
    
         
            +
                        Fog::Mock.not_implemented
         
     | 
| 
      
 95 
     | 
    
         
            +
                      end
         
     | 
| 
      
 96 
     | 
    
         
            +
                    end
         
     | 
| 
      
 97 
     | 
    
         
            +
                  end
         
     | 
| 
      
 98 
     | 
    
         
            +
                end
         
     | 
| 
      
 99 
     | 
    
         
            +
              end
         
     | 
| 
      
 100 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 2
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.2. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 9
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.2.9
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - geemus (Wesley Beary)
         
     | 
| 
         @@ -14,7 +14,7 @@ autorequire: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 17 
     | 
    
         
            +
            date: 2010-07-01 00:00:00 -05:00
         
     | 
| 
       18 
18 
     | 
    
         
             
            default_executable: fog
         
     | 
| 
       19 
19 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -490,6 +490,8 @@ files: 
     | 
|
| 
       490 
490 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud.rb
         
     | 
| 
       491 
491 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/models/catalog.rb
         
     | 
| 
       492 
492 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/models/catalog_item.rb
         
     | 
| 
      
 493 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/models/firewall_acl.rb
         
     | 
| 
      
 494 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/models/firewall_acls.rb
         
     | 
| 
       493 
495 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/models/internet_service.rb
         
     | 
| 
       494 
496 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/models/internet_services.rb
         
     | 
| 
       495 
497 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/models/ip.rb
         
     | 
| 
         @@ -508,6 +510,7 @@ files: 
     | 
|
| 
       508 
510 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/models/vdcs.rb
         
     | 
| 
       509 
511 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb
         
     | 
| 
       510 
512 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/add_node.rb
         
     | 
| 
      
 513 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/requests/clone_vapp.rb
         
     | 
| 
       511 
514 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/configure_internet_service.rb
         
     | 
| 
       512 
515 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb
         
     | 
| 
       513 
516 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/configure_network_ip.rb
         
     | 
| 
         @@ -519,6 +522,8 @@ files: 
     | 
|
| 
       519 
522 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_catalog.rb
         
     | 
| 
       520 
523 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_catalog_item.rb
         
     | 
| 
       521 
524 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_customization_options.rb
         
     | 
| 
      
 525 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acl.rb
         
     | 
| 
      
 526 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acls.rb
         
     | 
| 
       522 
527 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb
         
     | 
| 
       523 
528 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
         
     | 
| 
       524 
529 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_network_extensions.rb
         
     | 
| 
         @@ -531,7 +536,9 @@ files: 
     | 
|
| 
       531 
536 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_task.rb
         
     | 
| 
       532 
537 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_task_list.rb
         
     | 
| 
       533 
538 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb
         
     | 
| 
      
 539 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/requests/get_vapp_template.rb
         
     | 
| 
       534 
540 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb
         
     | 
| 
      
 541 
     | 
    
         
            +
            - lib/fog/vcloud/terremark/ecloud/requests/instantiate_vapp_template.rb
         
     | 
| 
       535 
542 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/power_off.rb
         
     | 
| 
       536 
543 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/power_on.rb
         
     | 
| 
       537 
544 
     | 
    
         
             
            - lib/fog/vcloud/terremark/ecloud/requests/power_reset.rb
         
     |