Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions plugins/modules/snapshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@
- Mutually exclusive with I(url).
- I(instance) or I(url) is required if I(state=present).
type: str
uefi:
description:
- Whether or not the snapshot uses UEFI.
- Only considered on creation when I(url) is provided.
type: bool
default: false
url:
description:
- The URL of the snapshot image (RAW) to be uploaded.
Expand Down Expand Up @@ -164,6 +170,8 @@ def create(self):

if self.module.params.get("url") is not None:
self.resource_create_param_keys.append("url")
if self.module.params.get("uefi") is not None:
self.resource_create_param_keys.append("uefi")
# Upload by URL has a different endpoint
self.resource_path = self.resource_path + "/create-from-url"
else:
Expand All @@ -187,6 +195,7 @@ def main():
dict(
description=dict(type="str", required=True, aliases=["name"]),
instance=dict(type="str"),
uefi=dict(type="bool", default=False),
url=dict(type="str"),
state=dict(type="str", choices=["present", "absent"], default="present"),
) # type: ignore
Expand Down
4 changes: 4 additions & 0 deletions tests/integration/targets/snapshot/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,7 @@ vultr_snapshots:

- description: "{{ vultr_resource_prefix }}_desc2"
url: https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.raw

- description: "{{ vultr_resource_prefix }}_desc3"
url: https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.raw
uefi: true
1 change: 1 addition & 0 deletions tests/integration/targets/snapshot/tasks/present.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
vultr.cloud.snapshot:
description: "{{ snapshot.description }}"
instance: "{{ snapshot.instance | default(omit) }}"
uefi: "{{ snapshot.uefi | default(omit) }}"
url: "{{ snapshot.url | default(omit) }}"
register: result
- name: verify test create snapshot
Expand Down
Loading