linode-cli 5.67.0__tar.gz → 5.68.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {linode_cli-5.67.0/linode_cli.egg-info → linode_cli-5.68.0}/PKG-INFO +1 -1
- {linode_cli-5.67.0 → linode_cli-5.68.0/linode_cli.egg-info}/PKG-INFO +1 -1
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/cli.py +48 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/data-3 +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/version.py +1 -1
- {linode_cli-5.67.0 → linode_cli-5.68.0}/LICENSE +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/MANIFEST.in +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/README.md +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linode_cli.egg-info/SOURCES.txt +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linode_cli.egg-info/dependency_links.txt +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linode_cli.egg-info/entry_points.txt +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linode_cli.egg-info/requires.txt +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linode_cli.egg-info/top_level.txt +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/__init__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/__main__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/api_request.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/arg_helpers.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/baked/__init__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/baked/operation.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/baked/parsing.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/baked/request.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/baked/response.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/baked/util.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/completion.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/configuration/__init__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/configuration/auth.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/configuration/config.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/configuration/helpers.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/exit_codes.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/help_formatter.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/help_pages.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/helpers.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/oauth-landing-page.html +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/output/__init__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/output/helpers.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/output/output_handler.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/overrides.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/__init__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/firewall-editor.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/get-kubeconfig.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/image-upload.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/metadata.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/monitor-api.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/__init__.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/buckets.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/config.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/helpers.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/list.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/objects.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/obj/website.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/plugins.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/region-table.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/linodecli/plugins/ssh.py +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/pyproject.toml +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/setup.cfg +0 -0
- {linode_cli-5.67.0 → linode_cli-5.68.0}/setup.py +0 -0
|
@@ -305,8 +305,56 @@ class CLI: # pylint: disable=too-many-instance-attributes
|
|
|
305
305
|
with CLI._get_spec_file_reader(spec_location) as f:
|
|
306
306
|
parsed = CLI._parse_spec_file(f)
|
|
307
307
|
|
|
308
|
+
CLI._normalize_content_parameters(parsed)
|
|
309
|
+
|
|
308
310
|
return OpenAPI(parsed)
|
|
309
311
|
|
|
312
|
+
@staticmethod
|
|
313
|
+
def _normalize_content_parameters(parsed: Dict[str, Any]):
|
|
314
|
+
"""
|
|
315
|
+
The openapi3 library does not support the OpenAPI 3.0 ``content``
|
|
316
|
+
form for Parameter objects. This method converts any such
|
|
317
|
+
parameters (in components and inline on paths/operations) to use
|
|
318
|
+
a top-level ``schema`` field so they can be parsed normally.
|
|
319
|
+
|
|
320
|
+
:param parsed: The raw spec dict to mutate in-place.
|
|
321
|
+
"""
|
|
322
|
+
|
|
323
|
+
def _fix_param(param):
|
|
324
|
+
if not isinstance(param, dict):
|
|
325
|
+
return
|
|
326
|
+
if "content" in param and "schema" not in param:
|
|
327
|
+
content = param.pop("content")
|
|
328
|
+
for media_obj in content.values():
|
|
329
|
+
if isinstance(media_obj, dict) and "schema" in media_obj:
|
|
330
|
+
param["schema"] = media_obj["schema"]
|
|
331
|
+
break
|
|
332
|
+
|
|
333
|
+
for param in (
|
|
334
|
+
parsed.get("components", {}).get("parameters", {}).values()
|
|
335
|
+
):
|
|
336
|
+
_fix_param(param)
|
|
337
|
+
|
|
338
|
+
for path_item in parsed.get("paths", {}).values():
|
|
339
|
+
if not isinstance(path_item, dict):
|
|
340
|
+
continue
|
|
341
|
+
for p in path_item.get("parameters", []):
|
|
342
|
+
_fix_param(p)
|
|
343
|
+
for method in (
|
|
344
|
+
"get",
|
|
345
|
+
"put",
|
|
346
|
+
"post",
|
|
347
|
+
"delete",
|
|
348
|
+
"options",
|
|
349
|
+
"head",
|
|
350
|
+
"patch",
|
|
351
|
+
"trace",
|
|
352
|
+
):
|
|
353
|
+
operation = path_item.get(method)
|
|
354
|
+
if isinstance(operation, dict):
|
|
355
|
+
for p in operation.get("parameters", []):
|
|
356
|
+
_fix_param(p)
|
|
357
|
+
|
|
310
358
|
@staticmethod
|
|
311
359
|
@contextlib.contextmanager
|
|
312
360
|
def _get_spec_file_reader(
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|