Compare commits

..

3 Commits

Author SHA1 Message Date
Fabio Sinibaldi 2f807008f4 stdout_callback = debug 2026-07-14 17:30:21 +02:00
Fabio Sinibaldi da05908d65 OS_getInfo Playbook 2026-07-14 17:30:01 +02:00
Fabio Sinibaldi 8d38f71eb5 Custom Filter mapattributes 2026-07-14 17:29:23 +02:00
5 changed files with 63 additions and 2 deletions

3
.gitignore vendored
View File

@ -1,2 +1,3 @@
.DS_Store .DS_Store
ansible/playbooks/wg_clients ansible/playbooks/wg_clients
ansible/playbooks/filter_plugins/__pycache__

View File

@ -215,7 +215,7 @@ ask_vault_pass=True
# (string) Set the main callback used to display Ansible output. You can only have one at a time. # (string) Set the main callback used to display Ansible output. You can only have one at a time.
# You can have many other callbacks, but just one can be in charge of stdout. # You can have many other callbacks, but just one can be in charge of stdout.
# See :ref:`callback_plugins` for a list of available options. # See :ref:`callback_plugins` for a list of available options.
;stdout_callback=default stdout_callback=debug
# (string) Set the default strategy used for plays. # (string) Set the default strategy used for plays.
;strategy=linear ;strategy=linear

View File

@ -0,0 +1,37 @@
---
- hosts: localhost
collections:
- openstack.cloud
vars:
cloud: openstack
tasks:
- name : Get images
resources:
service: image
type: image
register: images
- debug:
msg: "Images : {{images.resources | mapattributes(['name','status']) | to_nice_yaml}}"
- name : Get compute flavors
resources:
service: compute
type: flavor
register: flavors
- debug:
msg: "Flavors : {{flavors.resources | mapattributes(['name','ram','vcpus']) | to_nice_yaml}}"
- name : Get networks
resources:
service: network
type: network
register: networks
- debug:
msg: "Networks : {{networks.resources | mapattributes(['name','status']) | to_nice_yaml}}"

View File

@ -0,0 +1,20 @@
# Source - https://stackoverflow.com/a/57665825
# Posted by Rabin, modified by community. See post 'Timeline' for change history
# Retrieved 2026-07-14, License - CC BY-SA 4.0
#!/usr/bin/env python
class FilterModule(object):
def filters(self):
return { 'mapattributes': self.mapattributes }
def mapattributes(self, list_of_dicts, list_of_keys):
l = []
for di in list_of_dicts:
newdi = { }
for key in list_of_keys:
# newdi[key] = di[key]
if di.get(key, None) != None:
newdi[key] = di[key]
l.append(newdi)
return l

View File

@ -32,6 +32,9 @@ collections:
- name: chrissayon.wordpress_docker - name: chrissayon.wordpress_docker
version: 1.0.2 version: 1.0.2
- name: openstack.cloud
version: 2.6.0
# dockerless wordpress # dockerless wordpress
# - name: iamgini.wordpress # - name: iamgini.wordpress
# version: 1.0.0 # version: 1.0.0