f5networks.f5_bigip.bigip_ucs (1.13.0) — module

Manage upload, installation, and removal of UCS files

| "added in version" 1.0.0 of f5networks.f5_bigip"

Authors: Wojciech Wypior (@wojtek0806)

Install collection

Install with ansible-galaxy collection install f5networks.f5_bigip:==1.13.0


Add to requirements.yml

  collections:
    - name: f5networks.f5_bigip
      version: 1.13.0

Description

Manage upload, installation, and removal of UCS files on a BIG-IP system. A user configuration set (UCS) is a backup file that contains BIG-IP configuration data that can be used to fully restore a BIG-IP system in the event of a failure or RMA replacement.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: all
  collections:
    - f5networks.f5_bigip
  connection: httpapi

  vars:
    ansible_host: "lb.mydomain.com"
    ansible_user: "admin"
    ansible_httpapi_password: "secret"
    ansible_network_os: f5networks.f5_bigip.bigip
    ansible_httpapi_use_ssl: yes

  tasks:
    - name: Upload UCS
      bigip_ucs:
        ucs: /root/bigip.localhost.localdomain.ucs
        state: present

    - name: Install (upload, install) UCS - start task
      bigip_ucs:
        ucs: /root/bigip.localhost.localdomain.ucs
        state: installed
        register: task

    - name: Install (upload, install) UCS - check task
      bigip_ucs:
        ucs: "{{ task.ucs }}"
        task_id: "{{ task.task_id }}"
        timeout: 300

    - name: Install (upload, install) UCS without installing the license portion - start task
      bigip_ucs:
        ucs: /root/bigip.localhost.localdomain.ucs
        no_license: yes
        state: installed
        register: task

    - name: Install (upload, install) UCS without installing the license portion - check task
      bigip_ucs:
        ucs: "{{ task.ucs }}"
        task_id: "{{ task.task_id }}"
        timeout: 300

    - name: Install (upload, install) UCS except the license, and bypassing the platform check - start task
      bigip_ucs:
        ucs: /root/bigip.localhost.localdomain.ucs
        no_license: yes
        no_platform_check: yes
        state: installed
        register: task

    - name: Install (upload, install) UCS except the license, and bypassing the platform check - check task
      bigip_ucs:
        ucs: "{{ task.ucs }}"
        task_id: "{{ task.task_id }}"
        timeout: 300

    - name: Install (upload, install) UCS using a passphrase necessary to load the UCS - start task
      bigip_ucs:
        ucs: /root/bigip.localhost.localdomain.ucs
        passphrase: MyPassphrase1234
        state: installed
        register: task

    - name: Install (upload, install) UCS using a passphrase necessary to load the UCS - check task
      bigip_ucs:
        ucs: "{{ task.ucs }}"
        task_id: "{{ task.task_id }}"
        timeout: 300

    - name: Remove uploaded UCS file
      bigip_ucs:
        ucs: bigip.localhost.localdomain.ucs
        state: absent

Inputs

    
ucs:
    description:
    - The path to the UCS file to install. This parameter must be provided if the C(state)
      is either C(installed) or C(activated). When C(state) is C(absent), the full path
      for this parameter is ignored and only the filename is used to select a UCS for
      removal. Therefore you could specify C(/foo/bar/test.ucs) and this module would
      only look for C(test.ucs).
    required: true
    type: str

force:
    default: false
    description:
    - If C(yes), the system uploads the file every time and replaces the file on the device.
      If C(no), the file is only uploaded if it does not already exist. Generally it should
      only be C(yes) in cases where you believe the image was corrupted during upload.
    type: bool

state:
    choices:
    - absent
    - installed
    - present
    default: present
    description:
    - When C(installed), ensures the UCS is uploaded and installed on the system. When
      C(present), ensures the UCS is uploaded. When C(absent), the UCS is removed from
      the system. When C(installed), the uploading of the UCS is idempotent, however the
      installation of that configuration is not idempotent.
    type: str

task_id:
    description:
    - The ID of the async task as returned by the system in a previous module run.
    - Used to query the status of the task on the device, useful with longer running operations
      that require restarting services.
    - This parameter is only usable when C(state) is C(installed)
    - This parameter assumes a load ucs task has been started ond device, therefore it
      does not check for existence of the UCS file beforehand.
    - Adding this parameter incorrectly to a module run leads to confusing error messages.
      Refer to the examples section for correct usage of this parameter.
    type: str
    version_added: 1.4.0
    version_added_collection: f5networks.f5_bigip

timeout:
    default: 150
    description:
    - This parameter is used when installing uploaded UCS file on the device.
    - The amount of time to wait for the API async interface to complete its task, in
      seconds.
    - The accepted value range is between C(150) and C(1800) seconds.
    type: int
    version_added: 1.4.0
    version_added_collection: f5networks.f5_bigip

no_license:
    description:
    - Performs a full restore of the UCS file and all the files it contains, with the
      exception of the license file. This option must be used to restore a UCS on RMA
      (Returned Materials Authorization) devices.
    type: bool

passphrase:
    description:
    - Specifies the passphrase necessary to load the specified UCS file.
    type: str

reset_trust:
    description:
    - When specified, the device and trust domain certificates and keys are not loaded
      from the UCS. Instead, a new set is generated.
    type: bool

no_platform_check:
    description:
    - Bypasses the platform check and allows installation of a UCS that was created using
      a different platform. By default (without this option), installation of a UCS created
      from a different platform is not allowed.
    type: bool

include_chassis_level_config:
    description:
    - During restoration of the UCS file, includes chassis level configuration that is
      shared among boot volume sets. For example, the cluster default configuration.
    type: bool