morpheus-cli 4.2.5 → 4.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Dockerfile +1 -1
- data/lib/morpheus/cli/invoices_command.rb +34 -21
- data/lib/morpheus/cli/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fa057d89b29003c127a3c53616a012aeb2c23368384b85f0bf03b10bfd5124e
|
4
|
+
data.tar.gz: bc219cef29503224870be7de21a626a2f98c8ed766470ee79e3001ca1c41015f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a93cb277435293503eddbd3abdb9f349b105298cf55820feeba7187d5c1f982b65c1cd5c2c1c4989b56f3e49c861acb8ce28e657fa4a797cd2589e193a858fd9
|
7
|
+
data.tar.gz: 2e11115d23a8d1d78eeb2214ca3aac06ef8ca92fd25d873c1ef02cb8350e2bfaeaeb25c7eb53c4311820c54266fb1fcd5c8a6fe1a2bacaf7d1e04308532c4821
|
data/Dockerfile
CHANGED
@@ -153,8 +153,8 @@ class Morpheus::Cli::InvoicesCommand
|
|
153
153
|
if invoices.empty?
|
154
154
|
print cyan,"No invoices found.",reset,"\n"
|
155
155
|
else
|
156
|
-
current_date = Time.now
|
157
|
-
current_period = "#{current_date.year}#{current_date.month.to_s.rjust(2, '0')}"
|
156
|
+
# current_date = Time.now
|
157
|
+
# current_period = "#{current_date.year}#{current_date.month.to_s.rjust(2, '0')}"
|
158
158
|
columns = [
|
159
159
|
{"INVOICE ID" => lambda {|it| it['id'] } },
|
160
160
|
{"TYPE" => lambda {|it| format_invoice_ref_type(it) } },
|
@@ -170,7 +170,8 @@ class Morpheus::Cli::InvoicesCommand
|
|
170
170
|
{"END" => lambda {|it| it['endDate'] ? format_date(it['endDate']) : '' } },
|
171
171
|
{"MTD" => lambda {|it| format_money(it['runningCost']) } },
|
172
172
|
{"TOTAL" => lambda {|it|
|
173
|
-
|
173
|
+
|
174
|
+
if it['runningMultiplier'] && it['runningMultiplier'].to_i != 1 && it['totalCost'].to_f > 0
|
174
175
|
format_money(it['totalCost']) + " (Projected)"
|
175
176
|
else
|
176
177
|
format_money(it['totalCost'])
|
@@ -178,7 +179,7 @@ class Morpheus::Cli::InvoicesCommand
|
|
178
179
|
} },
|
179
180
|
{"ACTUAL MTD" => lambda {|it| format_money(it['actualRunningCost']) } },
|
180
181
|
{"ACTUAL TOTAL" => lambda {|it|
|
181
|
-
if it['
|
182
|
+
if it['runningMultiplier'] && it['runningMultiplier'].to_i != 1 && it['actualTotalCost'].to_f > 0
|
182
183
|
format_money(it['actualTotalCost']) + " (Projected)"
|
183
184
|
else
|
184
185
|
format_money(it['actualTotalCost'])
|
@@ -196,19 +197,11 @@ class Morpheus::Cli::InvoicesCommand
|
|
196
197
|
end
|
197
198
|
if options[:show_actual_costs]
|
198
199
|
columns += [
|
199
|
-
{"ACTUAL COMPUTE" => lambda {|it| format_money(it['
|
200
|
-
# {"ACTUAL MEMORY" => lambda {|it| format_money(it['
|
201
|
-
{"ACTUAL STORAGE" => lambda {|it| format_money(it['
|
202
|
-
{"ACTUAL NETWORK" => lambda {|it| format_money(it['
|
203
|
-
{"ACTUAL OTHER" => lambda {|it| format_money(it['
|
204
|
-
# {"ACTUAL MTD" => lambda {|it| format_money(it['actualRunningPrice']) } },
|
205
|
-
# {"ACTUAL TOTAL" => lambda {|it|
|
206
|
-
# if it['period'] == current_period && it['actualTotalPrice'].to_f > 0
|
207
|
-
# format_money(it['actualTotalPrice']) + " (Projected)"
|
208
|
-
# else
|
209
|
-
# format_money(it['actualTotalPrice'])
|
210
|
-
# end
|
211
|
-
# } }
|
200
|
+
{"ACTUAL COMPUTE" => lambda {|it| format_money(it['actualComputeCost']) } },
|
201
|
+
# {"ACTUAL MEMORY" => lambda {|it| format_money(it['actualMemoryCost']) } },
|
202
|
+
{"ACTUAL STORAGE" => lambda {|it| format_money(it['actualStorageCost']) } },
|
203
|
+
{"ACTUAL NETWORK" => lambda {|it| format_money(it['actualNetworkCost']) } },
|
204
|
+
{"ACTUAL OTHER" => lambda {|it| format_money(it['actualExtraCost']) } },
|
212
205
|
]
|
213
206
|
end
|
214
207
|
|
@@ -221,7 +214,7 @@ class Morpheus::Cli::InvoicesCommand
|
|
221
214
|
{"OTHER PRICE" => lambda {|it| format_money(it['extraPrice']) } },
|
222
215
|
{"MTD PRICE" => lambda {|it| format_money(it['runningPrice']) } },
|
223
216
|
{"TOTAL PRICE" => lambda {|it|
|
224
|
-
if it['
|
217
|
+
if it['runningMultiplier'] && it['runningMultiplier'].to_i != 1 && it['totalPrice'].to_f > 0
|
225
218
|
format_money(it['totalPrice']) + " (Projected)"
|
226
219
|
else
|
227
220
|
format_money(it['totalPrice'])
|
@@ -291,6 +284,7 @@ class Morpheus::Cli::InvoicesCommand
|
|
291
284
|
"Ref ID" => lambda {|it| it['refId'] },
|
292
285
|
"Ref Name" => lambda {|it| it['refName'] },
|
293
286
|
"Plan" => lambda {|it| it['plan'] ? it['plan']['name'] : '' },
|
287
|
+
"Power State" => lambda {|it| format_server_power_state(it) },
|
294
288
|
"Account" => lambda {|it| it['account'] ? it['account']['name'] : '' },
|
295
289
|
"Active" => lambda {|it| format_boolean(it['active']) },
|
296
290
|
"Period" => lambda {|it| format_invoice_period(it) },
|
@@ -301,6 +295,13 @@ class Morpheus::Cli::InvoicesCommand
|
|
301
295
|
"Created" => lambda {|it| format_local_dt(it['dateCreated']) },
|
302
296
|
"Updated" => lambda {|it| format_local_dt(it['lastUpdated']) }
|
303
297
|
}
|
298
|
+
# remove columns that do not apply
|
299
|
+
if !invoice['plan']
|
300
|
+
description_cols.delete("Plan")
|
301
|
+
end
|
302
|
+
if !['ComputeServer','Instance','Container'].include?(invoice['refType'])
|
303
|
+
description_cols.delete("Power State")
|
304
|
+
end
|
304
305
|
print_description_list(description_cols, invoice)
|
305
306
|
=begin
|
306
307
|
print_h2 "Costs"
|
@@ -330,8 +331,8 @@ class Morpheus::Cli::InvoicesCommand
|
|
330
331
|
print as_pretty_table([invoice], price_columns, options)
|
331
332
|
=end
|
332
333
|
|
333
|
-
current_date = Time.now
|
334
|
-
current_period = "#{current_date.year}#{current_date.month.to_s.rjust(2, '0')}"
|
334
|
+
# current_date = Time.now
|
335
|
+
# current_period = "#{current_date.year}#{current_date.month.to_s.rjust(2, '0')}"
|
335
336
|
|
336
337
|
print "\n"
|
337
338
|
# print_h2 "Costs"
|
@@ -350,7 +351,7 @@ class Morpheus::Cli::InvoicesCommand
|
|
350
351
|
"Other".upcase => lambda {|it| format_money(it[:extra]) },
|
351
352
|
"MTD" => lambda {|it| format_money(it[:running]) },
|
352
353
|
"Total".upcase => lambda {|it|
|
353
|
-
if invoice['
|
354
|
+
if invoice['runningMultiplier'] && invoice['runningMultiplier'].to_i != 1 && it[:total].to_f.to_f > 0
|
354
355
|
format_money(it[:total]) + " (Projected)"
|
355
356
|
else
|
356
357
|
format_money(it[:total])
|
@@ -483,5 +484,17 @@ class Morpheus::Cli::InvoicesCommand
|
|
483
484
|
return nil
|
484
485
|
end
|
485
486
|
end
|
487
|
+
|
488
|
+
def format_server_power_state(server, return_color=cyan)
|
489
|
+
out = ""
|
490
|
+
if server['powerState'] == 'on'
|
491
|
+
out << "#{green}ON#{return_color}"
|
492
|
+
elsif server['powerState'] == 'off'
|
493
|
+
out << "#{red}OFF#{return_color}"
|
494
|
+
else
|
495
|
+
out << "#{white}#{server['powerState'].to_s.upcase}#{return_color}"
|
496
|
+
end
|
497
|
+
out
|
498
|
+
end
|
486
499
|
|
487
500
|
end
|
data/lib/morpheus/cli/version.rb
CHANGED