On this page
ngine_io.cloudstack.cs_snapshot_policy – Manages volume snapshot policies on Apache CloudStack based clouds.
Note
This plugin is part of the ngine_io.cloudstack collection (version 2.2.2).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install ngine_io.cloudstack.
To use it in a playbook, specify: ngine_io.cloudstack.cs_snapshot_policy.
New in version 0.1.0: of ngine_io.cloudstack
Synopsis
- Create, update and delete volume snapshot policies.
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - cs >= 0.9.0
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| account
        
        string
         | 
      
        
        Account the volume is related to.
         | 
     |
| api_http_method
        
        string
         | 
      
       
  | 
      
        
        HTTP method used to query the API endpoint.
        
       
        If not given, the  CLOUDSTACK_METHOD env variable is considered.
        | 
     
| api_key
        
        string / required
         | 
      
        
        API key of the CloudStack API.
        
       
        If not given, the  CLOUDSTACK_KEY env variable is considered.
        | 
     |
| api_secret
        
        string / required
         | 
      
        
        Secret key of the CloudStack API.
        
       
        If not set, the  CLOUDSTACK_SECRET env variable is considered.
        | 
     |
| api_timeout
        
        integer
         | 
      Default: 
        10
         | 
      
        
        HTTP timeout in seconds.
        
       
        If not given, the  CLOUDSTACK_TIMEOUT env variable is considered.
        | 
     
| api_url
        
        string / required
         | 
      
        
        URL of the CloudStack API e.g. https://cloud.example.com/client/api.
        
       
        If not given, the  CLOUDSTACK_ENDPOINT env variable is considered.
        | 
     |
| api_verify_ssl_cert
        
        string
         | 
      
        
        Verify CA authority cert file.
        
       
        If not given, the  CLOUDSTACK_VERIFY env variable is considered.
        | 
     |
| device_id
        
        integer
         | 
      
        
        ID of the device on a VM the volume is attached to.
        
       
        This will only be considered if VM has multiple DATADISK volumes.
         | 
     |
| domain
        
        string
         | 
      
        
        Domain the volume is related to.
         | 
     |
| interval_type
        
        string
         | 
      
       
  | 
      
        
        Interval of the snapshot.
        
       aliases: interval  | 
     
| max_snaps
        
        integer
         | 
      Default: 
        8
         | 
      
        
        Max number of snapshots.
        
       aliases: max  | 
     
| project
        
        string
         | 
      
        
        Name of the project the volume is related to.
         | 
     |
| schedule
        
        string
         | 
      
        
        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
        
        string
         | 
      
       
  | 
      
        
        State of the snapshot policy.
         | 
     
| time_zone
        
        string
         | 
      Default: 
        "UTC"
         | 
      
        
        Specifies a timezone for this command.
        
       aliases: timezone  | 
     
| vm
        
        string
         | 
      
        
        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
        
        string
         | 
      
        
        Name of the volume.
        
       
        Either volume or vm is required.
         | 
     |
| volume_type
        
        string
         | 
      
       
  | 
      
        
        Type of the volume.
         | 
     
| vpc
        
        string
         | 
      
        
        Name of the vpc the instance is deployed in.
         | 
     
Notes
Note
- A detailed guide about cloudstack modules can be found in the CloudStack Cloud Guide.
 - This module supports check mode.
 
Examples
- name: ensure a snapshot policy daily at 1h00 UTC
  ngine_io.cloudstack.cs_snapshot_policy:
    volume: ROOT-478
    schedule: '00:1'
    max_snaps: 3
- name: ensure a snapshot policy daily at 1h00 UTC on the second DATADISK of VM web-01
  ngine_io.cloudstack.cs_snapshot_policy:
    vm: web-01
    volume_type: DATADISK
    device_id: 2
    schedule: '00:1'
    max_snaps: 3
- name: ensure a snapshot policy hourly at minute 5 UTC
  ngine_io.cloudstack.cs_snapshot_policy:
    volume: ROOT-478
    schedule: '5'
    interval_type: hourly
    max_snaps: 1
- name: ensure a snapshot policy weekly on Sunday at 05h00, TZ Europe/Zurich
  ngine_io.cloudstack.cs_snapshot_policy:
    volume: ROOT-478
    schedule: '00:5:1'
    interval_type: weekly
    max_snaps: 1
    time_zone: 'Europe/Zurich'
- name: ensure a snapshot policy is absent
  ngine_io.cloudstack.cs_snapshot_policy:
    volume: ROOT-478
    interval_type: hourly
    state: absent
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| account
        
        string
         | 
      success | 
        
        Account the volume is related to.
         Sample:
        
       
        example account
         | 
     
| domain
        
        string
         | 
      success | 
        
        Domain the volume is related to.
         Sample:
        
       
        example domain
         | 
     
| id
        
        string
         | 
      success | 
        
        UUID of the snapshot policy.
         Sample:
        
       
        a6f7a5fc-43f8-11e5-a151-feff819cdc9f
         | 
     
| interval_type
        
        string
         | 
      success | 
        
        interval type of the snapshot policy.
         Sample:
        
       
        daily
         | 
     
| max_snaps
        
        integer
         | 
      success | 
        
        maximum number of snapshots retained.
         Sample:
        
       
        10
         | 
     
| project
        
        string
         | 
      success | 
        
        Name of project the volume is related to.
         Sample:
        
       
        Production
         | 
     
| schedule
        
        string
         | 
      success | 
        
        schedule of the snapshot policy.
          | 
     
| time_zone
        
        string
         | 
      success | 
        
        the time zone of the snapshot policy.
         Sample:
        
       
        Etc/UTC
         | 
     
| volume
        
        string
         | 
      success | 
        
        the volume of the snapshot policy.
         Sample:
        
       
        Etc/UTC
         | 
     
| zone
        
        string
         | 
      success | 
        
        Name of zone the volume is related to.
         Sample:
        
       
        ch-gva-2
         | 
     
Authors
- René Moser (@resmo)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/ngine_io/cloudstack/cs_snapshot_policy_module.html