dellemc.powerstore.info (3.2.0) — module

Gathers information about PowerStore Storage entities

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

Authors: Arindam Datta (@dattaarindam) <ansible.team@dell.com>, Vivek Soni (@v-soni11) <ansible.team@dell.com>, Akash Shendge (@shenda1) <ansible.team@dell.com>, Bhavneet Sharma (@sharmb5) <ansible.team@dell.com>, Trisha Datta (@trisha-dell) <ansible.team@dell.com>

Install collection

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


Add to requirements.yml

  collections:
    - name: dellemc.powerstore
      version: 3.2.0

Description

Gathers the list of specified PowerStore Storage System entities, includes block/file provisioning modules, replication modules, configuration modules, and virtualization modules.

Block provisioning module includes volumes, volume groups, hosts, host groups, snapshot rules, and protection policies.

File provisioning module includes NAS servers, NFS exports, SMB shares, tree quotas, user quotas, file systems, file interface, SMB server, NFS server, file DNS, and file NIS.

Replication module includes replication rules, replication sessions, replication groups, and remote system.

Virtualization module includes vCenters and virtual volumes.

Configuration module includes cluster nodes, networks, roles, local users, appliances, discovered appliances, security configs, certificates.

Configureation modules also includes AD/LDAP servers, LDAP accounts, LDAP domain, and service configs.

It also includes DNS/NTP servers, smtp configs, email destinations, remote support, and remote support contacts.


Requirements

Usage examples

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

- name: Get list of volumes, volume groups, hosts, host groups and node
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - vol
      - vg
      - host
      - hg
      - node
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of replication related entities
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - replication_rule
      - replication_session
      - remote_system
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of volumes whose state notequal to ready
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - vol
    filters:
      - filter_key: "state"
        filter_operator: "notequal"
        filter_value: "ready"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of protection policies and snapshot rules
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - protection_policy
      - snapshot_rule
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of snapshot rules whose desired_retention between 101-499
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - snapshot_rule
    filters:
      - filter_key: "desired_retention"
        filter_operator: "greater"
        filter_value: "100"
      - filter_key: "desired_retention"
        filter_operator: "lesser"
        filter_value: "500"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of nas server, nfs_export and smb share
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - nas_server
      - nfs_export
      - smb_share
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of tree quota, user quota and file system
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - tree_quota
      - user_quota
      - file_system
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of nas server whose name equal to 'nas_server'
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - nas_server
    filters:
      - filter_key: "name"
        filter_operator: "equal"
        filter_value: "nas_server"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of smb share whose name contains 'share'
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - nas_server
    filters:
      - filter_key: "name"
        filter_operator: "like"
        filter_value: "*share*"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of user, role, network and appliances
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - user
      - role
      - network
      - appliance
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of ad, certificate, security config and ldaps
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - ad
      - ldap
      - certificate
      - security_config
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of networks whose name contains 'Management'
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - network
    filters:
      - filter_key: "name"
        filter_operator: "like"
        filter_value: "*Management*"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of dns, email notification, ntp, remote support, remote support contact and smtp config
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - dns
      - email_notification
      - ntp
      - remote_support
      - remote_support_contact
      - smtp_config
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of emails which receives minor notifications
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - email_notification
    filters:
      - filter_key: 'notify_minor'
        filter_operator: 'equal'
        filter_value: 'false'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of LDAP accounts
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - ldap_account
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of LDAP accounts with type as "User"
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - ldap_account
    filters:
      - filter_key: 'type'
        filter_operator: 'equal'
        filter_value: 'User'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of LDAP domain
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - ldap_domain
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of LDAP domain with protocol as "LDAPS"
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - ldap_domain
    filters:
      - filter_key: 'protocol'
        filter_operator: 'equal'
        filter_value: 'LDAPS'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of vCenters
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - vcenter
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of virtual volumes
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - virtual_volume
      - replication_group
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of storage containers and discovered appliances
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - storage_container
      - discovered_appliance
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of file interfaces, SMB servers, NFS servers, file DNS and file NIS
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - file_interface
      - smb_server
      - nfs_server
      - file_dns
      - file_nis
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get list of service configs
  dellemc.powerstore.info:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    gather_subset:
      - service_config

Inputs

    
port:
    description:
    - Port number for the PowerStore array.
    - If not passed, it will take 443 as default.
    type: int

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

filters:
    description:
    - A list of filters to support filtered output for storage entities.
    - Each filter is a list of I(filter_key), I(filter_operator), I(filter_value).
    - Supports passing of multiple filters.
    elements: dict
    suboptions:
      filter_key:
        description:
        - Name identifier of the filter.
        required: true
        type: str
      filter_operator:
        choices:
        - equal
        - greater
        - lesser
        - like
        - notequal
        description:
        - Operation to be performed on the filter key.
        required: true
        type: str
      filter_value:
        description:
        - Value of the filter key.
        required: true
        type: str
    type: list

timeout:
    default: 120
    description:
    - Time after which the connection will get terminated.
    - It is to be mentioned in seconds.
    type: int

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

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

all_pages:
    default: false
    description:
    - Indicates whether to return all available entities on the storage system.
    - If set to C(true), the Info module will implement pagination and return all entities.
      Otherwise, a maximum of the first 100 entities of any type will be returned.
    type: bool

