dellemc.powerscale.snapshotschedule (3.0.0) — module

Manage snapshot schedules on PowerScale

| "added in version" 1.2.0 of dellemc.powerscale"

Authors: Akash Shendge (@shenda1) <ansible.team@dell.com>

Install collection

Install with ansible-galaxy collection install dellemc.powerscale:==3.0.0


Add to requirements.yml

  collections:
    - name: dellemc.powerscale
      version: 3.0.0

Description

You can perform the following operations.

Managing snapshot schedules on PowerScale.

Create snapshot schedule.

Modify snapshot schedule.

Get details of snapshot schedule.

Delete snapshot schedule.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{name}}"
    access_zone: '{{access_zone}}'
    path: '<path>'
    alias: "{{alias1}}"
    desired_retention: "{{desired_retention1}}"
    pattern: "{{pattern1}}"
    schedule: "{{schedule1}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get details of snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{name}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rename snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{name}}"
    new_name: "{{new_name}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify alias of snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{new_name}}"
    alias: "{{alias2}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify pattern of snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{new_name}}"
    pattern: "{{pattern2}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify schedule of snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{new_name}}"
    schedule: "{{schedule2}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify retention of snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{new_name}}"
    desired_retention: 2
    retention_unit: "{{retention_unit_days}}"
    state: "{{state_present}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete snapshot schedule
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{new_name}}"
    state: "{{state_absent}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete snapshot schedule - Idempotency
  dellemc.powerscale.snapshotschedule:
    onefs_host: "{{onefs_host}}"
    verify_ssl: "{{verify_ssl}}"
    api_user: "{{api_user}}"
    api_password: "{{api_password}}"
    name: "{{new_name}}"
    state: "{{state_absent}}"

Inputs

    
name:
    description:
    - The name of the snapshot schedule.
    required: true
    type: str

path:
    description:
    - The path on which the snapshot will be taken. This path is relative to the base
      path of the Access Zone.
    - For 'System' access zone, the path is absolute.
    - This parameter is required at the time of creation.
    - Modification of the path is not allowed through the Ansible module.
    type: str

alias:
    description:
    - The alias will point to the latest snapshot created by the snapshot schedule.
    type: str

state:
    choices:
    - absent
    - present
    description:
    - Defines whether the snapshot schedule should exist or not.
    required: true
    type: str

pattern:
    description:
    - Pattern expanded with strftime to create snapshot names.
    - This parameter is required at the time of creation.
    type: str

port_no:
    default: '8080'
    description:
    - Port number of the PowerScale cluster.It defaults to 8080 if not specified.
    required: false
    type: str

api_user:
    description:
    - username of the PowerScale cluster.
    required: true
    type: str

new_name:
    description:
    - The new name of the snapshot schedule.
    type: str

schedule:
    description:
    - The isidate compatible natural language description of the schedule.
    - It specifies the frequency of the schedule.
    - This parameter is required at the time of creation.
    type: str

onefs_host:
    description:
    - IP address or FQDN of the PowerScale cluster.
    required: true
    type: str

verify_ssl:
    choices:
    - true
    - false
    description:
    - boolean variable to specify whether to validate SSL certificate or not.
    - C(true) - indicates that the SSL certificate should be verified.
    - C(false) - indicates that the SSL certificate should not be verified.
    required: true
    type: bool

access_zone:
    default: System
    description:
    - The effective path where the snapshot is created will be determined by the base
      path of the Access Zone and the path provided by the user in the playbook.
    type: str

api_password:
    description:
    - the password of the PowerScale cluster.
    required: true
    type: str

retention_unit:
    choices:
    - hours
    - days
    default: hours
    description:
    - The retention unit for the snapshot created by this schedule.
    type: str

desired_retention:
    description:
    - The number of hours/days for which snapshots created by this snapshot schedule should
      be retained.
    - If retention is not specified at the time of creation, then the snapshots created
      by the snapshot schedule will be retained forever.
    - Minimum retention duration is 2 hours.
    - For large durations (beyond days/weeks), PowerScale may round off the retention
      to a somewhat larger value to match a whole number of days/weeks.
    type: int

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  type: bool
snapshot_schedule_details:
  contains:
    schedules:
      contains:
        duration:
          description: Time in seconds added to creation time to construction expiration
            time
          type: int
        id:
          description: The system ID given to the schedule
          type: int
        next_run:
          description: Unix Epoch time of next snapshot to be created
          type: int
        next_snapshot:
          description: Formatted name of next snapshot to be created
          type: str
      description: Details of snapshot schedule
      type: complex
    snapshot_list:
      contains:
        snapshots:
          contains:
            created:
              description: The Unix Epoch time the snapshot was created
              type: int
            expires:
              description: The Unix Epoch time the snapshot will expire and be eligible
                for automatic deletion.
              type: int
            id:
              description: The system ID given to the snapshot.This is useful for
                tracking the status of delete pending snapshots
              type: int
            name:
              description: The user or system supplied snapshot name. This will be
                null for snapshots pending delete
              type: str
            size:
              description: The amount of storage in bytes used to store this snapshot
              type: int
          description: Details of snapshot
          type: complex
        total:
          description: Total number of items available
          type: int
      description: List of snapshots taken by this schedule
      type: complex
  description: Details of the snapshot schedule including snapshot details.
  returned: When snapshot schedule exists
  sample:
    schedules:
    - alias: null
      duration: 604800
      id: 1759
      name: Atest
      next_run: 1687564800
      next_snapshot: ScheduleName_duration_2023-06-24_00:00
      path: /ifs
      pattern: ScheduleName_duration_%Y-%m-%d_%H:%M
      schedule: every 1 days at 12:00 AM
    snapshot_list:
      resume: null
      snapshots: []
      total: 0
  type: complex