# aci_config_rollback – Provides rollback and rollback preview functionality (config:ImportP)

New in version 2.4.

- Synopsis
- Parameters
- See Also
- Examples
- Return Values
- Status

## Synopsis

- Provides rollback and rollback preview functionality for Cisco ACI fabrics.
- Config Rollbacks are done using snapshots `aci_snapshot` with the configImportP class.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
certificate_name string |  | The X.509 certificate name attached to the APIC AAA user used for signature-based authentication. If a `private_key` filename was provided, this defaults to the `private_key` basename, without extension. If PEM-formatted content was provided for `private_key`, this defaults to the `username` value. aliases: cert_name
compare_export_policy string |  | The export policy that the `compare_snapshot` is associated to.
compare_snapshot string |  | The name of the snapshot to compare with `snapshot`.
description string |  | The description for the Import Policy. aliases: descr
export_policy string / required |  | The export policy that the `snapshot` is associated to.

fail_on_decrypt
boolean

Choices:
- no
- yes

Determines if the APIC should fail the rollback if unable to decrypt secured data.
The APIC defaults to `yes` when unset.

host string / required |  | IP Address or hostname of APIC resolvable by Ansible control host. aliases: hostname

import_mode
string

Choices:
- atomic
- best-effort

Determines how the import should be handled by the APIC.
The APIC defaults to `atomic` when unset.

import_policy string |  | The name of the Import Policy to use for config rollback.

import_type
string

Choices:
- merge
- replace

Determines how the current and snapshot configuration should be compared for replacement.
The APIC defaults to `replace` when unset.

output_level
string

Choices:
- debug
- info
- normal ←

Influence the output of this ACI module.
`normal` means the standard output, incl. `current` dict
`info` adds informational output, incl. `previous`, `proposed` and `sent` dicts
`debug` adds debugging output, incl. `filter_string`, `method`, `response`, `status` and `url` information

password string / required |  | The password to use for authentication. This option is mutual exclusive with `private_key`. If `private_key` is provided too, it will be used instead.
port integer |  | Port number to be used for REST connection. The default value depends on parameter `use_ssl`.
private_key string / required |  | Either a PEM-formatted private key file or the private key content used for signature-based authentication. This value also influences the default `certificate_name` that is used. This option is mutual exclusive with `password`. If `password` is provided too, it will be ignored. aliases: cert_key
snapshot string / required |  | The name of the snapshot to rollback to, or the base snapshot to use for comparison. The `aci_snapshot` module can be used to query the list of available snapshots.

state
string

Choices:
- preview
- rollback ←

Use `preview` for previewing the diff between two snapshots.
Use `rollback` for reverting the configuration to a previous snapshot.

timeout integer | Default: 30 | The socket level timeout in seconds.

use_proxy
boolean

Choices:
- no
- yes ←

If `no`, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

use_ssl
boolean

Choices:
- no
- yes ←

If `no`, an HTTP connection will be used instead of the default HTTPS connection.

username string | Default: "admin" | The username to use for authentication. aliases: user

validate_certs
boolean

Choices:
- no
- yes ←

If `no`, SSL certificates will not be validated.
This should only set to `no` when used on personally controlled sites using self-signed certificates.

## See Also

See also

aci_config_snapshot – Manage Config Snapshots (config:Snapshot, config:ExportP)
  The official documentation on the aci_config_snapshot module.
APIC Management Information Model reference
  More information about the internal APIC class config:ImportP.
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
      aci_config_snapshot:
        host: apic
        username: admin
        password: SomeSecretPassword
        export_policy: config_backup
        state: present
      delegate_to: localhost

    - name: Query Existing Snapshots
      aci_config_snapshot:
        host: apic
        username: admin
        password: SomeSecretPassword
        export_policy: config_backup
        state: query
      delegate_to: localhost

    - name: Compare Snapshot Files
      aci_config_rollback:
        host: apic
        username: admin
        password: SomeSecretPassword
        export_policy: config_backup
        snapshot: run-2017-08-28T06-24-01
        compare_export_policy: config_backup
        compare_snapshot: run-2017-08-27T23-43-56
        state: preview
      delegate_to: localhost

    - name: Rollback Configuration
      aci_config_rollback:
        host: apic
        username: admin
        password: SomeSecretPassword
        import_policy: rollback_config
        export_policy: config_backup
        snapshot: run-2017-08-28T06-24-01
        state: rollback
      delegate_to: localhost

    - name: Rollback Configuration
      aci_config_rollback:
        host: apic
        username: admin
        password: SomeSecretPassword
        import_policy: rollback_config
        export_policy: config_backup
        snapshot: run-2017-08-28T06-24-01
        description: Rollback 8-27 changes
        import_mode: atomic
        import_type: replace
        fail_on_decrypt: yes
        state: rollback
      delegate_to: localhost

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
error dictionary | failure | The error information as returned from the APIC Sample: {'code': '122', 'text': 'unknown managed object class foo'}
filter_string string | failure or debug | The filter string used for the request Sample: ?rsp-prop-include=config-only
method string | failure or debug | The HTTP method used for the request to the APIC Sample: POST
preview string | when state is preview | A preview between two snapshots
raw string | parse error | The raw output returned by the APIC REST API (xml or json) Sample: <?xml version="1.0" encoding="UTF-8"?><imdata totalCount="1"><error code="122" text="unknown managed object class foo"/></imdata>
response string | failure or debug | The HTTP response from the APIC Sample: OK (30 bytes)
status integer | failure or debug | The HTTP status from the APIC Sample: 200
url string | failure or debug | The HTTP url used for the request to the APIC Sample: https://10.11.12.13/api/mo/uni/tn-production.json

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by an Ansible Partner. [certified]

### Authors

- Jacob McGill (@jmcgill298)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.