首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ansible中知道ovirt_*模块的nested_attributes名称?如何将它们全部获取?

如何在ansible中知道ovirt_*模块的nested_attributes名称?如何将它们全部获取?
EN

Stack Overflow用户
提问于 2021-02-14 18:57:53
回答 1查看 109关注 0票数 1

令我惊讶的是,由于ansible 2.9 (我相信) ovirt info模块在默认情况下不会获取嵌套字典。而且,由于大多数有价值的数据通常驻留在那里,我正在寻找简单的方法来获取它们。只是设置

代码语言:javascript
运行
复制
fetch_nested: yes

通常只给出is,这不是非常有用的,为了获得所需的数据,我需要知道给定模块的属性字典的确切名称,这是有问题的,直到我看到那个二次读取的输出(鸡或蛋)。

这些文档在属性名称方面非常小气,例如:

- nested_attributes Specifies list of the attributes which should be fetched from the API. This parameter apply only when fetch_nested' is true'. [Default: (null)] type: list version_added: 2.3

此条目在大多数ovirt*_info模块的文档中是相同的,例如ovirt_event_info、ovirt_storage_domain_info、ovirt_nic_info (它们具有不同的嵌套数据和不同的属性名称)。

如果有一种方法可以获取它们,那就太好了,就像这样:

代码语言:javascript
运行
复制
        nested_attributes: 
        - all

遗憾的是,这不起作用。如果有人告诉我获取属性名称的明显方法,我将不胜感激,如果没有它,我会发现ovirt模块很难使用。

我理解应用这些更改是为了提高速度,但它似乎不太用户友好,可能会破坏为以前版本编写的代码。

所描述的ovirt*_info模块行为是用ovirt4.4观察到的,例如,我怀疑ansible ovirt模块的行为是否会与ovirt4.3不同,但谁知道……

EN

回答 1

Stack Overflow用户

发布于 2021-02-16 05:39:12

首先,感谢这个问题,老实说,我也有一段时间在思考这个问题。

获取嵌套属性的所有名称的最简单方法可能是使用API。例如,您需要知道VM模板的所有可能属性,因此您转到https://FQCN/api/vms/ID,在那里您将看到模板href,您将在其中看到所有可用的属性。不是很好的方法,但最简单。

我对如何改进/解决这个问题几乎没有想法,但我需要小心不要破坏任何向后兼容性。

所以,如果你可以在GitHub repo 1上打开一个关于这个问题的问题,我们可以和其他开发人员围绕这个问题进行讨论。

1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66194676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档