@@ -18,6 +18,8 @@ def _value_from_path(each_item, path):
1818 try :
1919 for part in path .split ('.' ):
2020 obj = obj .get (part , None )
21+ if isinstance (obj , list ):
22+ obj = _process_array (obj )
2123 except AttributeError :
2224 obj = None
2325 return obj or ' '
@@ -35,8 +37,56 @@ def transform_disk_pool_list_output(result):
3537 usable by the CLI and tools such as jpterm. """
3638 return build_table_output (result , [
3739 ('Name' , 'name' ),
38- ('Availability Zones ' , 'availabilityZones ' ),
40+ ('Resource Group ' , 'resourceGroup ' ),
3941 ('Status' , 'status' ),
4042 ('Location' , 'location' ),
4143 ('Last Modified' , 'systemData.lastModifiedAt' )
4244 ])
45+
46+
47+ def transform_disk_pool_show_output (result ):
48+ from collections import OrderedDict
49+
50+ new_result = OrderedDict ()
51+ new_result ['Name' ] = result .pop ('name' )
52+ new_result ['Resource Group' ] = result .pop ('resourceGroup' )
53+ new_result ['Status' ] = result .pop ('status' )
54+ new_result ['Location' ] = result .pop ('location' )
55+ new_result ['Last Modified' ] = result .get ('systemData' ).get ('lastModifiedAt' , None ) \
56+ if result .get ('systemData' ) else None
57+ return new_result
58+
59+
60+ def transform_disk_pool_iscsi_target_list_output (result ):
61+ """ Transform to convert SDK output into a form that is more readily
62+ usable by the CLI and tools such as jpterm. """
63+ return build_table_output (result , [
64+ ('Name' , 'name' ),
65+ ('Acl Mode' , 'aclMode' ),
66+ ('Endpoints' , 'endpoints' ),
67+ ('Status' , 'status' ),
68+ ('Provisioning State' , 'provisioningState' ),
69+ ('Target Iqn' , 'targetIqn' )
70+ ])
71+
72+
73+ def _process_array (array ):
74+ if array :
75+ item = ',' .join (array )
76+ else :
77+ item = None
78+ return item
79+
80+
81+ def transform_disk_pool_iscsi_target_show_output (result ):
82+ from collections import OrderedDict
83+
84+ new_result = OrderedDict ()
85+ new_result ['Name' ] = result .pop ('name' )
86+ new_result ['Acl Mode' ] = result .pop ('aclMode' )
87+ new_result ['Endpoints' ] = _process_array (result .pop ('endpoints' ))
88+
89+ new_result ['Status' ] = result ['status' ]
90+ new_result ['Provisioning State' ] = result ['provisioningState' ]
91+ new_result ['Target Iqn' ] = result ['targetIqn' ]
92+ return new_result
0 commit comments