cisco.aci.aci_config_snapshot module – Manage Config Snapshots (config:Snapshot, config:ExportP)
Note
This module is part of the cisco.aci collection (version 2.2.0).
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 cisco.aci.
To use it in a playbook, specify: cisco.aci.aci_config_snapshot.
Synopsis
- Manage Config Snapshots on Cisco ACI fabrics. 
- Creating new Snapshots is done using the configExportP class. 
- Removing Snapshots is done using the configSnapshot class. 
Parameters
| Parameter | Comments | 
|---|---|
| The X.509 certificate name attached to the APIC AAA user used for signature-based authentication. If a  If PEM-formatted content was provided for  If the value is not specified in the task, the value of environment variable  | |
| The description for the Config Export Policy. | |
| The name of the Export Policy to use for Config Snapshots. | |
| Sets the config backup to be formatted in JSON or XML. The APIC defaults to  Choices: 
 | |
| IP Address or hostname of APIC resolvable by Ansible control host. If the value is not specified in the task, the value of environment variable  | |
| Determines if secure information should be included in the backup. The APIC defaults to  Choices: 
 | |
| Determines how many snapshots can exist for the Export Policy before the APIC starts to rollover. Accepted values range between  The APIC defaults to  | |
| Influence the output of this ACI module. 
 
 
 If the value is not specified in the task, the value of environment variable  Choices: 
 | |
| Path to a file that will be used to dump the ACI JSON configuration objects generated by the module. If the value is not specified in the task, the value of environment variable  | |
| The password to use for authentication. This option is mutual exclusive with  If the value is not specified in the task, the value of environment variables  | |
| Port number to be used for REST connection. The default value depends on parameter  If the value is not specified in the task, the value of environment variable  | |
| Either a PEM-formatted private key file or the private key content used for signature-based authentication. This value also influences the default  This option is mutual exclusive with  If the value is not specified in the task, the value of environment variable  | |
| The name of the snapshot to delete. | |
| Use  Use  Choices: 
 | |
| The socket level timeout in seconds. If the value is not specified in the task, the value of environment variable  Default: 30 | |
| If  If the value is not specified in the task, the value of environment variable  Choices: 
 | |
| If  If the value is not specified in the task, the value of environment variable  Choices: 
 | |
| The username to use for authentication. If the value is not specified in the task, the value of environment variables  Default: “admin” | |
| If  This should only set to  If the value is not specified in the task, the value of environment variable  Choices: 
 | 
Notes
Note
- The APIC does not provide a mechanism for naming the snapshots. 
- Snapshot files use the following naming structure: ce_<config export policy name>-<yyyy>-<mm>-<dd>T<hh>:<mm>:<ss>.<mss>+<hh>:<mm>. 
- Snapshot objects use the following naming structure: run-<yyyy>-<mm>-<dd>T<hh>-<mm>-<ss>. 
See Also
See also
- cisco.aci.aci_config_rollback
- The official documentation on the cisco.aci.aci_config_rollback module. 
- APIC Management Information Model reference
- More information about the internal APIC classes config:Snapshot and config:ExportP. 
- Cisco ACI Guide
- Detailed information on how to manage your ACI infrastructure using Ansible. 
- Developing Cisco ACI modules
- Detailed guide on how to write your own Cisco ACI modules to contribute. 
Examples
- name: Create a Snapshot
  cisco.aci.aci_config_snapshot:
    host: apic
    username: admin
    password: SomeSecretPassword
    state: present
    export_policy: config_backup
    max_count: 10
    description: Backups taken before new configs are applied.
  delegate_to: localhost
- name: Query all Snapshots
  cisco.aci.aci_config_snapshot:
    host: apic
    username: admin
    password: SomeSecretPassword
    state: query
  delegate_to: localhost
  register: query_result
- name: Query Snapshots associated with a particular Export Policy
  cisco.aci.aci_config_snapshot:
    host: apic
    username: admin
    password: SomeSecretPassword
    export_policy: config_backup
    state: query
  delegate_to: localhost
  register: query_result
- name: Delete a Snapshot
  cisco.aci.aci_config_snapshot:
    host: apic
    username: admin
    password: SomeSecretPassword
    export_policy: config_backup
    snapshot: run-2017-08-24T17-20-05
    state: absent
  delegate_to: localhost
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| The existing configuration from the APIC after the module has finished Returned: success Sample: [{“fvTenant”: {“attributes”: {“descr”: “Production environment”, “dn”: “uni/tn-production”, “name”: “production”, “nameAlias”: “”, “ownerKey”: “”, “ownerTag”: “”}}}] | |
| The error information as returned from the APIC Returned: failure Sample: {“code”: “122”, “text”: “unknown managed object class foo”} | |
| The filter string used for the request Returned: failure or debug Sample: “?rsp-prop-include=config-only” | |
| The HTTP method used for the request to the APIC Returned: failure or debug Sample: “POST” | |
| The original configuration from the APIC before the module has started Returned: info Sample: [{“fvTenant”: {“attributes”: {“descr”: “Production”, “dn”: “uni/tn-production”, “name”: “production”, “nameAlias”: “”, “ownerKey”: “”, “ownerTag”: “”}}}] | |
| The assembled configuration from the user-provided parameters Returned: info Sample: {“fvTenant”: {“attributes”: {“descr”: “Production environment”, “name”: “production”}}} | |
| The raw output returned by the APIC REST API (xml or json) Returned: parse error Sample: “\u003c?xml version=\”1.0\” encoding=\”UTF-8\”?\u003e\u003cimdata totalCount=\”1\”\u003e\u003cerror code=\”122\” text=\”unknown managed object class foo\”/\u003e\u003c/imdata\u003e” | |
| The HTTP response from the APIC Returned: failure or debug Sample: “OK (30 bytes)” | |
| The actual/minimal configuration pushed to the APIC Returned: info Sample: {“fvTenant”: {“attributes”: {“descr”: “Production environment”}}} | |
| The HTTP status from the APIC Returned: failure or debug Sample: 200 | |
| The HTTP url used for the request to the APIC Returned: failure or debug | 
Authors
- Jacob McGill (@jmcgill298)