@@ -100,23 +100,17 @@ def find_preview_versions(versions_bag):
100100def aks_versions_table_format (result ):
101101 """Format get-versions results as a summary for display with "-o table"."""
102102
103- preview = {}
104-
105- def find_preview_versions ():
106- for orchestrator in result .get ('orchestrators' , []):
107- if orchestrator .get ('isPreview' , False ):
108- preview [orchestrator ['orchestratorVersion' ]] = True
109- find_preview_versions ()
103+ version_table = flatten_version_table (result .get ("values" , []))
110104
111- parsed = compile_jmes ("""orchestrators[].{
112- kubernetesVersion: orchestratorVersion | set_preview(@),
113- upgrades: upgrades[].orchestratorVersion || [`None available`] | sort_versions(@) | set_preview_array(@) | join(`, `, @)
105+ parsed = compile_jmes ("""[].{
106+ kubernetesVersion: version,
107+ isPreview: isPreview,
108+ upgrades: upgrades || [`None available`] | sort_versions(@) | join(`, `, @)
114109 }""" )
115-
116110 # use ordered dicts so headers are predictable
117- results = parsed .search (result , Options (
118- dict_cls = OrderedDict , custom_functions = _custom_functions (preview )))
119- return sorted (results , key = lambda x : version_to_tuple (x .get (' kubernetesVersion' )), reverse = True )
111+ results = parsed .search (version_table , Options (
112+ dict_cls = OrderedDict , custom_functions = _custom_functions ({} )))
113+ return sorted (results , key = lambda x : version_to_tuple (x .get (" kubernetesVersion" )), reverse = True )
120114
121115
122116def aks_list_nodepool_snapshot_table_format (results ):
@@ -150,6 +144,17 @@ def version_to_tuple(version):
150144 return tuple (map (int , (version .split ('.' ))))
151145
152146
147+ def flatten_version_table (release_info ):
148+ """Flattens version table"""
149+ flattened = []
150+ for release in release_info :
151+ isPreview = release .get ("isPreview" , False )
152+ for k , v in release .get ("patchVersions" , {}).items ():
153+ item = {"version" : k , "upgrades" : v .get ("upgrades" , []), "isPreview" : isPreview }
154+ flattened .append (item )
155+ return flattened
156+
157+
153158def _custom_functions (preview_versions ):
154159 class CustomFunctions (functions .Functions ): # pylint: disable=too-few-public-methods
155160
0 commit comments