gather_subset:
    choices:
    - vol
    - vg
    - host
    - hg
    - node
    - protection_policy
    - snapshot_rule
    - nas_server
    - nfs_export
    - smb_share
    - tree_quota
    - user_quota
    - file_system
    - replication_rule
    - replication_session
    - remote_system
    - network
    - role
    - ldap_account
    - user
    - appliance
    - ad
    - ldap
    - security_config
    - certificate
    - dns
    - ntp
    - smtp_config
    - email_notification
    - remote_support
    - remote_support_contact
    - ldap_domain
    - vcenter
    - virtual_volume
    - storage_container
    - replication_group
    - discovered_appliance
    - file_interface
    - smb_server
    - nfs_server
    - file_dns
    - file_nis
    - service_config
    description:
    - A list of string variables which specify the PowerStore system entities requiring
      information.
    - Volumes - C(vol).
    - All the nodes - C(node).
    - Volume groups - C(vg).
    - Protection policies - C(protection_policy).
    - Hosts - C(host).
    - Host groups - C(hg).
    - Snapshot rules - C(snapshot_rule).
    - NAS servers - C(nas_server).
    - NFS exports - C(nfs_export).
    - SMB shares - C(smb_share).
    - Tree quotas - C(tree_quota).
    - User quotas - C(user_quota).
    - File systems - C(file_system).
    - Replication rules - C(replication_rule).
    - Replication sessions - C(replication_session).
    - Remote systems - C(remote_system).
    - Various networks - C(network).
    - Roles - C(role).
    - Local users - C(user).
    - Appliances - C(appliance).
    - Security configurations - C(security_config).
    - Certificates - C(certificate).
    - Active directories - C(ad).
    - LDAPs - C(ldap).
    - DNS servers - C(dns).
    - NTP servers - C(ntp).
    - Email notification destinations - C(email_notification).
    - SMTP configurations - C(smtp_config).
    - Remote Support - C(remote_support).
    - Remote support contacts - C(remote_support_contact).
    - LDAP accounts - C(ldap_account).
    - LDAP domain - C(ldap_domain).
    - All vCenters - C(vcenter).
    - Virtual volumes - C(virtual_volume).
    - Storage containers - C(storage_container).
    - Replication groups - C(replication_group).
    - Discovered appliances - C(discovered_appliance).
    - File interfaces - C(file_interface).
    - SMB servers - C(smb_server).
    - NFS servers - C(nfs_server).
    - File DNS - C(file_dns).
    - File NIS - C(file_nis).
    - Service configs - C(service_configs).
    elements: str
    required: true
    type: list

validate_certs:
    aliases:
    - verifycert
    default: true
    description:
    - Boolean variable to specify whether to validate SSL certificate or not.
    - C(true) - indicates that the SSL certificate should be verified. Set the environment
      variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
    - C(false) - indicates that the SSL certificate should not be verified.
    type: bool

Outputs

ActiveDirectory:
  contains:
    id:
      description: ID of the active directory.
      type: str
  description: Provides details of all active directories.
  returned: When C(ad) is in a given I(gather_subset)
  sample:
  - id: 60866158-5d00-3d7a-971b-5adabf42d82c
  type: list
Appliance:
  contains:
    drive_failure_tolerance_level:
      description: Drive failure tolerance level.
      type: str
    eth_be_ports:
      description: Provides details of all eth_be_ports. It was added in version 3.0.0.0.
      type: list
    eth_ports:
      description: Provides details of all Ethernet ports.
      type: list
    express_service_code:
      description: Express service code.
      type: str
    fc_ports:
      description: Provides details of all FC ports.
      type: list
    hardware:
      description: Provides details of all hardware.
      type: list
    id:
      description: ID of the appliance.
      type: str
    ip_pool_addresses:
      description: Provides details of all IP pool addresses.
      type: list
    is_hyper_converged:
      description: Whether the appliance is a hyper-converged appliance. It was added
        in version 3.2.0.0.
      type: bool
    maintenance_windows:
      description: Provides details of all maintenance windows.
      type: list
    model:
      description: Model type of the PowerStore.
      type: str
    name:
      description: Name of the appliance.
      type: str
    node_count:
      description: Number of nodes deployed on an appliance. It was added in version
        3.0.0.0.
      type: int
    nodes:
      description: Provides details of all nodes.
      type: list
    sas_ports:
      description: Provides details of all SAS ports.
      type: list
    service_tag:
      description: Dell service tag of the appliance.
      type: str
    software_installed:
      description: Provides details of all software installed.
      type: list
    veth_ports:
      description: Provides details of all veth ports.
      type: list
    virtual_volumes:
      description: Provides details of all virtual volumes.
      type: list
    volumes:
      description: Provides details of all volumes.
      type: list
  description: Provides details of all appliances.
  returned: When C(appliance) is in a given I(gather_subset)
  sample:
  - drive_failure_tolerance_level: None
    eth_be_ports: []
    eth_ports: []
    express_service_code: A1
    fc_ports: []
    hardware: []
    id: A1
    ip_pool_addresses: []
    is_hyper_converged: false
    maintenance_windows: []
    model: PowerStore 1000T
    name: Appliance-WND8977
    node_count: 1
    nodes: []
    sas_ports: []
    service_tag: A1
    software_installed: []
    veth_ports: []
    virtual_volumes: []
    volumes: []
  type: list
Array_Software_Version:
  description: API version of PowerStore array.
  returned: always
  sample: 3.0.0.0
  type: str
Certificate:
  contains:
    id:
      description: ID of the certificate.
      type: str
  description: Provides details of all certificates.
  returned: When C(certificates) is in a given I(gather_subset)
  sample:
  - id: e940144f-393f-4e9c-8f54-9a4d57b38c48
  type: list
Cluster:
  contains:
    id:
      description: ID of the cluster.
      returned: always
      type: str
    name:
      description: Name of the cluster.
      returned: always
      type: str
  description: Provides details of all clusters.
  returned: always
  sample:
  - id: '0'
    name: RT-D1006
  type: list
DNS:
  contains:
    id:
      description: ID of the DNS server.
      returned: always
      type: str
  description: Provides details of all DNS servers.
  returned: When C(dns) is in a given I(gather_subset)
  sample:
  - id: DNS1
  type: list
DiscoveredAppliances:
  contains:
    build_id:
      description: Build ID.
      type: str
    build_version:
      description: Build version of the installed software package release.
      type: str
    drive_failure_tolerance_level_and_availability:
      description: Drive failure tolerance level and availability.
      type: list
    express_service_code:
      description: Express service code for the appliance.
      type: str
    id:
      description: ID of a discovered appliance. The local discovered appliance has
        the id "0".
      type: str
    is_hyper_converged:
      description: Indicates whether the appliance is a hyper converged or not. It
        was added in version 3.2.0.0.
      type: bool
    is_local:
      description: Indicates whether appliance is local or not.
      type: bool
    is_unified_capable:
      description: Indicates whether the appliance is capable of unified configuration.
      type: bool
    link_local_address:
      description: Link local IPv4 address of the discovered appliance.
      type: str
    management_service_ready:
      description: Indicates whether the management services are ready.
      type: bool
    mode:
      description: Storage access mode supported by the appliance.
      type: str
    model:
      description: The model of the appliance.
      type: str
    node_count:
      description: Number of nodes deployed on an appliance.
      type: int
    power_score:
      description: Power rating of the appliance.
      type: int
    service_name:
      description: Service name of the discovered appliance.
      type: str
    service_tag:
      description: The Dell service tag.
      type: str
    software_version_compatibility:
      description: Compatibility of the software version on an appliance compared
        to the software version on the appliance running the request.
      type: str
    state:
      description: Possible unmanaged appliance states.
      type: str
  description: Provides details of all discovered appliances.
  returned: When C(discovered_appliance) is in a given I(gather_subset)
  sample:
  - build_id: '3202'
    build_version: 3.0.0.0
    express_service_code: A8977
    id: A1
    is_hyper_converged: false
    is_local: true
    is_unified_capable: true
    link_local_address: 1.0.2.x
    management_service_ready: true
    mode: Unified
    model: PowerStore 1000T
    node_count: 2
    power_score: 0
    service_name: Appliance-WND8977
    service_tag: A8977
    software_version_compatibility: 3.0.0.0
    state: Unconfigured
  type: list
EmailNotification:
  contains:
    email_address:
      description: Email address.
      returned: always
      type: str
    id:
      description: ID of the email.
      returned: always
      type: str
  description: Provides details of all emails to which notifications will be sent.
  returned: When C(email_notification) is in a given I(gather_subset)
  sample:
  - email_address: abc
    id: 9c3e5cba-17d5-4d64-b97c-350f91e2b714
  type: list
FileDNS:
  contains:
    domain:
      description: Name of the DNS domain.
      type: str
    id:
      description: The unique identifier of the file DNS.
      type: str
    ip_addresses:
      description: The addresses may be IPv4 or IPv6.
      elements: str
      type: list
    is_destination_override_enabled:
      description: Used in replication context when the user wants to override the
        settings on the destination.
      type: bool
    nas_server_id:
      description: Unique identifier of the NAS server.
      type: str
    transport:
      description: Transport used when connecting to the DNS Server.
      type: str
  description: Provides details of all file DNS.
  returned: When C(file_dns) is in a given I(gather_subset)
  sample:
  - domain: NAS_domain
    id: 65ab7e44-7009-e3e5-907a-62b767ad9845
    ip_addresses:
    - 10.10.10.11
    is_destination_override_enabled: false
    nas_server_id: 6581683c-61a3-76ab-f107-62b767ad9845
    transport: UDP
  type: list
FileInterfaces:
  contains:
    gateway:
      description: Gateway address for the network interface.
      type: str
    id:
      description: The unique identifier of the file interface.
      type: str
    ip_address:
      description: IP address of the network interface.
      type: str
    ip_port_id:
      description: Unique Identifier of the IP Port that is associated with the file
        interface.
      type: str
    is_destination_override_enabled:
      description: Used in replication context when the user wants to override the
        settings on the destination.
      type: bool
    is_disabled:
      description: Indicates whether the network interface is disabled.
      type: bool
    name:
      description: Name of the network interface. This property supports case-insensitive
        filtering.
      type: str
    nas_server_id:
      description: Unique identifier of the NAS server.
      type: str
    prefix_length:
      description: Prefix length for the interface.
      type: int
    role:
      description: Role of the interface
      type: str
    vlan_id:
      description: Virtual Local Area Network (VLAN) identifier for the interface.
      type: int
  description: Provides details of all file interfaces.
  returned: When C(file_interface) is in a given I(gather_subset)
  sample:
  - gateway: 10.10.10.1
    id: 65a50e0d-25f9-bd0a-8ca7-62b767ad9845
    ip_address: 10.10.10.10
    ip_port_id: IP_PORT2
    is_destination_override_enabled: false
    is_disabled: false
    is_dr_test: false
    name: PROD022_19c8adfb1d41_1d
    nas_server_id: 6581683c-61a3-76ab-f107-62b767ad9845
    prefix_length: 21
    role: Production
    source_parameters: None
    vlan_id: 0
  type: list
FileNIS:
  contains:
    domain:
      description: Name of the NIS domain.
      type: str
    id:
      description: The unique identifier of the file NIS.
      type: str
    ip_addresses:
      description: The addresses may be IPv4 or IPv6.
      elements: str
      type: list
    is_destination_override_enabled:
      description: Used in replication context when the user wants to override the
        settings on the destination.
      type: bool
    nas_server_id:
      description: Unique identifier of the NAS server.
      type: str
  description: Provides details of all file NIS.
  returned: When C(file_nis) is in a given I(gather_subset)
  sample:
  - domain: NAS_domain
    id: 65ab7e44-7009-e3e5-907a-62b767ad9845
    ip_addresses:
    - 10.10.10.11
    is_destination_override_enabled: false
    nas_server_id: 6581683c-61a3-76ab-f107-62b767ad9845
  type: list
FileSystems:
  contains:
    id:
      description: ID of the filesystem.
      type: str
    name:
      description: Name of the filesystem.
      type: str
  description: Provides details of all filesystems.
  returned: When C(file_system) is in a given I(gather_subset)
  sample:
  - id: 61ef399b-f4c4-ccb6-1761-16c6ac7490fc
    name: test_fs
  type: list
HostGroups:
  contains:
    id:
      description: ID of the host group.
      type: str
    name:
      description: Name of the host group.
      type: str
  description: Provides details of all host groups.
  returned: When C(hg) is in a given I(gather_subset)
  sample:
  - id: f62b97b4-f262-417c-8dc9-39bec9024665
    name: test_hg
  type: list
Hosts:
  contains:
    id:
      description: ID of the host.
      type: str
    name:
      description: Name of the host.
      type: str
  description: Provides details of all hosts.
  returned: When C(host) is in a given I(gather_subset)
  sample:
  - id: 42a0d739-20e6-49ec-afa6-65d2b3c006c8
    name: test_host
  type: list
LDAP:
  contains:
    id:
      description: ID of the LDAP.
      type: str
  description: Provides details of all LDAPs.
  returned: When C(ldap) is in a given I(gather_subset)
  sample:
  - id: 60ba0edd-551a-64f1-ce49-8a83a5bce479
  type: list
LDAPAccounts:
  contains:
    dn:
      description: Types of directory service protocol.
      type: str
    domain_id:
      description: Unique identifier of the LDAP domain to which LDAP user or group
        belongs.
      type: int
    id:
      description: ID of the LDAP account.
      type: str
    name:
      description: Name of the LDAP account.
      type: str
    role_id:
      description: Unique identifier of the role to which the LDAP account is mapped.
      type: int
    type:
      description: Type of LDAP account.
      type: str
  description: Provides details of all LDAP accounts.
  returned: When C(ldap_account) is in a given I(gather_subset)
  sample:
  - dn: cn=sample_ldap_user,dc=ldap,dc=com
    domain_id: '2'
    id: '5'
    name: sample_ldap_user
    role_id: '1'
    type: User
    type_l10n: User
  type: list
LDAPDomain:
  contains:
    bind_user:
      description: Distinguished Name (DN) of the user to be used when binding.
      type: str
    domain_name:
      description: Name of the LDAP authority to construct the LDAP server configuration.
      type: str
    group_member_attribute:
      description: Name of the LDAP attribute whose value contains the names of group
        members within a group.
      type: str
    group_name_attribute:
      description: Name of the LDAP attribute whose value indicates the group name.
      type: str
    group_object_class:
      description: LDAP object class for groups.
      type: str
    group_search_level:
      description: Nested search level for performing group search.
      type: int
    group_search_path:
      description: Path used to search for groups on the directory server.
      type: str
    id:
      description: Unique identifier of the new LDAP server configuration.
      type: str
    is_global_catalog:
      description: Whether or not the catalog is global. Default value is C(false).
      type: bool
    ldap_server_type:
      description: Types of LDAP server.
      type: str
    ldap_server_type_l10n:
      description: Localized message string corresponding to ldap_server_type.
      type: str
    ldap_servers:
      description: List of IP addresses of the LDAP servers for the domain. IP addresses
        are in IPv4 format.
      type: list
    ldap_timeout:
      description: Timeout for establishing a connection to an LDAP server. Default
        value is 30000 (30 seconds).
      type: int
    port:
      description: Port number used to connect to the LDAP server(s).
      type: int
    protocol:
      description: Types of directory service protocol.
      type: str
    protocol_l10n:
      description: Localized message string corresponding to protocol.
      type: str
    user_id_attribute:
      description: Name of the LDAP attribute whose value indicates the unique identifier
        of the user.
      type: str
    user_object_class:
      description: LDAP object class for users.
      type: str
    user_search_path:
      description: Path used to search for users on the directory server.
      type: str
  description: Provides details of the LDAP domain configurations.
  returned: When C(ldap_domain) configuration is in a given I(gather_subset)
  sample:
  - bind_user: cn=ldapadmin,dc=domain,dc=com
    domain_name: domain.com
    group_member_attribute: member
    group_name_attribute: cn
    group_object_class: groupOfNames
    group_search_level: 0
    group_search_path: dc=domain,dc=com
    id: '9'
    is_global_catalog: false
    ldap_server_type: OpenLDAP
    ldap_server_type_l10n: OpenLDAP
    ldap_servers:
    - 10.xxx.xx.xxx
    ldap_timeout: 300000
    port: 636
    protocol: LDAPS
    protocol_l10n: LDAPS
    user_id_attribute: uid
    user_object_class: inetOrgPerson
    user_search_path: dc=domain,dc=com
  type: list
LocalUsers:
  contains:
    id:
      description: ID of the user.
      type: str
    name:
      description: Name of the user.
      type: str
  description: Provides details of all local users.
  returned: When C(user) is in a given I(gather_subset)
  sample:
  - id: '1'
    name: admin
  type: list
NASServers:
  contains:
    id:
      description: ID of the nas server.
      type: str
    name:
      description: Name of the nas server.
      type: str
  description: Provides details of all nas servers.
  returned: When C(nas_server) is in a given I(gather_subset)
  sample:
  - id: 61e1c9bb-b791-550e-a785-16c6ac7490fc
    name: test_nas
  type: list
NFSExports:
  contains:
    id:
      description: ID of the nfs export.
      type: str
    name:
      description: Name of the nfs export.
      type: str
  description: Provides details of all nfs exports.
  returned: When C(nfs_export) is in a given I(gather_subset)
  sample:
  - id: 61ef39a0-09b3-5339-c8bb-16c6ac7490fc
    name: test_nfs
  type: list
NFSServers:
  contains:
    credentials_cache_TTL:
      description: Sets the Time-To-Live (in minutes) expiration timestamp for a Windows
        entry in the credentials cache.
      type: int
    host_name:
      description: The name that will be used by NFS clients to connect to this NFS
        server.
      type: str
    id:
      description: The unique identifier of the NFS server.
      type: str
    is_extended_credentials_enabled:
      description: Indicates whether the NFS server supports more than 16 Unix groups
        in a Unix credential.
      type: bool
    is_joined:
      description: Indicates whether the NFS server is joined to Active Directory.
      type: bool
    is_nfsv3_enabled:
      description: Indicates whether NFSv3 is enabled on the NAS server.
      type: bool
    is_nfsv4_enabled:
      description: Indicates whether NFSv4 is enabled on the NAS server.
      type: bool
    is_secure_enabled:
      description: Indicates whether secure NFS is enabled on the NFS server.
      type: bool
    is_use_smb_config_enabled:
      description: Indicates whether SMB authentication is used to authenticate to
        the KDC.
      type: bool
    nas_server_id:
      description: Unique identifier of the NAS server.
      type: str
    service_principal_name:
      description: The Service Principal Name (SPN) for the NFS server.
      type: str
  description: Provides details of all nfs servers.
  returned: When C(nfs_server) is in a given I(gather_subset)
  sample:
  - credentials_cache_TTL: 120
    host_name: sample_host_name
    id: 65ad14fe-5f6e-beb3-424f-62b767ad9845
    is_extended_credentials_enabled: true
    is_joined: false
    is_nfsv3_enabled: true
    is_nfsv4_enabled: false
    is_secure_enabled: false
    is_use_smb_config_enabled: null
    nas_server_id: 6581683c-61a3-76ab-f107-62b767ad9845
    service_principal_name: null
  type: list
NTP:
  contains:
    id:
      description: ID of the NTP server.
      returned: always
      type: str
  description: Provides details of all NTP servers.
  returned: When C(ntp) is in a given I(gather_subset)
  sample:
  - id: NTP1
  type: list
Networks:
  contains:
    id:
      description: ID of the network.
      type: str
    name:
      description: Name of the network.
      type: str
  description: Provides details of all networks.
  returned: When C(network) is in a given I(gather_subset)
  sample:
  - id: NW1
    name: Default Management Network
  type: list
Nodes:
  contains:
    id:
      description: ID of the node.
      type: str
    name:
      description: Name of the node.
      type: str
  description: Provides details of all nodes.
  returned: When a C(node) is in a given I(gather_subset)
  sample:
  - id: N1
    name: Appliance-RT-D1006-node-A
  type: list
ProtectionPolicies:
  contains:
    id:
      description: ID of the protection policy.
      type: str
    name:
      description: Name of the protection policy.
      type: str
  description: Provides details of all protection policies.
  returned: When C(protection_policy) is in a given I(gather_subset)
  sample:
  - id: 4eff379c-090c-48e0-9949-b2cd0ce2cf88
    name: test_protection_policy
  type: list
