cs_snapshot_policy - Manages volume snapshot policies on Apache CloudStack based clouds.
New in version 2.2.
Synopsis
- Create, update and delete volume snapshot policies.
Requirements (on host that executes module)
- python >= 2.6
- cs >= 0.6.10
Options
| parameter | required | default | choices | comments |
|---|---|---|---|---|
| account | no | Account the volume is related to. | ||
| api_http_method | no | get |
| HTTP method used. |
| api_key | no | API key of the CloudStack API. | ||
| api_region | no | cloudstack | Name of the ini section in the cloustack.ini file. | |
| api_secret | no | Secret key of the CloudStack API. | ||
| api_timeout | no | 10 | HTTP timeout. | |
| api_url | no | URL of the CloudStack API e.g. https://cloud.example.com/client/api. | ||
| device_id (added in 2.3)
| no | ID of the device on a VM the volume is attached to. This will only be considered if VM has multiple DATADISK volumes. | ||
| domain | no | Domain the volume is related to. | ||
| interval_type | no | daily |
| Interval of the snapshot. aliases: interval |
| max_snaps | no | 8 | Max number of snapshots. aliases: max | |
| project | no | Name of the project the volume is related to. | ||
| schedule | no | Time the snapshot is scheduled. Required if state=present.Format for interval_type=HOURLY: MM
Format for interval_type=DAILY: MM:HH
Format for interval_type=WEEKLY: MM:HH:DD (1-7)Format for interval_type=MONTHLY: MM:HH:DD (1-28) | ||
| state | no | present |
| State of the snapshot policy. |
| time_zone | no | UTC | Specifies a timezone for this command. aliases: timezone | |
| vm (added in 2.3)
| no | Name of the instance to select the volume from. Use volume_type if VM has a DATADISK and ROOT volume.In case of volume_type=DATADISK, additionally use device_id if VM has more than one DATADISK volume.Either volume or vm is required. | ||
| volume | no | Name of the volume. Either volume or vm is required. | ||
| volume_type (added in 2.3)
| no |
| Type of the volume. | |
| vpc (added in 2.3)
| no | Name of the vpc the instance is deployed in. |
Examples
# Ensure a snapshot policy daily at 1h00 UTC
- local_action:
module: cs_snapshot_policy
volume: ROOT-478
schedule: '00:1'
max_snaps: 3
# Ensure a snapshot policy daily at 1h00 UTC on the second DATADISK of VM web-01
- local_action:
module: cs_snapshot_policy
vm: web-01
volume_type: DATADISK
device_id: 2
schedule: '00:1'
max_snaps: 3
# Ensure a snapshot policy hourly at minute 5 UTC
- local_action:
module: cs_snapshot_policy
volume: ROOT-478
schedule: '5'
interval_type: hourly
max_snaps: 1
# Ensure a snapshot policy weekly on Sunday at 05h00, TZ Europe/Zurich
- local_action:
module: cs_snapshot_policy
volume: ROOT-478
schedule: '00:5:1'
interval_type: weekly
max_snaps: 1
time_zone: 'Europe/Zurich'
# Ensure a snapshot policy is absent
- local_action:
module: cs_snapshot_policy
volume: ROOT-478
interval_type: hourly
state: absent
Return Values
Common return values are documented here Return Values, the following are the fields unique to this module:
| name | description | returned | type | sample |
|---|---|---|---|---|
| account | Account the volume is related to. | success | string | example account |
| domain | Domain the volume is related to. | success | string | example domain |
| id | UUID of the snapshot policy. | success | string | a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| interval_type | interval type of the snapshot policy. | success | string | daily |
| max_snaps | maximum number of snapshots retained. | success | int | 10 |
| project | Name of project the volume is related to. | success | string | Production |
| schedule | schedule of the snapshot policy. | success | string | None |
| time_zone | the time zone of the snapshot policy. | success | string | Etc/UTC |
| volume | the volume of the snapshot policy. | success | string | Etc/UTC |
| zone | Name of zone the volume is related to. | success | string | ch-gva-2 |
Notes
Note
- Ansible uses the
cslibrary’s configuration method if credentials are not provided by the argumentsapi_url,api_key,api_secret. Configuration is read from several locations, in the following order. - TheCLOUDSTACK_ENDPOINT,CLOUDSTACK_KEY,CLOUDSTACK_SECRETandCLOUDSTACK_METHOD.CLOUDSTACK_TIMEOUTenvironment variables. - ACLOUDSTACK_CONFIGenvironment variable pointing to an.inifile, - Acloudstack.inifile in the current working directory. - A.cloudstack.inifile in the users home directory. Optionally multiple credentials and endpoints can be specified using ini sections incloudstack.ini. Use the argumentapi_regionto select the section name, default section iscloudstack. See https://github.com/exoscale/cs for more information. - A detailed guide about cloudstack modules can be found on http://docs.ansible.com/ansible/guide_cloudstack.html
- This module supports check mode.
Status
This module is flagged as stableinterface which means that the maintainers for this module guarantee that no backward incompatible interface changes will be made.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cs_snapshot_policy_module.html