This file is indexed.

/usr/lib/ruby/vendor_ruby/fog/compute/ecloud/requests/virtual_machine_edit_assigned_ips.rb is in ruby-fog-ecloud 0.1.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
module Fog
  module Compute
    class Ecloud
      module Shared
        def build_request_body_edit_assigned_ips(networks)
          xml = Builder::XmlMarkup.new
          xml.AssignedIpAddresses do
            xml.Networks do
              networks.each do |network|
                xml.Network(:href => network[:href], :type => network[:type]) do
                  xml.IpAddresses do
                    network[:ips].each do |ip|
                      xml.IpAddress ip
                    end
                  end
                end
              end
            end
          end
        end
      end

      class Real
        def virtual_machine_edit_assigned_ips(href, options)
          body = build_request_body_edit_assigned_ips(options)
          request(
            :expects => 202,
            :method => "PUT",
            :headers => {},
            :body => body,
            :uri => href,
            :parse => true
          )
        end
      end

      class Mock
        def virtual_machine_edit_assigned_ips(href, options)
          server_id       = href.match(/(\d+)/)[1].to_i
          server          = self.data[:servers][server_id]
          options.each do |network|
            network_id     = id_from_uri(network[:href])
            network        = self.data[:networks][network_id]
            options.each.each do |net|
              net[:ips].each do |ip|
                ip = network[:IpAddresses][:IpAddress].find { |iph| iph[:name] == ip }
                ip[:Host] = {
                  :href => "/clouapi/ecloud/networkhosts/#{server_id}",
                  :name => server[:name],
                  :type => "application/vnd.tmrk.cloud.networkHost"
                }
                ip[:DetectedOn] = {
                  :href => "/clouapi/ecloud/networkhosts/#{server_id}",
                  :name => server[:name],
                  :type => "application/vnd.tmrk.cloud.networkHost"
                }
              end
            end
          end

          task_id = Fog::Mock.random_numbers(10)
          task = {
            :id            => task_id,
            :href          => "/cloudapi/ecloud/tasks/#{task_id}",
            :type          => "application/vnd.tmrk.cloud.task",
            :Operation     => "Delete Server",
            :Status        => "Complete",
            :ImpactedItem  => Fog::Ecloud.keep(server, :name, :href, :type),
            :StartTime     => Time.now.iso8601,
            :CompletedTime => Time.now.iso8601,
            :InitiatedBy   => {},
          }
          self.data[:tasks][task_id] = task

          response(:body =>  task)
        end
      end
    end
  end
end