Module: CloudstackClient::ResourceLimit

Defined in:
lib/cloudstack_client/commands/resource_limit.rb

Instance Method Summary collapse

Instance Method Details

#list_resource_limits(args = {}) ⇒ Object

List resource limits.



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
# File 'lib/cloudstack_client/commands/resource_limit.rb', line 7

def list_resource_limits(args = {})
  params = {
    'command' => 'listResourceLimits',
  }

  if args[:account]
     = list_accounts({name: args[:account]}).first
    unless 
      puts "Error: Account #{args[:account]} not found."
      exit 1
    end
    params['domainid'] = ['domainid']
    params['account'] = args[:account]
  end

  if args[:project]
    project = get_project(args[:project])
    if !project
      msg = "Project '#{args[:project]}' is invalid"
      puts "Error: #{msg}"
      exit 1
    end
    params['projectid'] = project['id']
  elsif args[:project_id]
    params['projectid'] = args[:project_id]
  end

  params['type'] = args[:type] if args[:type]

  json = send_request(params)
  json['resourcelimit'] || []
end

#update_resource_count(args = {}) ⇒ Object

Recalculate and update resource count for an account or domain.



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
# File 'lib/cloudstack_client/commands/resource_limit.rb', line 43

def update_resource_count(args = {})
  params = {
    'command' => 'updateResourceCount',
  }

  if args[:account]
     = list_accounts({name: args[:account]}).first
    unless 
      puts "Error: Account #{args[:account]} not found."
      exit 1
    end
    params['domainid'] = ['domainid']
    params['account'] = args[:account]
  end

  if args[:project]
    project = get_project(args[:project])
    if !project
      msg = "Project '#{args[:project]}' is invalid"
      puts "Error: #{msg}"
      exit 1
    end
    params['domainid'] = project['domainid']
    params['projectid'] = project['id']
  elsif args[:project_id]
    params['projectid'] = args[:project_id]
  end

  params['resourcetype'] = args[:resource_type] if args[:resource_type]
  params['domainid'] = args[:domain_id] if args[:domain_id]

  json = send_request(params)
  json['resourcecount'] || []
end

#update_resource_limit(args = {}) ⇒ Object

Updates resource limits for an account or domain.



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/cloudstack_client/commands/resource_limit.rb', line 81

def update_resource_limit(args = {})
  params = {
    'command' => 'updateResourceLimit',
  }

  if args[:resource_type]
    params['resourcetype'] = args[:resource_type]
  else
    puts "Error: Resource Type must be specified."
    exit 1
  end

  if args[:account]
     = list_accounts({name: args[:account]}).first
    unless 
      puts "Error: Account #{args[:account]} not found."
      exit 1
    end
    params['domainid'] = ['domainid']
    params['account'] = args[:account]
  end

  if args[:project]
    project = get_project(args[:project])
    if !project
      msg = "Project '#{args[:project]}' is invalid"
      puts "Error: #{msg}"
      exit 1
    end
    params['domainid'] = project['domainid']
    params['projectid'] = project['id']
  elsif args[:project_id]
    params['projectid'] = args[:project_id]
  end

  params['domainid'] = args[:domain_id] if args[:domain_id]
  params['max'] = args[:max] if args[:max]

  json = send_request(params)
  json['resourcelimit'] || []
end