55from SoftLayer .CLI import environment
66from SoftLayer .CLI import formatting
77from SoftLayer import utils
8- from pprint import pprint as pp
8+
99
1010@click .command ()
1111@click .argument ('identifier' )
1212@environment .pass_env
1313def cli (env , identifier ):
1414 """Get Load Balancer as a Service details."""
1515 mgr = SoftLayer .LoadBalancerManager (env .client )
16- uuid , lbid = mgr .get_lbaas_uuid_id (identifier )
17- lb = mgr .get_lb (lbid )
18- # pp(lb)
19- if lb .get ('previousErrorText' ):
20- print ("THERE WAS AN ERROR" )
21- print (lb .get ('previousErrorText' ))
22- table = lbaas_table (lb )
16+ _ , lbid = mgr .get_lbaas_uuid_id (identifier )
17+ this_lb = mgr .get_lb (lbid )
18+ if this_lb .get ('previousErrorText' ):
19+ print (this_lb .get ('previousErrorText' ))
20+ table = lbaas_table (this_lb )
2321
2422 env .fout (table )
2523
2624
27- def lbaas_table (lb ):
25+ def lbaas_table (this_lb ):
2826 """Generates a table from a list of LBaaS devices"""
2927 table = formatting .KeyValueTable (['name' , 'value' ])
3028 table .align ['name' ] = 'r'
3129 table .align ['value' ] = 'l'
32- table .add_row (['Id' , lb .get ('id' )])
33- table .add_row (['UUI' , lb .get ('uuid' )])
34- table .add_row (['Address' , lb .get ('address' )])
35- table .add_row (['Location' , utils .lookup (lb , 'datacenter' , 'longName' )])
36- table .add_row (['Description' , lb .get ('description' )])
37- table .add_row (['Name' , lb .get ('name' )])
38- table .add_row (['Status' , "{} / {}" .format (lb .get ('provisioningStatus' ), lb .get ('operatingStatus' ))])
30+ table .add_row (['Id' , this_lb .get ('id' )])
31+ table .add_row (['UUI' , this_lb .get ('uuid' )])
32+ table .add_row (['Address' , this_lb .get ('address' )])
33+ table .add_row (['Location' , utils .lookup (this_lb , 'datacenter' , 'longName' )])
34+ table .add_row (['Description' , this_lb .get ('description' )])
35+ table .add_row (['Name' , this_lb .get ('name' )])
36+ table .add_row (['Status' , "{} / {}" .format (this_lb .get ('provisioningStatus' ), this_lb .get ('operatingStatus' ))])
3937
4038 # https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_LBaaS_HealthMonitor/
4139 hp_table = formatting .Table (['UUID' , 'Interval' , 'Retries' , 'Type' , 'Timeout' , 'Modify' , 'Active' ])
42- for hp in lb .get ('healthMonitors' , []):
40+ for health in this_lb .get ('healthMonitors' , []):
4341 hp_table .add_row ([
44- hp .get ('uuid' ),
45- hp .get ('interval' ),
46- hp .get ('maxRetries' ),
47- hp .get ('monitorType' ),
48- hp .get ('timeout' ),
49- utils .clean_time (hp .get ('modifyDate' )),
50- hp .get ('provisioningStatus' )
42+ health .get ('uuid' ),
43+ health .get ('interval' ),
44+ health .get ('maxRetries' ),
45+ health .get ('monitorType' ),
46+ health .get ('timeout' ),
47+ utils .clean_time (health .get ('modifyDate' )),
48+ health .get ('provisioningStatus' )
5149 ])
5250 table .add_row (['Checks' , hp_table ])
5351
5452 # https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_LBaaS_L7Pool/
55- l7_table = formatting .Table (['Id' , 'UUID' , 'Balancer' , 'Name' , 'Protocol' , 'Modify' , 'Active' ])
56- for l7 in lb .get ('l7Pools' , []):
53+ l7_table = formatting .Table (['Id' , 'UUID' , 'Balancer' , 'Name' , 'Protocol' , 'Modify' , 'Active' ])
54+ for layer7 in this_lb .get ('l7Pools' , []):
5755 l7_table .add_row ([
58- l7 .get ('id' ),
59- l7 .get ('uuid' ),
60- l7 .get ('loadBalancingAlgorithm' ),
61- l7 .get ('name' ),
62- l7 .get ('protocol' ),
63- utils .clean_time (l7 .get ('modifyDate' )),
64- l7 .get ('provisioningStatus' )
56+ layer7 .get ('id' ),
57+ layer7 .get ('uuid' ),
58+ layer7 .get ('loadBalancingAlgorithm' ),
59+ layer7 .get ('name' ),
60+ layer7 .get ('protocol' ),
61+ utils .clean_time (layer7 .get ('modifyDate' )),
62+ layer7 .get ('provisioningStatus' )
6563 ])
6664 table .add_row (['L7 Pools' , l7_table ])
6765
6866 pools = {}
6967 # https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_LBaaS_Listener/
7068 listener_table = formatting .Table (['UUID' , 'Max Connection' , 'Mapping' , 'Balancer' , 'Modify' , 'Active' ])
71- for listener in lb .get ('listeners' , []):
69+ for listener in this_lb .get ('listeners' , []):
7270 pool = listener .get ('defaultPool' )
7371 priv_map = "{}:{}" .format (pool ['protocol' ], pool ['protocolPort' ])
7472 pools [pool ['uuid' ]] = priv_map
7573 mapping = "{}:{} -> {}" .format (listener .get ('protocol' ), listener .get ('protocolPort' ), priv_map )
76- pool_table = formatting .Table (['Address' , ])
7774 listener_table .add_row ([
7875 listener .get ('uuid' ),
7976 listener .get ('connectionLimit' , 'None' ),
@@ -86,30 +83,31 @@ def lbaas_table(lb):
8683
8784 # https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_LBaaS_Member/
8885 member_col = ['UUID' , 'Address' , 'Weight' , 'Modify' , 'Active' ]
89- for uuid in pools . keys () :
86+ for uuid in pools :
9087 member_col .append (pools [uuid ])
9188 member_table = formatting .Table (member_col )
92- for member in lb .get ('members' , []):
89+ for member in this_lb .get ('members' , []):
9390 row = [
9491 member .get ('uuid' ),
9592 member .get ('address' ),
9693 member .get ('weight' ),
9794 utils .clean_time (member .get ('modifyDate' )),
9895 member .get ('provisioningStatus' )
9996 ]
100- for uuid in pools . keys () :
101- row .append (getMemberHp ( lb .get ('health' ), member .get ('uuid' ), uuid ))
97+ for uuid in pools :
98+ row .append (get_member_hp ( this_lb .get ('health' ), member .get ('uuid' ), uuid ))
10299 member_table .add_row (row )
103- table .add_row (['Members' ,member_table ])
100+ table .add_row (['Members' , member_table ])
104101
105102 # https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_LBaaS_SSLCipher/
106103 ssl_table = formatting .Table (['Id' , 'Name' ])
107- for ssl in lb .get ('sslCiphers' , []):
104+ for ssl in this_lb .get ('sslCiphers' , []):
108105 ssl_table .add_row ([ssl .get ('id' ), ssl .get ('name' )])
109106 table .add_row (['Ciphers' , ssl_table ])
110107 return table
111108
112- def getMemberHp (checks , member_uuid , pool_uuid ):
109+
110+ def get_member_hp (checks , member_uuid , pool_uuid ):
113111 """Helper function to find a members health in a given pool
114112
115113 :param checks list: https://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_LBaaS_Pool/#healthMonitor
@@ -123,4 +121,4 @@ def getMemberHp(checks, member_uuid, pool_uuid):
123121 if hp_member .get ('uuid' ) == member_uuid :
124122 status = hp_member .get ('status' )
125123
126- return status
124+ return status
0 commit comments