---
####################################################################
# Example :  Journal Volume Playbook
####################################################################
- name: Journal Volume Module
  hosts: localhost
  gather_facts: false

  vars_files:
    - ../ansible_vault_vars/ansible_vault_storage_var.yml

  vars:
    # Common connection info for all tasks
    connection_info:
      address: "{{ storage_address }}"
      username: "{{ vault_storage_username }}"
      password: "{{ vault_storage_secret }}"
  tasks:
    ####################################################################
    # Task 1 : Create a Journal Volume using required details
    ####################################################################
    - name: Create a Journal Volume using required details
      hitachivantara.vspone_block.vsp.hv_journal_volume:
        connection_info: "{{ connection_info }}"
        state: "present"
        spec:
          journal_id: 37
          ldev_ids: [1993, 1994]
      register: result

    - name: Debug the result variable
      ansible.builtin.debug:
        var: result

    ####################################################################
    # Task 2 : Update a Journal Volume using more details
    ####################################################################
    - name: Update a Journal Volume using other details
      hitachivantara.vspone_block.vsp.hv_journal_volume:
        connection_info: "{{ connection_info }}"
        state: "update"
        spec:
          journal_id: 37
          data_overflow_watchIn_seconds: 60
          is_cache_mode_enabled: true
          mp_blade_id: 0
          mirror_unit_number: 0
          copy_pace: "MEDIUM"
          path_blockade_watch_in_minutes: 10
      register: result

    - name: Debug the result variable
      ansible.builtin.debug:
        var: result

    ####################################################################
    # Task 3 : Expand Journal Volume
    ####################################################################
    - name: Expand Journal Volume
      hitachivantara.vspone_block.vsp.hv_journal_volume:
        connection_info: "{{ connection_info }}"
        state: "expand_journal_volume"
        spec:
          journal_id: 37
          ldev_ids: [1994]
      register: result

    - name: Debug the result variable
      ansible.builtin.debug:
        var: result

    ####################################################################
    # Task 4 : Shrink Journal Volume
    ####################################################################
    - name: Shrink Journal Volume
      hitachivantara.vspone_block.vsp.hv_journal_volume:
        connection_info: "{{ connection_info }}"
        state: "shrink_journal_volume"
        spec:
          journal_id: 37
          ldev_ids: [1994]
      register: result

    - name: Debug the result variable
      ansible.builtin.debug:
        var: result

    ####################################################################
    # Task 5 : Delete Journal Volume by ID
    ####################################################################
    - name: Delete Journal Volume by ID
      hitachivantara.vspone_block.vsp.hv_journal_volume:
        connection_info: "{{ connection_info }}"
        state: "absent"
        spec:
          journal_id: 37
      register: result

    - name: Debug the result variable
      ansible.builtin.debug:
        var: result
