diff --git a/plugins/modules/podman_container.py b/plugins/modules/podman_container.py index 7513e30..75349f1 100644 --- a/plugins/modules/podman_container.py +++ b/plugins/modules/podman_container.py @@ -732,7 +732,7 @@ options: type: path quadlet_filename: description: - - Name of quadlet file to write. By default it takes I(name) value. + - Name of quadlet file to write. By default it takes C(name) value. type: str quadlet_options: description: @@ -1018,7 +1018,7 @@ EXAMPLES = r""" name: quadlet-container image: nginx state: quadlet - quadlet_dir: ~/.config/containers/systemd/nginx.container + quadlet_filename: custome-container device: "/dev/sda:/dev/xvda:rwm" ports: - "8080:80" diff --git a/plugins/modules/podman_image.py b/plugins/modules/podman_image.py index d78e6d7..7fcb004 100644 --- a/plugins/modules/podman_image.py +++ b/plugins/modules/podman_image.py @@ -299,6 +299,18 @@ EXAMPLES = r""" containers.podman.podman_image: name: nginx arch: amd64 + +- name: Create a quadlet file for an image + containers.podman.podman_image: + name: docker.io/library/alpine:latest + state: quadlet + quadlet_dir: /etc/containers/systemd + quadlet_filename: alpine-latest + quadlet_options: + - Variant=arm/v7 + - | + [Install] + WantedBy=default.target """ RETURN = r""" diff --git a/plugins/modules/podman_network.py b/plugins/modules/podman_network.py index 5ae4048..1d521d0 100644 --- a/plugins/modules/podman_network.py +++ b/plugins/modules/podman_network.py @@ -167,6 +167,14 @@ EXAMPLES = r""" subnet: 192.168.22.0/24 gateway: 192.168.22.1 become: true + +- name: Create Quadlet file for podman network + containers.podman.podman_network: + name: podman_network + state: quadlet + quadlet_options: + - IPv6=true + - Label=”ipv6 network” """ RETURN = r""" diff --git a/plugins/modules/podman_play.py b/plugins/modules/podman_play.py index 8e8b1d9..66138ef 100644 --- a/plugins/modules/podman_play.py +++ b/plugins/modules/podman_play.py @@ -198,6 +198,19 @@ EXAMPLES = ''' log_opt: path: /tmp/my-container.log max_size: 10mb + +- name: Create a Quadlet file + containers.podman.podman_play: + kube_file: ~/kube.yaml + state: quadlet + annotations: + greeting: hello + greet_to: world + userns: host + quadlet_filename: kube-pod + quadlet_options: + - "SetWorkingDirectory=yaml" + - "ExitCodePropagation=any" ''' import re # noqa: F402 try: diff --git a/plugins/modules/podman_pod.py b/plugins/modules/podman_pod.py index 0d3adf7..a975921 100644 --- a/plugins/modules/podman_pod.py +++ b/plugins/modules/podman_pod.py @@ -452,7 +452,7 @@ pod: EXAMPLES = ''' # What modules does for example -- podman_pod: +- containers.podman.podman_pod: name: pod1 state: started ports: @@ -464,6 +464,16 @@ EXAMPLES = ''' name: pod2 state: started publish: "127.0.0.1::80" + +# Create a Quadlet file for a pod +- containers.podman.podman_pod: + name: qpod + state: quadlet + ports: + - "4444:5555" + volume: + - /var/run/docker.sock:/var/run/docker.sock + quadlet_dir: /custom/dir ''' from ansible.module_utils.basic import AnsibleModule # noqa: F402 from ..module_utils.podman.podman_pod_lib import PodmanPodManager # noqa: F402 diff --git a/plugins/modules/podman_volume.py b/plugins/modules/podman_volume.py index d7d9430..0b99035 100644 --- a/plugins/modules/podman_volume.py +++ b/plugins/modules/podman_volume.py @@ -107,7 +107,8 @@ volume: EXAMPLES = ''' # What modules does for example -- podman_volume: +- name: Create a volume + containers.podman.podman_volume: state: present name: volume1 label: @@ -116,6 +117,17 @@ EXAMPLES = ''' options: - "device=/dev/loop1" - "type=ext4" + +- name: Create a Quadlet file for a volume + containers.podman.podman_volume: + state: quadlet + name: quadlet_volume + quadlet_filename: custom-name + quadlet_options: + - Group=192 + - Copy=true + - Image=quay.io/centos/centos:latest + ''' # noqa: F402 import json # noqa: F402