|
16 | 16 | # specific language governing permissions and limitations |
17 | 17 | # under the License. |
18 | 18 |
|
19 | | -import os |
20 | 19 | import os.path |
21 | 20 | import sys |
22 | 21 | from xml.dom import minidom |
23 | 22 | from xml.parsers.expat import ExpatError |
| 23 | +import difflib |
24 | 24 |
|
25 | 25 |
|
26 | 26 | ROOT_ADMIN = 'r' |
|
51 | 51 | 'VirtualMachine': 'Virtual Machine', |
52 | 52 | 'VM': 'Virtual Machine', |
53 | 53 | 'Vnf': 'Virtual Network Functions', |
| 54 | + 'VnfTemplate': 'Virtual Network Functions', |
54 | 55 | 'GuestSubnet': 'Routing', |
| 56 | + 'HypervisorGuestOsNames': 'Guest OS', |
55 | 57 | 'Domain': 'Domain', |
56 | 58 | 'Template': 'Template', |
57 | 59 | 'Iso': 'ISO', |
|
63 | 65 | 'StaticNat': 'NAT', |
64 | 66 | 'IpForwarding': 'NAT', |
65 | 67 | 'Host': 'Host', |
66 | | - 'OutOfBand': 'Out-of-band Management', |
| 68 | + 'HostTags': 'Host', |
| 69 | + 'OutOfBandManagement': 'Out-of-band Management', |
67 | 70 | 'Cluster': 'Cluster', |
68 | 71 | 'Account': 'Account', |
69 | 72 | 'Role': 'Role', |
70 | 73 | 'Snapshot': 'Snapshot', |
71 | 74 | 'User': 'User', |
| 75 | + 'UserData': 'User Data', |
72 | 76 | 'Os': 'Guest OS', |
73 | 77 | 'ServiceOffering': 'Service Offering', |
74 | 78 | 'DiskOffering': 'Disk Offering', |
75 | 79 | 'LoadBalancer': 'Load Balancer', |
76 | | - 'SslCert': 'Load Balancer', |
| 80 | + 'SslCert': 'SSL Certificates', |
77 | 81 | 'Router': 'Router', |
78 | | - 'SystemVm': 'System VM', |
79 | 82 | 'Configuration': 'Configuration', |
80 | 83 | 'Capabilities': 'Configuration', |
81 | 84 | 'Pod': 'Pod', |
| 85 | + 'ManagementNetworkIpRange': 'Pod', |
82 | 86 | 'PublicIpRange': 'Network', |
83 | 87 | 'Zone': 'Zone', |
84 | 88 | 'Vmware' : 'Zone', |
85 | 89 | 'NetworkOffering': 'Network Offering', |
86 | 90 | 'NetworkACL': 'Network ACL', |
| 91 | + 'NetworkAclItem': 'Network ACL', |
87 | 92 | 'Network': 'Network', |
88 | 93 | 'CiscoNexus': 'Network', |
89 | 94 | 'OpenDaylight': 'Network', |
90 | 95 | 'createServiceInstance': 'Network', |
91 | 96 | 'addGloboDnsHost': 'Network', |
92 | | - 'createTungstenFabricProvider': 'Tungsten', |
93 | | - 'listTungstenFabricProviders': 'Tungsten', |
94 | | - 'configTungstenFabricService': 'Tungsten', |
95 | | - 'createTungstenFabricPublicNetwork': 'Tungsten', |
96 | | - 'synchronizeTungstenFabricData': 'Tungsten', |
97 | | - 'addTungstenFabricPolicyRule': 'Tungsten', |
98 | | - 'createTungstenFabricPolicy': 'Tungsten', |
99 | | - 'deleteTungstenFabricPolicy': 'Tungsten', |
100 | | - 'removeTungstenFabricPolicyRule': 'Tungsten', |
101 | | - 'listTungstenFabricTag': 'Tungsten', |
102 | | - 'listTungstenFabricTagType': 'Tungsten', |
103 | | - 'listTungstenFabricPolicy': 'Tungsten', |
104 | | - 'listTungstenFabricPolicyRule': 'Tungsten', |
105 | | - 'listTungstenFabricNetwork': 'Tungsten', |
106 | | - 'listTungstenFabricVm': 'Tungsten', |
107 | | - 'listTungstenFabricNic': 'Tungsten', |
108 | | - 'createTungstenFabricTag': 'Tungsten', |
109 | | - 'createTungstenFabricTagType': 'Tungsten', |
110 | | - 'deleteTungstenFabricTag': 'Tungsten', |
111 | | - 'deleteTungstenFabricTagType': 'Tungsten', |
112 | | - 'applyTungstenFabricPolicy': 'Tungsten', |
113 | | - 'applyTungstenFabricTag': 'Tungsten', |
114 | | - 'removeTungstenFabricTag': 'Tungsten', |
115 | | - 'removeTungstenFabricPolicy': 'Tungsten', |
116 | | - 'createTungstenFabricApplicationPolicySet': 'Tungsten', |
117 | | - 'createTungstenFabricFirewallPolicy': 'Tungsten', |
118 | | - 'createTungstenFabricFirewallRule': 'Tungsten', |
119 | | - 'createTungstenFabricServiceGroup': 'Tungsten', |
120 | | - 'createTungstenFabricAddressGroup': 'Tungsten', |
121 | | - 'createTungstenFabricLogicalRouter': 'Tungsten', |
122 | | - 'addTungstenFabricNetworkGatewayToLogicalRouter': 'Tungsten', |
123 | | - 'listTungstenFabricApplicationPolicySet': 'Tungsten', |
124 | | - 'listTungstenFabricFirewallPolicy': 'Tungsten', |
125 | | - 'listTungstenFabricFirewallRule': 'Tungsten', |
126 | | - 'listTungstenFabricServiceGroup': 'Tungsten', |
127 | | - 'listTungstenFabricAddressGroup': 'Tungsten', |
128 | | - 'listTungstenFabricLogicalRouter': 'Tungsten', |
129 | | - 'deleteTungstenFabricApplicationPolicySet': 'Tungsten', |
130 | | - 'deleteTungstenFabricFirewallPolicy': 'Tungsten', |
131 | | - 'deleteTungstenFabricFirewallRule': 'Tungsten', |
132 | | - 'deleteTungstenFabricAddressGroup': 'Tungsten', |
133 | | - 'deleteTungstenFabricServiceGroup': 'Tungsten', |
134 | | - 'deleteTungstenFabricLogicalRouter': 'Tungsten', |
135 | | - 'removeTungstenFabricNetworkGatewayFromLogicalRouter': 'Tungsten', |
136 | | - 'updateTungstenFabricLBHealthMonitor': 'Tungsten', |
137 | | - 'listTungstenFabricLBHealthMonitor': 'Tungsten', |
| 97 | + 'TungstenFabric': 'Tungsten', |
138 | 98 | 'listNsxControllers': 'NSX', |
139 | 99 | 'addNsxController': 'NSX', |
140 | 100 | 'deleteNsxController': 'NSX', |
141 | 101 | 'Vpn': 'VPN', |
142 | | - 'Limit': 'Limit', |
| 102 | + 'Limit': 'Resource Limit', |
| 103 | + 'Netscaler': 'Netscaler', |
| 104 | + 'NetscalerControlCenter': 'Netscaler', |
| 105 | + 'NetscalerLoadBalancer': 'Netscaler', |
| 106 | + 'SolidFire': 'SolidFire', |
| 107 | + 'PaloAlto': 'Palo Alto', |
143 | 108 | 'ResourceCount': 'Limit', |
144 | 109 | 'CloudIdentifier': 'Cloud Identifier', |
145 | 110 | 'InstanceGroup': 'VM Group', |
|
150 | 115 | 'updateStorageCapabilities' : 'Storage Pool', |
151 | 116 | 'SecurityGroup': 'Security Group', |
152 | 117 | 'SSH': 'SSH', |
153 | | - 'register': 'Registration', |
154 | 118 | 'AsyncJob': 'Async job', |
155 | 119 | 'Certificate': 'Certificate', |
156 | | - 'Hypervisor': 'Hypervisor', |
| 120 | + 'Hypervisor': 'Configuration', |
157 | 121 | 'Alert': 'Alert', |
158 | 122 | 'Event': 'Event', |
159 | 123 | 'login': 'Authentication', |
|
175 | 139 | 'ExternalLoadBalancer': 'Ext Load Balancer', |
176 | 140 | 'ExternalFirewall': 'Ext Firewall', |
177 | 141 | 'Usage': 'Usage', |
178 | | - 'TrafficMonitor': 'Usage', |
179 | | - 'TrafficType': 'Usage', |
| 142 | + 'TrafficMonitor': 'Network', |
| 143 | + 'TrafficType': 'Network', |
180 | 144 | 'Product': 'Product', |
181 | 145 | 'LB': 'Load Balancer', |
182 | 146 | 'ldap': 'LDAP', |
183 | 147 | 'Ldap': 'LDAP', |
184 | | - 'Swift': 'Swift', |
| 148 | + 'Swift': 'Image Store', |
185 | 149 | 'S3' : 'S3', |
186 | | - 'SecondaryStorage': 'Host', |
| 150 | + 'SecondaryStorage': 'Image Store', |
187 | 151 | 'Project': 'Project', |
188 | 152 | 'Lun': 'Storage', |
189 | 153 | 'Pool': 'Pool', |
190 | 154 | 'VPC': 'VPC', |
| 155 | + 'VPCOffering': 'VPC Offering', |
191 | 156 | 'PrivateGateway': 'VPC', |
192 | 157 | 'migrateVpc': 'VPC', |
193 | 158 | 'Simulator': 'simulator', |
|
201 | 166 | 'Counter': 'AutoScale', |
202 | 167 | 'Condition': 'AutoScale', |
203 | 168 | 'Api': 'API Discovery', |
| 169 | + 'ApiLimit': 'Configuration', |
204 | 170 | 'Region': 'Region', |
205 | 171 | 'Detail': 'Resource metadata', |
206 | 172 | 'addIpToNic': 'Nic', |
207 | 173 | 'removeIpFromNic': 'Nic', |
208 | 174 | 'updateVmNicIp': 'Nic', |
209 | 175 | 'listNics':'Nic', |
210 | | - 'AffinityGroup': 'Affinity Group', |
| 176 | + 'AffinityGroup': 'Affinity Group', |
| 177 | + 'ImageStore': 'Image Store', |
211 | 178 | 'addImageStore': 'Image Store', |
212 | 179 | 'listImageStore': 'Image Store', |
213 | 180 | 'deleteImageStore': 'Image Store', |
|
228 | 195 | 'CacheStores' : 'Cache Stores', |
229 | 196 | 'CacheStore' : 'Cache Store', |
230 | 197 | 'OvsElement' : 'Ovs Element', |
231 | | - 'StratosphereSsp' : ' Stratosphere SSP', |
| 198 | + 'StratosphereSsp' : 'Misc Network Service Providers', |
232 | 199 | 'Metrics' : 'Metrics', |
| 200 | + 'listClustersMetrics': 'Cluster', |
| 201 | + 'VpnUser': 'VPN', |
| 202 | + 'listZonesMetrics': 'Metrics', |
233 | 203 | 'Infrastructure' : 'Metrics', |
234 | | - 'listNetscalerControlCenter' : 'Load Balancer', |
235 | 204 | 'listRegisteredServicePackages': 'Load Balancer', |
236 | 205 | 'listNsVpx' : 'Load Balancer', |
237 | 206 | 'destroyNsVPx': 'Load Balancer', |
238 | 207 | 'deployNetscalerVpx' : 'Load Balancer', |
239 | | - 'deleteNetscalerControlCenter' : 'Load Balancer', |
240 | 208 | 'stopNetScalerVpx' : 'Load Balancer', |
241 | 209 | 'deleteServicePackageOffering' : 'Load Balancer', |
242 | 210 | 'destroyNsVpx' : 'Load Balancer', |
|
256 | 224 | 'UnmanagedInstance': 'Virtual Machine', |
257 | 225 | 'KubernetesSupportedVersion': 'Kubernetes Service', |
258 | 226 | 'KubernetesCluster': 'Kubernetes Service', |
259 | | - 'UnmanagedInstance': 'Virtual Machine', |
260 | 227 | 'Rolling': 'Rolling Maintenance', |
261 | 228 | 'importVsphereStoragePolicies' : 'vSphere storage policies', |
262 | 229 | 'listVsphereStoragePolicies' : 'vSphere storage policies', |
263 | 230 | 'ConsoleEndpoint': 'Console Endpoint', |
264 | | - 'Shutdown': 'Shutdown', |
265 | 231 | 'importVm': 'Virtual Machine', |
| 232 | + 'revertToVMSnapshot': 'Virtual Machine', |
266 | 233 | 'listQuarantinedIp': 'IP Quarantine', |
267 | 234 | 'updateQuarantinedIp': 'IP Quarantine', |
268 | 235 | 'removeQuarantinedIp': 'IP Quarantine', |
269 | | - 'Shutdown': 'Shutdown', |
| 236 | + 'Shutdown': 'Management', |
270 | 237 | 'addObjectStoragePool': 'Object Store', |
271 | 238 | 'listObjectStoragePools': 'Object Store', |
272 | 239 | 'deleteObjectStoragePool': 'Object Store', |
|
276 | 243 | 'deleteBucket': 'Object Store', |
277 | 244 | 'listBuckets': 'Object Store', |
278 | 245 | 'listVmsForImport': 'Virtual Machine', |
279 | | - 'importVm': 'Virtual Machine', |
280 | 246 | 'SharedFS': 'Shared FileSystem', |
281 | 247 | 'SharedFileSystem': 'Shared FileSystem', |
282 | 248 | 'Webhook': 'Webhook', |
|
297 | 263 |
|
298 | 264 |
|
299 | 265 | def choose_category(fn): |
| 266 | + possible_known_categories = [] |
300 | 267 | for k, v in known_categories.items(): |
301 | 268 | if k in fn: |
302 | | - return v |
| 269 | + possible_known_categories.append(k) |
| 270 | + |
| 271 | + if len(possible_known_categories) > 0: |
| 272 | + close_matches = difflib.get_close_matches(fn, possible_known_categories, n=1, cutoff=0.1) |
| 273 | + if len(close_matches) > 0: |
| 274 | + return known_categories[close_matches[0]] |
| 275 | + else: |
| 276 | + return known_categories[possible_known_categories[0]] |
303 | 277 | raise Exception('Need to add a category for %s to %s:known_categories' % |
304 | 278 | (fn, __file__)) |
305 | | - sys.exit(1) |
306 | 279 |
|
307 | 280 |
|
308 | 281 | for f in sys.argv: |
@@ -353,7 +326,6 @@ def xml_for(command): |
353 | 326 | def write_xml(out, user): |
354 | 327 | with open(out, 'w') as f: |
355 | 328 | cat_strings = [] |
356 | | - |
357 | 329 | for category in categories.keys(): |
358 | 330 | strings = [] |
359 | 331 | for command in categories[category]: |
|
0 commit comments