Sha256: 0c56a0c01bf585e729e41aee4ddb05f2fdad3c16d6c368d4966a3f7b4f9ea6a4

Contents?: true

Size: 1.65 KB

Versions: 24

Compression:

Stored size: 1.65 KB

Contents

module Fog
  module Vcloud
    module Terremark
      module Ecloud
        module Real

          def configure_node(node_uri, node_data)
            validate_node_data(node_data, true)

            request(
              :body     => generate_configure_node_request(node_data),
              :expects  => 200,
              :headers  => {'Content-Type' => 'application/vnd.tmrk.ecloud.nodeService+xml'},
              :method   => 'PUT',
              :uri      => node_uri,
              :parse    => true
            )
          end

          private

          def generate_configure_node_request(node_data)
            builder = Builder::XmlMarkup.new
            builder.NodeService(:"xmlns:i" => "http://www.w3.org/2001/XMLSchema-instance",
                                    :xmlns => "urn:tmrk:eCloudExtensions-2.0") {
              builder.Name(node_data[:name])
              builder.Enabled(node_data[:enabled].to_s)
              builder.Description(node_data[:description])
            }
          end

        end

        module Mock

          def configure_node(node_uri, node_data)
            node_uri = ensure_unparsed(node_uri)

            validate_node_data(node_data, true)

            if node = mock_node_from_url(node_uri)
              node[:name] = node_data[:name]
              node[:enabled] = node_data[:enabled]
              node[:description] = node_data[:description]
              mock_it 200, mock_node_service_response(node, ecloud_xmlns), { 'Content-Type' => 'application/vnd.tmrk.ecloud.nodeService+xml' }
            else
              mock_error 200, "401 Unauthorized"
            end
          end
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
fog-0.2.30 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.28 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.27 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.26 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.25 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.24 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
tecnh-fog-0.2.23.vpc lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.23 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.22 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.21 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.20 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.19 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.18 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.17 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.16 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.15 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.14 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.13 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.12 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
fog-0.2.11 lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb