dellemc.powerstore.dellemc_powerstore_filesystem (1.3.0) — module

Filesystem operations on PowerStore Storage system

| "added in version" 1.1.0 of dellemc.powerstore"

Authors: Arindam Datta (@dattaarindam) <ansible.team@dell.com>

preview | supported by community

Install collection

Install with ansible-galaxy collection install dellemc.powerstore:==1.3.0


Add to requirements.yml

  collections:
    - name: dellemc.powerstore
      version: 1.3.0

Description

Supports the provisioning operations on a filesystem such as create, modify, delete and get the details of a filesystem.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

 - name: Create FileSystem by Name
   register: result_fs
   dellemc_powerstore_filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_name: "{{filesystem_name}}"
     description: "{{description}}"
     nas_server: "{{nas_server_id}}"
     size: "5"
     cap_unit: "GB"
     access_policy: "UNIX"
     locking_policy: "MANDATORY"
     smb_properties:
       is_smb_no_notify_enabled: True
       is_smb_notify_on_access_enabled: True
     quota_defaults:
       grace_period: 1
       grace_period_unit: 'days'
       default_hard_limit: 3
       default_soft_limit: 2
     protection_policy: "{{protection_policy_id}}"
     state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: Modify File System by id
   dellemc_powerstore_filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_id: "{{fs_id}}"
     folder_rename_policy: "ALL_ALLOWED"
     smb_properties:
       is_smb_op_locks_enabled: True
       smb_notify_on_change_dir_depth: 3
     quota_defaults:
       grace_period: 2
       grace_period_unit: 'weeks'
       default_hard_limit: 2
       default_soft_limit: 1
     state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: Get File System details by id
   dellemc_powerstore_filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_id: "{{result_fs.filesystem_details.id}}"
     state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: Delete File System by id
   dellemc_powerstore_filesystem:
     array_ip: "{{array_ip}}"
     verifycert: "{{verifycert}}"
     user: "{{user}}"
     password: "{{password}}"
     filesystem_id: "{{result_fs.filesystem_details.id}}"
     state: "absent"

Inputs

    
size:
    description:
    - Size that the file system presents to the host or end user. Mandatory only for create
      operation.
    type: int

user:
    description:
    - The username of the PowerStore host.
    required: true
    type: str

state:
    choices:
    - absent
    - present
    description:
    - Define whether the filesystem should exist or not.
    required: true
    type: str

array_ip:
    description:
    - IP or FQDN of the PowerStore management system.
    required: true
    type: str

cap_unit:
    choices:
    - GB
    - TB
    description:
    - capacity unit for the size.
    - It defaults to 'GB', if not specified.
    type: str

password:
    description:
    - The password of the PowerStore host.
    required: true
    type: str

nas_server:
    description:
    - Name or ID of the NAS Server on which the file system is created. Mandatory parameter
      whenever filesystem_name is provided, since filesystem names are unique only within
      a NAS server
    type: str

verifycert:
    choices:
    - true
    - false
    description:
    - Boolean variable to specify whether to validate SSL certificate or not.
    - True - indicates that the SSL certificate should be verified. Set the environment
      variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
    - False - indicates that the SSL certificate should not be verified.
    required: true
    type: bool

description:
    description:
    - Description of the file system.
    type: str

access_policy:
    choices:
    - NATIVE
    - UNIX
    - WINDOWS
    description:
    - File system security access policies.
    type: str

filesystem_id:
    description:
    - Unique id of the file system. Mutually exclusive with filesystem_name.
    type: str

locking_policy:
    choices:
    - ADVISORY
    - MANDATORY
    description:
    - File system locking policies. ADVISORY- No lock checking for NFS and honor SMB lock
      range only for SMB. MANDATORY- Honor SMB and NFS lock range.
    type: str

quota_defaults:
    description:
    - Contains the default attributes for a filesystem quota.It contains below optional
      candidate variables.
    suboptions:
      cap_unit:
        choices:
        - GB
        - TB
        description:
        - Capacity unit for default hard & soft limit.
        required: false
        type: str
      default_hard_limit:
        description:
        - Default hard limit of user quotas and tree quotas.
        required: false
        type: int
      default_soft_limit:
        description:
        - Default soft limit of user quotas and tree quotas.
        required: false
        type: int
      grace_period:
        description:
        - Grace period of soft limit.
        required: false
        type: int
      grace_period_unit:
        choices:
        - days
        - weeks
        - months
        description:
        - Unit of the grace period of soft limit.
        required: false
        type: str
    type: dict

smb_properties:
    description:
    - Advance settings for SMB. It contains below optional candidate variables
    suboptions:
      is_smb_no_notify_enabled:
        description:
        - Indicates whether notifications of changes to directory file structure are enabled.
        required: false
        type: bool
      is_smb_notify_on_access_enabled:
        description:
        - Indicates whether file access notifications are enabled on the file system.
        required: false
        type: bool
      is_smb_notify_on_write_enabled:
        description:
        - Indicates whether file write notifications are enabled on the file system
        required: false
        type: bool
      is_smb_op_locks_enabled:
        description:
        - Indicates whether opportunistic file locking is enabled on the file system.
        required: false
        type: bool
      is_smb_sync_writes_enabled:
        description:
        - Indicates whether the synchronous writes option is enabled on the file system.
        required: false
        type: bool
      smb_notify_on_change_dir_depth:
        description:
        - Integer variable , determines the lowest directory level to which the enabled
          notifications apply. minimum value is 1.
        required: false
        type: int
    type: dict

filesystem_name:
    description:
    - Name of the file system. Mutually exclusive with filesystem_id. Mandatory only for
      create operation.
    type: str

protection_policy:
    description:
    - Name or ID of the protection policy applied to the file system.
    - Specifying "" (empty string) removes the existing protection policy from file system.
    type: str

folder_rename_policy:
    choices:
    - ALL_ALLOWED
    - SMB_FORBIDDEN
    - ALL_FORBIDDEN
    description:
    - File system folder rename policies for the file system with multi-protocol access
      enabled.
    - ALL_ALLOWED - All protocols are allowed to rename directories without any restrictions.
    - SMB_FORBIDDEN - A directory rename from the SMB protocol will be denied if at least
      one file is opened in the directory or in one of its child directories.
    - All_FORBIDDEN - Any directory rename request will be denied regardless of the protocol
      used, if at least one file is opened in the directory or in one of its child directories.
    type: str

Outputs

changed:
  description: Whether or not the resource has changed
  returned: always
  type: bool
filesystem_details:
  contains:
    access_policy:
      description: Access policy about the filesystem.
      type: str
    default_hard_limit:
      description: Default hard limit period for a filesystem quota in byte.
      type: int
    default_soft_limit:
      description: Default soft limit period for a filesystem quota in byte.
      type: int
    description:
      description: The description about the filesystem.
      type: str
    grace_period:
      description: Default grace period for a filesystem quota in second.
      type: int
    id:
      description: The system generated ID given to the filesystem.
      type: str
    is_smb_no_notify_enabled:
      description: Whether smb notify policy is enabled for a filesystem.
      type: bool
    is_smb_notify_on_access_enabled:
      description: Whether smb on access notify policy is enabled.
      type: bool
    is_smb_op_locks_enabled:
      description: Whether smb op lock is enabled.
      type: bool
    locking_policy:
      description: Locking policy about the filesystem.
      type: str
    name:
      description: Name of the filesystem.
      type: str
    nas_server:
      description: Id and name of the nas server to which the filesystem belongs.
      type: dict
    protection_policy:
      description: Id and name of the protection policy associated with the filesystem.
      type: dict
    size_total:
      description: Total size of the filesystem in bytes.
      type: int
    size_used:
      description: Used size of the filesystem in bytes.
      type: int
    snapshots:
      description: Id and name of the snapshots of a filesystem.
      type: list
    total_size_with_unit:
      description: Total size of the filesystem with appropriate unit.
      type: str
    used_size_with_unit:
      description: Used size of the filesystem with appropriate unit.
      type: str
  description: Details of the filesystem
  returned: When filesystem exists
  type: complex