RemoteSupport:
  contains:
    id:
      description: ID of the remote support.
      type: str
  description: Provides details of all remote support config.
  returned: When C(remote_support) is in a given I(gather_subset)
  sample:
  - id: '0'
  type: list
RemoteSupportContact:
  contains:
    id:
      description: ID of the remote support contact.
      type: str
  description: Provides details of all remote support contacts.
  returned: When C(remote_support_contact) is in a given I(gather_subset)
  sample:
  - id: '0'
  - id: '1'
  type: list
RemoteSystems:
  contains:
    id:
      description: ID of the remote system.
      type: str
    name:
      description: Name of the remote system.
      type: str
  description: Provides details of all remote systems.
  returned: When C(remote_system) is in a given I(gather_subset)
  sample:
  - id: f07be373-dafd-4a46-8b21-f7cf790c287f
    name: WN-D8978
  type: list
ReplicationGroups:
  contains:
    creation_timestamp:
      description: Timestamp when given replication group was created.
      type: str
    creator_type:
      description: Creator type of the storage resource.
      type: str
    creator_type_l10n:
      description: Localized message string corresponding to creator_type.
      type: str
    description:
      description: Description of the replication group.
      type: str
    id:
      description: ID of the replication group.
      type: str
    is_replication_destination:
      description: Indicates whether replication group is replication destination
        or not.
      type: bool
    name:
      description: Name of the replication group.
      type: str
    storage_container_id:
      description: ID of the storage container.
      type: str
  description: Provide details of all replication group.
  returned: when C(replication_group) is in a given I(gather_subset).
  sample:
  - creation_timestamp: '2024-05-16T13:58:09.348368+00:00'
    creator_type: User
    creator_type_l10n: User
    description: Ansible_RTD8337_VM
    id: c4ba4ad3-2200-47d4-8f61-ddf51d83aac2
    is_replication_destination: false
    name: Ansible_RTD8337_VM
    storage_container_id: 0b460d65-b8b6-40bf-8578-aa2e2fd3d02a
  type: list
ReplicationRules:
  contains:
    id:
      description: ID of the replication rule.
      type: str
    name:
      description: Name of the replication rule.
      type: str
  description: Provides details of all replication rules.
  returned: When C(replication_rule) is in a given I(gather_subset)
  sample:
  - id: 55d14477-de22-4d39-b24d-07cf08ba329f
    name: ansible_rep_rule
  type: list
ReplicationSession:
  contains:
    id:
      description: ID of the replication session.
      type: str
  description: Details of all replication sessions.
  returned: when C(replication_session) given in I(gather_subset)
  sample:
  - id: 0b0a7ae9-c0c4-4dce-8c49-570f4ea80bb0
  type: list
Roles:
  contains:
    id:
      description: ID of the role.
      type: str
    name:
      description: Name of the role.
      type: str
  description: Provides details of all roles.
  returned: When C(role is in a given I(gather_subset
  sample:
  - id: '1'
    name: Administrator
  - id: '2'
    name: Storage Administrator
  - id: '3'
    name: Operator
  - id: '4'
    name: VM Administrator
  - id: '5'
    name: Security Administrator
  - id: '6'
    name: Storage Operator
  type: list
SMBServers:
  contains:
    computer_name:
      description: DNS name of the associated computer account when the SMB server
        is joined to an Active Directory domain.
      type: str
    description:
      description: Description of the SMB server.
      type: str
    domain:
      description: Domain name where SMB server is registered in Active Directory,
        if applicable.
      type: str
    id:
      description: The unique identifier of the SMB server.
      type: str
    is_joined:
      description: Indicates whether the SMB server is joined to the Active Directory.
      type: bool
    is_standalone:
      description: Indicates whether the SMB server is standalone.
      type: bool
    nas_server_id:
      description: Unique identifier of the NAS server.
      type: str
    netbios_name:
      description: NetBIOS name is the network name of the standalone SMB server.
      type: str
    workgroup:
      description: Windows network workgroup for the SMB server.
      type: str
  description: Provides details of all SMB servers.
  returned: When C(smb_server) is in a given I(gather_subset)
  sample:
  - computer_name: null
    description: string2
    domain: null
    id: 65ad211b-374b-5f77-2946-62b767ad9845
    is_joined: false
    is_standalone: true
    nas_server_id: 6581683c-61a3-76ab-f107-62b767ad9845
    netbios_name: STRING2
    workgroup: STRING2
  type: list
SMBShares:
  contains:
    id:
      description: ID of the smb share.
      type: str
    name:
      description: name of the smb share.
      type: str
  description: Provides details of all smb shares.
  returned: When C(smb_share) is in a given I(gather_subset)
  sample:
  - id: 72ef39a0-09b3-5339-c8bb-16c6ac7490fc
    name: test_smb
  type: list
SMTPConfig:
  contains:
    id:
      description: ID of the smtp config.
      type: str
  description: Provides details of all smtp config.
  returned: When C(smtp_config) is in a given I(gather_subset)
  sample:
  - id: '0'
  type: list
SecurityConfig:
  contains:
    id:
      description: ID of the security config.
      type: str
  description: Provides details of all security configs.
  returned: When C(security_config) is in a given I(gather_subset)
  sample:
  - id: '1'
  type: list
ServiceConfigs:
  contains:
    appliance_id:
      description: ID of the appliance.
      type: str
    id:
      description: ID of the service config.
      type: str
    is_ssh_enabled:
      description: Indicates whether ssh is enabled or not on the appliance.
      type: bool
  description: Provides details of all service configurations.
  returned: When C(service_config) is in a given I(gather_subset)
  sample:
  - appliance_id: A1
    id: A1
    is_ssh_enabled: true
  type: list
SnapshotRules:
  contains:
    id:
      description: ID of the snapshot rule.
      type: str
    name:
      description: Name of the snapshot rule.
      type: str
  description: Provides details of all snapshot rules.
  returned: When C(snapshot_rule) is in a given I(gather_subset)
  sample:
  - id: e1b1bc3e-f8a1-4c81-a143-9ffd6af55837
    name: Snapshot Rule Test
  type: list
StorageContainers:
  contains:
    datastores:
      contains:
        id:
          description: Unique identifier of the datastore instance.
          type: str
        name:
          description: User-assigned name of the datastore in vCenter.
          type: str
      description: List of associated datastores.
      type: list
    destinations:
      contains:
        id:
          description: The unique id of the storage container destination.
          type: str
        remote_storage_container_id:
          description: The unique id of the destination storage container on the remote
            system.
          type: str
        remote_system_id:
          description: The unique id of the remote system.
          type: str
        remote_system_name:
          description: The name of the remote system.
          type: str
      description: A storage container destination defines replication destination
        for a local storage container on a remote system.
      type: list
    id:
      description: ID of the storage container.
      type: str
    name:
      description: Name of the storage container.
      type: str
    quota:
      description: The total number of bytes that can be provisioned/reserved against
        this storage container.
      type: int
    replication_groups:
      contains:
        id:
          description: Unique identifier of the Replication Group instance.
          type: str
        name:
          description: Name of the Replication Group.
          type: str
      description: Properties of a Replication Group.
      type: list
    storage_protocol:
      description: The type of storage container.
      type: str
    virtual_volumes:
      contains:
        id:
          description: The unique identifier of the virtual volume.
          type: str
        name:
          description: The name of the virtual volume.
          type: str
      description: The virtual volumes associated to the storage container.
      type: list
  description: Provide details of all storage containers.
  returned: When C(storage_container) is in a given I(gather_subset)
  sample:
  - datastores: []
    destinations: []
    id: e0ccd953-5650-41d8-9bce-f36d876d6a2a
    name: Ansible_storage_container_1
    quota: 21474836480
    replication_groups: []
    storage_protocol: NVMe
    storage_protocol_l10n: NVMe
    virtual_volumes: []
  type: list
TreeQuotas:
  contains:
    id:
      description: ID of the tree quota.
      type: str
    path:
      description: Path of the tree quota.
      type: str
  description: Provides details of all tree quotas.
  returned: When C(tree_quota) is in a given I(gather_subset)
  sample:
  - id: 00000003-0fe0-0001-0000-0000e8030000
  type: list
UserQuotas:
  contains:
    id:
      description: ID of the user quota.
      type: str
  description: Provides details of all user quotas.
  returned: When C(user_quota) is in a given I(gather_subset)
  sample:
  - id: 00000003-0708-0000-0000-000004000080
  type: list
VirtualVolume:
  contains:
    appliance_id:
      description: The appliance where the virtual volume resides.
      type: str
    creation_timestamp:
      description: Timestamp of the moment virtual volume was created at.
      type: str
    creator_type:
      description:
      - Creator type of the storage resource.
      - User - A resource created by a user.
      - System - A resource created by the replication engine.
      - Scheduler - A resource created by the snapshot scheduler.
      type: str
    creator_type_l10n:
      description: Localized message string corresponding to creator_type.
      type: str
    family_id:
      description: Family id of the virtual volume.
      type: str
    host_virtual_volume_mappings:
      contains:
        host_group_id:
          description: Unique identifier of a host group attached to a virtual volume.
          type: str
        host_id:
          description: Unique identifier of a host attached to a virtual volume.
          type: str
        id:
          description: Unique identifier of a mapping between a host and a virtual
            volume.
          type: str
        virtual_volume_id:
          description: Unique identifier of the virtual volume to which the host is
            attached.
          type: str
      description: Virtual volume mapping details.
      type: complex
    id:
      description: The unique identifier of the virtual volume.
      type: str
    io_priority:
      description: The I/O priority for quality of service rules.
      type: str
    io_priority_l10n:
      description: Localized message string corresponding to io_priority.
      type: str
    is_readonly:
      description: Indicates whether the virtual volume is read-only.
      type: bool
    is_replication_destination:
      description: Indicates whether virtual volume is replication destination or
        not.
      type: bool
    location_history:
      contains:
        from_appliance_id:
          description: Unique identifier of the appliance from which the volume was
            relocated.
          type: str
        migrated_on:
          description: Time when the storage resource location changed.
          type: str
        reason:
          description:
          - Reason for storage resource relocation.
          - Initial - Initial placement.
          - Manual - Manual migration operation initiated by user.
          - Recommended - Storage system recommended migration.
          type: str
        reason_l10n:
          description: Localized message string corresponding to reason.
          type: str
        to_appliance_id:
          description: Unique identifier of the appliance to which the volume was
            relocated.
          type: str
      description: Storage resource location history.
      type: complex
    migration_session_id:
      description: If the virtual volume is part of a migration activity, the session
        ID for that migration.
      type: str
    naa_name:
      description: The NAA name used by hosts for I/O.
      type: str
    name:
      description: The name of the virtual volume, based on metadata provided by vSphere.
      type: str
    nguid:
      description: NVMe Namespace globally unique identifier.
      type: str
    nsid:
      description: NVMe Namespace unique identifier in the NVMe subsystem.
      type: str
    parent_id:
      description: For snapshots and clones, the ID of the parent virtual volume.
      type: str
    profile_id:
      description: The ID of the storage profile governing this virtual volume.
      type: str
    protection_policy_id:
      description: The unique identifier of the protection policy applied to this
        virtual volume.
      type: str
    replication_group_id:
      description: The unique identifier of the replication group object that this
        virtual volume belongs to.
      type: str
    size:
      description: The size of the virtual volume in bytes.
      type: int
    source_id:
      description: Id of the virtual volume from which the content has been sourced.
      type: str
    source_timestamp:
      description: The source data time-stamp of the virtual volume.
      type: str
    storage_container_id:
      description: The storage container where the virtual volume resides.
      type: str
    type:
      description: The logical type of a virtual volume.
      type: str
    type_l10n:
      description: Localized message string corresponding to type.
      type: str
    usage_type:
      description: VMware's usage of the vVol.
      type: str
    usage_type_l10n:
      description: Localized message string corresponding to usage_type.
      type: str
    virtual_machine_uuid:
      description: UUID of the virtual machine that owns this virtual volume.
      type: str
  description: Provides details of all virtual volumes.
  returned: When C(virtual_volume) is in a given I(gather_subset)
  sample:
  - appliance_id: A1
    creation_timestamp: '2022-12-27T10:01:32.622+00:00'
    creator_type: User
    creator_type_l10n: User
    family_id: 9ce8d828-14e3-44f8-bde1-a97f440a7259
    host_virtual_volume_mappings: []
    id: 85643b54-9429-49ee-b7c3-b061fcdaab7c
    io_priority: Medium
    io_priority_l10n: Medium
    is_readonly: false
    is_replication_destination: false
    location_history: null
    migration_session_id: null
    naa_name: naa.68ccf09800918d7f008769d29bc6a43a
    name: test-centos_2.vmdk
    nguid: nguid.918d7f008769d29b8ccf096800c6a43a
    nsid: 5114
    parent_id: null
    profile_id: f4e5bade-15a2-4805-bf8e-52318c4ce443
    protection_policy_id: null
    replication_group_id: null
    size: 17179869184
    source_id: null
    source_timestamp: null
    storage_container_id: 4dff1460-4d1e-48b6-98d8-cae8d7bf63b5
    type: Primary
    type_l10n: Primary
    usage_type: Data
    usage_type_l10n: Data
    virtual_machine_uuid: 503629e5-8677-b26f-bf2d-e9f639bcc77f
  type: list
VolumeGroups:
  contains:
    id:
      description: ID of the volume group.
      type: str
    name:
      description: Name of the volume group.
      type: str
  description: Provides details of all volume groups.
  returned: When C(vg) is in a given I(gather_subset)
  sample:
  - id: faaa8370-c62e-4fa2-b8ca-7f54419a5b40
    name: Volume Group Test
  type: list
Volumes:
  contains:
    id:
      description: ID of the volume.
      type: str
    name:
      description: Name of the volume.
      type: str
  description: Provides details of all volumes.
  returned: When C(vol) is in a given I(gather_subset)
  sample:
  - id: 01854336-94ef-4df9-b1e7-0a729ca7c944
    name: test_vol
  type: list
changed:
  description: Shows whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
vCenter:
  contains:
    address:
      description: IP address of vCenter host, in IPv4, IPv6 or hostname format.
      type: str
    datastores:
      description: Datastores that exists on a specific vCenter. Was added in PowerStore
        version 3.0.0.0.
      type: list
    id:
      description: Unique identifier of vCenter.
      type: str
    instance_uuid:
      description: UUID instance of vCenter.
      type: str
    username:
      description: Username to login to vCenter.
      type: str
    vendor_provider_status:
      description: General status of the VASA vendor provider in vCenter.
      type: str
    vendor_provider_status_l10n:
      description: Localized message string corresponding to vendor_provider_status.
      type: str
    version:
      description: Version of vCenter including its build number. Was added in PowerStore
        version 3.0.0.0.
      type: str
    virtual_machines:
      description: Virtual Machine associated with vCenter.
      type: list
    vsphere_hosts:
      description: All vSphere hosts that exists on a specific vCenter. Was added
        in PowerStore version 3.0.0.0.
      type: list
  description: Provide details of all vCenters.
  returned: When C(vCenter) is in a given I(gather_subset)
  sample:
  - address: 10.x.x.x
    datastores: []
    id: 0d330d6c-3fe6-41c6-8023-5bd3fa7c61cd
    instance_uuid: 0d330d6c-3fe6-41c6-8023-5bd3fa7c61cd
    username: administrator
    vendor_provider_status: Online
    vendor_provider_status_l10n: Online
    version: 7.0.3
    virtual_machines: []
    vsphere_hosts: []
  type: list