Class: Fog::Parsers::Terremark::GetVdc

Inherits:
Base
  • Object
show all
Defined in:
lib/fog/parsers/terremark/get_vdc.rb

Instance Method Summary collapse

Methods inherited from Base

#extract_attributes

Instance Method Details

#end_element(name) ⇒ Object



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
81
# File 'lib/fog/parsers/terremark/get_vdc.rb', line 54

def end_element(name)
  case name
    when 'Allocated', 'Limit', 'Units', 'Used'
      if @in_cpu
        @response['ComputeCapacity']['Cpu'][name] = value
      elsif @in_deployed_vms_quota
        @response['ComputeCapacity']['DeployedVmsQuota'][name] = value
      elsif @in_instantiated_vms_quota
        @response['ComputeCapacity']['InstantiatedVmsQuota'][name] = value
      elsif @in_memory
        @response['ComputeCapacity']['Memory'][name] = value
      elsif @in_storage_capacity
        @response['StorageCapacity'][name] = value
      end
    when 'Cpu'
      @in_cpu = false
    when 'DeployedVmsQuota'
      @in_deployed_vms_quota = false
    when 'InstantiatedVmsQuota'
      @in_instantiated_vms_quota = false
    when 'Memory'
      @in_memory = false
    when 'StorageCapacity'
      @in_storage_capacity = false
    when 'Type'
      @response[name] = value
  end
end

#resetObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/fog/parsers/terremark/get_vdc.rb', line 5

def reset
  @in_storage_capacity = false
  @in_cpu = false
  @in_memory = false
  @in_instantiated_vms_quota = false
  @in_deployed_vms_quota = false
  @response = {
      'links' => [],
      'AvailableNetworks' => [],
      'ComputeCapacity'   => {
          'Cpu' => {},
          'DeployedVmsQuota' => {},
          'InstantiatedVmsQuota' => {},
          'Memory' => {}
      },
      'StorageCapacity'  => {},
      'ResourceEntities' => []
  }
end

#start_element(name, attributes) ⇒ Object



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
# File 'lib/fog/parsers/terremark/get_vdc.rb', line 25

def start_element(name, attributes)
  super
  case name
    when 'Cpu'
      @in_cpu = true
    when 'DeployedVmsQuota'
      @in_deployed_vms_quota = true
    when 'InstantiatedVmsQuota'
      @in_instantiated_vms_quota = true
    when 'Link'
      link = extract_attributes(attributes)
      @response['links'] << link
    when 'Memory'
      @in_memory = true
    when 'Network'
      network = extract_attributes(attributes)
      @response['AvailableNetworks'] << network
    when 'ResourceEntity'
      resource_entity = extract_attributes(attributes)
      @response['ResourceEntities'] << resource_entity
    when 'StorageCapacity'
      @in_storage_capacity = true
    when 'Vdc'
      vdc = extract_attributes(attributes)
      @response['href'] = vdc['href']
      @response['name'] = vdc['name']
  end
end