1010from SoftLayer import utils
1111
1212
13+ def upgrade_table (upgrades ):
14+ """Formats a table for upgrade orders"""
15+ table = formatting .Table (['Id' , 'Maintance window' , 'Status' , 'Created Date' ,
16+ 'Case' ], title = "Upgrade orders" )
17+ table .align ['Subject' ] = 'l'
18+ table .align ['Impacted Resources' ] = 'l'
19+ for upgrade in upgrades :
20+ table .add_row ([upgrade .get ('id' ),
21+ upgrade .get ('maintenanceStartTimeUtc' ),
22+ upgrade .get ('statusId' ),
23+ upgrade .get ('createDate' ),
24+ upgrade .get ('ticketId' ) or '--' ])
25+ return table
26+
27+
1328@click .command (cls = SLCommand )
1429@click .option ('--limit' , '-l' ,
1530 help = 'How many results to get in one api call' ,
16- default = 50 ,
31+ default = 100 ,
1732 show_default = True )
33+ @click .option ('--upgrades' , is_flag = True , default = False ,
34+ help = "Show upgrades orders." )
1835@environment .pass_env
19- def cli (env , limit ):
36+ def cli (env , limit , upgrades ):
2037 """Lists account orders. Use `slcli order lookup <ID>` to find more details about a specific order."""
2138 manager = AccountManager (env .client )
2239 orders = manager .get_account_all_billing_orders (limit )
40+ upgrade = manager .get_account_upgrade_orders (limit )
2341
2442 order_table = formatting .Table (['Id' , 'State' , 'User' , 'Date' , 'Amount' , 'Item' ],
2543 title = "orders" )
@@ -34,3 +52,5 @@ def cli(env, limit):
3452 order_table .add_row ([order ['id' ], order ['status' ], order ['userRecord' ]['username' ], create_date ,
3553 order ['orderTotalAmount' ], utils .trim_to (' ' .join (map (str , items )), 50 )])
3654 env .fout (order_table )
55+ if upgrades :
56+ env .fout (upgrade_table (upgrade ))
0 commit comments