dellemc / dellemc.powerflex / 1.1.0 / module / dellemc_powerflex_snapshot Manage Snapshots on Dell EMC PowerFlex | "added in version" 1.0.0 of dellemc.powerflex" Authors: Akash Shendge (@shenda1) <ansible.team@dell.com> preview | supported by communitydellemc.powerflex.dellemc_powerflex_snapshot (1.1.0) — module
Install with ansible-galaxy collection install dellemc.powerflex:==1.1.0
collections: - name: dellemc.powerflex version: 1.1.0
Managing snapshots on PowerFlex Storage System includes creating new snapshot, getting details of snapshot, mapping/unmapping snapshot to/from SDC, modifying attributes of snapshot and deleting snapshot.
- name: Create snapshot dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_name: "ansible_snapshot" vol_name: "ansible_volume" read_only: False desired_retention: 2 state: "present"
- name: Get snapshot details using snapshot id dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" state: "present"
- name: Map snapshot to SDC dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" sdc: - sdc_ip: "198.10.xxx.xxx" - sdc_id: "663ac0d200000001" allow_multiple_mappings: True sdc_state: "mapped" state: "present"
- name: Modify the attributes of SDC mapped to snapshot dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" sdc: - sdc_ip: "198.10.xxx.xxx" iops_limit: 11 bandwidth_limit: 4096 - sdc_id: "663ac0d200000001" iops_limit: 20 bandwidth_limit: 2048 allow_multiple_mappings: True sdc_state: "mapped" state: "present"
- name: Extend the size of snapshot dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" size: 16 state: "present"
- name: Unmap SDCs from snapshot dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" sdc: - sdc_ip: "198.10.xxx.xxx" - sdc_id: "663ac0d200000001" sdc_state: "unmapped" state: "present"
- name: Rename snapshot dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" snapshot_new_name: "ansible_renamed_snapshot_10" state: "present"
- name: Delete snapshot dellemc.powerflex.dellemc_powerflex_snapshot: gateway_host: "{{gateway_host}}" username: "{{username}}" password: "{{password}}" verifycert: "{{verifycert}}" snapshot_id: "fe6cb28200000007" remove_mode: "ONLY_ME" state: "absent"
sdc: description: - Specifies SDC parameters. elements: dict suboptions: access_mode: choices: - READ_WRITE - READ_ONLY - NO_ACCESS description: - Define the access mode for all mappings of the snapshot. type: str bandwidth_limit: description: - Limit of snapshot network bandwidth. - Need to mention in multiple of 1024 Kbps. - To set no limit, 0 is to be passed. type: int iops_limit: description: - Limit of snapshot IOPS. - Minimum IOPS limit is 11 and specify 0 for unlimited iops. type: int sdc_id: description: - ID of the SDC. - Specify either sdc_name, sdc_id or sdc_ip. - Mutually exclusive with sdc_name and sdc_ip. type: str sdc_ip: description: - IP of the SDC. - Specify either sdc_name, sdc_id or sdc_ip. - Mutually exclusive with sdc_id and sdc_ip. type: str sdc_name: description: - Name of the SDC. - Specify either sdc_name, sdc_id or sdc_ip. - Mutually exclusive with sdc_id and sdc_ip. type: str type: list port: default: 443 description: - Port number through which communication happens with PowerFlex gateway host. required: false type: int size: description: - The size of the snapshot. type: int state: choices: - present - absent description: - State of the snapshot. required: true type: str vol_id: description: - The ID of the volume. type: str cap_unit: choices: - GB - TB description: - The unit of the volume size. It defaults to 'GB', if not specified.. type: str password: description: - The password of the PowerFlex gateway host. required: true type: str username: description: - The username of the PowerFlex gateway host. required: true type: str vol_name: description: - The name of the volume for which snapshot will be taken. - Specify either vol_name or vol_id while creating snapshot. type: str read_only: description: - Specifies whether mapping of the created snapshot volume will have read-write access or limited to read-only access. - If true, snapshot is created with read-only access. - If false, snapshot is created with read-write access. type: bool sdc_state: choices: - mapped - unmapped description: - Mapping state of the SDC. type: str verifycert: choices: - true - false default: true description: - Boolean variable to specify whether or not to validate SSL certificate. - True - Indicates that the SSL certificate should be verified. - False - Indicates that the SSL certificate should not be verified. required: false type: bool remove_mode: choices: - ONLY_ME - INCLUDING_DESCENDANTS description: - Removal mode for the snapshot. - It defaults to 'ONLY_ME', if not specified. type: str snapshot_id: description: - The ID of the Snapshot. type: str gateway_host: description: - IP or FQDN of the PowerFlex gateway host. required: true type: str snapshot_name: description: - The name of the snapshot. - Mandatory for create operation. - Specify either snapshot name or ID (but not both) for any operation. type: str retention_unit: choices: - hours - days description: - The unit for retention. It defaults to 'hours', if not specified. type: str desired_retention: description: - The retention value for the Snapshot. - If the desired_retention is not mentioned during creation, snapshot will be created with unlimited retention. - Maximum supported desired retention is 31 days. type: int snapshot_new_name: description: - New name of the snapshot. Used to rename the snapshot. type: str allow_multiple_mappings: description: - Specifies whether to allow multiple mappings or not. type: bool
changed: description: Whether or not the resource has changed. returned: always sample: 'false' type: bool snapshot_details: contains: ancestorVolumeId: description: The ID of the root of the specified volume's V-Tree. type: str ancestorVolumeName: description: The name of the root of the specified volume's V-Tree. type: str creationTime: description: The creation time of the snapshot. type: int id: description: The ID of the snapshot. type: str mappedSdcInfo: contains: accessMode: description: mapping access mode for the specified snapshot. type: str limitBwInMbps: description: Bandwidth limit for the SDC. type: int limitIops: description: IOPS limit for the SDC. type: int sdcId: description: ID of the SDC. type: str sdcIp: description: IP of the SDC. type: str sdcName: description: Name of the SDC. type: str description: The details of the mapped SDC. type: complex name: description: Name of the snapshot. type: str retentionInHours: description: Retention of the snapshot in hours. type: int secureSnapshotExpTime: description: Expiry time of the snapshot. type: int sizeInGb: description: Size of the snapshot. type: int sizeInKb: description: Size of the snapshot. type: int storagePoolId: description: The ID of the Storage pool in which snapshot resides. type: str storagePoolName: description: The name of the Storage pool in which snapshot resides. type: str description: Details of the snapshot. returned: When snapshot exists sample: accessModeLimit: ReadOnly ancestorVolumeId: cdd883cf00000002 ancestorVolumeName: ansible-volume-1 autoSnapshotGroupId: null compressionMethod: Invalid consistencyGroupId: 22f1e80c00000001 creationTime: 1631619229 dataLayout: MediumGranularity id: cdd883d000000004 links: - href: /api/instances/Volume::cdd883d000000004 rel: self - href: /api/instances/Volume::cdd883d000000004/relationships /Statistics rel: /api/Volume/relationship/Statistics - href: /api/instances/Volume::cdd883cf00000002 rel: /api/parent/relationship/ancestorVolumeId - href: /api/instances/VTree::6e86255c00000001 rel: /api/parent/relationship/vtreeId - href: /api/instances/StoragePool::e0d8f6c900000000 rel: /api/parent/relationship/storagePoolId lockedAutoSnapshot: false lockedAutoSnapshotMarkedForRemoval: false managedBy: ScaleIO mappedSdcInfo: null name: ansible_vol_snap_1 notGenuineSnapshot: false originalExpiryTime: 0 pairIds: null replicationJournalVolume: false replicationTimeStamp: 0 retentionInHours: 0 retentionLevels: [] secureSnapshotExpTime: 0 sizeInGb: 16 sizeInKb: 16777216 snplIdOfAutoSnapshot: null snplIdOfSourceVolume: null storagePoolId: e0d8f6c900000000 storagePoolName: pool1 timeStampIsAccurate: false useRmcache: false volumeReplicationState: UnmarkedForReplication volumeType: Snapshot vtreeId: 6e86255c00000001 type: complex