dellemc.powerflex.info (2.3.0) — module

Gathering information about Dell PowerFlex

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

Authors: Arindam Datta (@dattaarindam) <ansible.team@dell.com>, Trisha Datta (@trisha-dell) <ansible.team@dell.com>, Jennifer John (@Jennifer-John) <ansible.team@dell.com>, Felix Stephen (@felixs88) <ansible.team@dell.com>

Install collection

Install with ansible-galaxy collection install dellemc.powerflex:==2.3.0


Add to requirements.yml

  collections:
    - name: dellemc.powerflex
      version: 2.3.0

Description

Gathering information about Dell PowerFlex storage system includes getting the api details, list of volumes, SDSs, SDCs, storage pools, protection domains, snapshot policies, and devices.

Gathering information about Dell PowerFlex Manager includes getting the list of managed devices, deployments, service templates and firmware repository.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get detailed list of PowerFlex entities
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - vol
      - storage_pool
      - protection_domain
      - sdc
      - sds
      - snapshot_policy
      - device
      - rcg
      - replication_pair
      - fault_set
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get a subset list of PowerFlex volumes
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - vol
    filters:
      - filter_key: "name"
        filter_operator: "equal"
        filter_value: "ansible_test"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get deployment and resource provisioning info
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - managed_device
      - deployment
      - service_template
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get deployment with filter, sort, pagination
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - deployment
    filters:
      - filter_key: "name"
        filter_operator: "contains"
        filter_value: "partial"
    sort: name
    limit: 10
    offset: 10
    include_devices: true
    include_template: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the list of firmware repository.
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - firmware_repository
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the list of firmware repository
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - firmware_repository
    include_related: true
    include_bundles: true
    include_components: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the list of firmware repository with filter
  dellemc.powerflex.info:
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
    validate_certs: "{{ validate_certs }}"
    gather_subset:
      - firmware_repository
    filters:
      - filter_key: "createdBy"
        filter_operator: "equal"
        filter_value: "admin"
    sort: createdDate
    limit: 10
    include_related: true
    include_bundles: true
    include_components: true
  register: result_repository_out
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the list of available firmware repository
  ansible.builtin.debug:
    msg: "{{ result_repository_out.FirmwareRepository | selectattr('state', 'equalto', 'available') }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the list of software components in the firmware repository
  ansible.builtin.debug:
    msg: "{{ result_repository_out.FirmwareRepository |
        selectattr('id', 'equalto', '8aaa80788b7') | map(attribute='softwareComponents') | flatten }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the list of software bundles in the firmware repository
  ansible.builtin.debug:
    msg: "{{ result_repository_out.FirmwareRepository |
        selectattr('id', 'equalto', '8aaa80788b7') | map(attribute='softwareBundles') | flatten }}"

Inputs

    
full:
    default: false
    description:
    - Specify if response is full or brief.
    - Applicable when I(gather_subset) is C(deployment), C(service_template).
    - For C(deployment) specify to use full templates including resources in response.
    type: bool

port:
    default: 443
    description:
    - Port number through which communication happens with PowerFlex host.
    type: int

sort:
    description:
    - Sort the returned components based on specified field.
    - Supported for I(gather_subset) keys C(service_template), C(managed_device), C(deployment),
      C(firmware_repository).
    - The supported sort keys for the I(gather_subset) can be referred from PowerFlex
      Manager API documentation in U(https://developer.dell.com).
    type: str

limit:
    default: 50
    description:
    - Page limit.
    - Supported for I(gather_subset) keys C(service_template), C(managed_device), C(deployment),
      C(firmware_repository).
    type: int

offset:
    default: 0
    description:
    - Pagination offset.
    - Supported for I(gather_subset) keys C(service_template), C(managed_device), C(deployment),
      C(firmware_repository).
    type: int

filters:
    description:
    - 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
        - contains
        description:
        - Operation to be performed on filter key.
        - Choice C(contains) is supported for I(gather_subset) keys C(service_template),
          C(managed_device), C(deployment), C(firmware_repository).
        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 connection will get terminated.
    - It is to be mentioned in seconds.
    required: false
    type: int

hostname:
    aliases:
    - gateway_host
    description:
    - IP or FQDN of the PowerFlex host.
    required: true
    type: str

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

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

gather_subset:
    choices:
    - vol
    - storage_pool
    - protection_domain
    - sdc
    - sds
    - snapshot_policy
    - device
    - rcg
    - replication_pair
    - fault_set
    - service_template
    - managed_device
    - deployment
    - firmware_repository
    description:
    - List of string variables to specify the PowerFlex storage system entities for which
      information is required.
    - Volumes - C(vol).
    - Storage pools - C(storage_pool).
    - Protection domains - C(protection_domain).
    - SDCs - C(sdc).
    - SDSs - C(sds).
    - Snapshot policies - C(snapshot_policy).
    - Devices - C(device).
    - Replication consistency groups - C(rcg).
    - Replication pairs - C(replication_pair).
    - Fault Sets - C(fault_set).
    - Service templates - C(service_template).
    - Managed devices - C(managed_device).
    - Deployments - C(deployment).
    - FirmwareRepository - C(firmware_repository).
    elements: str
    type: list

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

include_bundles:
    default: false
    description:
    - Include software bundle entities.
    - Applicable when I(gather_subset) is C(firmware_repository).
    type: bool
    version_added: 2.3.0
    version_added_collection: dellemc.powerflex

include_devices:
    default: true
    description:
    - Include devices in response.
    - Applicable when I(gather_subset) is C(deployment).
    type: bool

include_related:
    default: false
    description:
    - Include related entities.
    - Applicable when I(gather_subset) is C(firmware_repository).
    type: bool
    version_added: 2.3.0
    version_added_collection: dellemc.powerflex

include_template:
    default: true
    description:
    - Include service templates in response.
    - Applicable when I(gather_subset) is C(deployment).
    type: bool

include_components:
    default: false
    description:
    - Include software component entities.
    - Applicable when I(gather_subset) is C(firmware_repository).
    type: bool
    version_added: 2.3.0
    version_added_collection: dellemc.powerflex

include_attachments:
    default: true
    description:
    - Include attachments.
    - Applicable when I(gather_subset) is C(service_template).
    type: bool

Outputs

API_Version:
  description: API version of PowerFlex API Gateway.
  returned: always
  sample: '3.5'
  type: str
Array_Details:
  contains:
    addressSpaceUsage:
      description: Address space usage.
      type: str
    authenticationMethod:
      description: Authentication method.
      type: str
    capacityAlertCriticalThresholdPercent:
      description: Capacity alert critical threshold percentage.
      type: int
    capacityAlertHighThresholdPercent:
      description: Capacity alert high threshold percentage.
      type: int
    capacityTimeLeftInDays:
      description: Capacity time left in days.
      type: str
    cliPasswordAllowed:
      description: CLI password allowed.
      type: bool
    daysInstalled:
      description: Days installed.
      type: int
    defragmentationEnabled:
      description: Defragmentation enabled.
      type: bool
    enterpriseFeaturesEnabled:
      description: Enterprise features enabled.
      type: bool
    id:
      description: The ID of the system.
      type: str
    installId:
      description: installation Id.
      type: str
    isInitialLicense:
      description: Initial license.
      type: bool
    lastUpgradeTime:
      description: Last upgrade time.
      type: int
    managementClientSecureCommunicationEnabled:
      description: Management client secure communication enabled.
      type: bool
    maxCapacityInGb:
      description: Maximum capacity in GB.
      type: dict
    mdmCluster:
      description: MDM cluster details.
      type: dict
    mdmExternalPort:
      description: MDM external port.
      type: int
    mdmManagementPort:
      description: MDM management port.
      type: int
    mdmSecurityPolicy:
      description: MDM security policy.
      type: str
    showGuid:
      description: Show guid.
      type: bool
    swid:
      description: SWID.
      type: str
    systemVersionName:
      description: System version and name.
      type: str
    tlsVersion:
      description: TLS version.
      type: str
    upgradeState:
      description: Upgrade state.
      type: str
  description: System entities of PowerFlex storage array.
  returned: always
  sample:
    addressSpaceUsage: Normal
    authenticationMethod: Native
    capacityAlertCriticalThresholdPercent: 90
    capacityAlertHighThresholdPercent: 80
    capacityTimeLeftInDays: '24'
    cliPasswordAllowed: true
    daysInstalled: 66
    defragmentationEnabled: true
    enterpriseFeaturesEnabled: true
    id: 4a54a8ba6df0690f
    installId: 38622771228e56db
    isInitialLicense: true
    lastUpgradeTime: 0
    managementClientSecureCommunicationEnabled: true
    maxCapacityInGb: Unlimited
    mdmCluster:
      clusterMode: ThreeNodes
      clusterState: ClusteredNormal
      goodNodesNum: 3
      goodReplicasNum: 2
      id: '5356091375512217871'
      master:
        id: 6101582c2ca8db00
        ips:
        - 10.47.xxx.xxx
        managementIPs:
        - 10.47.xxx.xxx
        name: node0
        opensslVersion: OpenSSL 1.0.2k-fips  26 Jan 2017
        port: 9011
        role: Manager
        status: Normal
        versionInfo: R3_6.0.0
        virtualInterfaces:
        - ens160
      slaves:
      - id: 23fb724015661901
        ips:
        - 10.47.xxx.xxx
        managementIPs:
        - 10.47.xxx.xxx
        opensslVersion: OpenSSL 1.0.2k-fips  26 Jan 2017
        port: 9011
        role: Manager
        status: Normal
        versionInfo: R3_6.0.0
        virtualInterfaces:
        - ens160
      tieBreakers:
      - id: 6ef27eb20d0c1202
        ips:
        - 10.47.xxx.xxx
        managementIPs:
        - 10.47.xxx.xxx
        opensslVersion: N/A
        port: 9011
        role: TieBreaker
        status: Normal
        versionInfo: R3_6.0.0
    mdmExternalPort: 7611
    mdmManagementPort: 6611
    mdmSecurityPolicy: None
    showGuid: true
    swid: ''
    systemVersionName: 'DellEMC PowerFlex Version: R3_6.0.354'
    tlsVersion: TLSv1.2
    upgradeState: NoUpgrade
  type: dict
Deployments:
  contains:
    deploymentName:
      description: Deployment name.
      type: str
    firmwareRepository:
      contains:
        downloadStatus:
          description: The download status.
          type: str
        rcmapproved:
          description: If RCM approved.
          type: bool
        signature:
          description: The signature details.
          type: str
      description: The firmware repository.
      type: dict
    id:
      description: Deployment ID.
      type: str
    status:
      description: The status of deployment.
      type: str
  description: Details of all deployments.
  returned: when I(gather_subset) is I(deployment)
  sample:
  - allUsersAllowed: true
    assignedUsers: []
    brownfield: false
    compliant: true
    configurationChange: false
    createdBy: admin
    createdDate: '2024-01-05T16:53:21.407+00:00'
    currentBatchCount: null
    currentStepCount: null
    currentStepMessage: null
    customImage: os_sles
    deploymentDescription: Test-Update - K
    deploymentDevice:
    - brownfield: false
      brownfieldStatus: NOT_APPLICABLE
      cloudLink: false
      compliantState: COMPLIANT
      componentId: null
      currentIpAddress: 10.1.1.1
      dasCache: false
      deviceGroupName: null
      deviceHealth: GREEN
      deviceState: READY
      deviceType: scaleio
      healthMessage: OK
      ipAddress: block-legacy-gateway
      logDump: null
      model: PowerFlex Gateway
      puppetCertName: scaleio-block-legacy-gateway
      refId: scaleio-block-legacy-gateway
      refType: null
      serviceTag: block-legacy-gateway
      status: null
      statusEndTime: null
      statusMessage: null
      statusStartTime: null
    deploymentFinishedDate: null
    deploymentHealthStatusType: green
    deploymentName: Test-Update - K
    deploymentScheduledDate: null
    deploymentStartedDate: '2024-01-05T16:53:22.886+00:00'
    deploymentValid: null
    deploymentValidationResponse: null
    disruptiveFirmware: false
    firmwareInit: false
    firmwareRepository:
      bundleCount: 0
      componentCount: 0
      createdBy: null
      createdDate: null
      custom: false
      defaultCatalog: false
      deployments: []
      diskLocation: null
      downloadProgress: 0
      downloadStatus: null
      embedded: false
      extractProgress: 0
      fileSizeInGigabytes: null
      filename: null
      id: 8aaa80658cd602e0018cd996a1c91bdc
      jobId: null
      md5Hash: null
      minimal: false
      name: Intelligent Catalog 45.373.00
      needsAttention: false
      password: null
      rcmapproved: false
      signature: null
      signedKeySourceLocation: null
      softwareBundles: []
      softwareComponents: []
      sourceLocation: null
      sourceType: null
      state: null
      updatedBy: null
      updatedDate: null
      userBundleCount: 0
      username: null
    firmwareRepositoryId: 8aaa80658cd602e0018cd996a1c91bdc
    id: 8aaa80658cd602e0018cda8b257f78ce
    individualTeardown: false
    jobDetails: null
    licenseRepository: null
    licenseRepositoryId: null
    lifecycleMode: false
    lifecycleModeReasons: []
    noOp: false
    numberOfDeployments: 0
    operationData: null
    operationStatus: null
    operationType: NONE
    originalDeploymentId: null
    owner: admin
    precalculatedDeviceHealth: null
    preconfigureSVM: false
    preconfigureSVMAndUpdate: false
    removeService: false
    retry: false
    scaleUp: false
    scheduleDate: null
    serviceTemplate:
      allUsersAllowed: true
      assignedUsers: []
      blockServiceOperationsMap:
        scaleio-block-legacy-gateway:
          blockServiceOperationsMap: {}
      brownfieldTemplateType: NONE
      category: block-only
      clusterCount: 1
      components:
      - asmGUID: scaleio-block-legacy-gateway
        brownfield: false
        cloned: false
        clonedFromAsmGuid: null
        clonedFromId: null
        componentID: component-scaleio-gateway-1
        componentValid:
          messages: []
          valid: true
        configFile: null
        helpText: null
        id: 6def7edd-bae2-4420-93bf-9ceb051bbb65
        identifier: null
        instances: 1
        ip: null
        manageFirmware: false
        managementIpAddress: null
        name: block-legacy-gateway
        osPuppetCertName: null
        puppetCertName: scaleio-block-legacy-gateway
        refId: null
        relatedComponents:
          625b0e17-9b91-4bc0-864c-d0111d42d8d0: Node (Software Only)
          961a59eb-80c3-4a3a-84b7-2101e9831527: Node (Software Only)-2
          bca710a5-7cdf-481e-b729-0b53e02873ee: Node (Software Only)-3
        resources: []
        serialNumber: null
        subType: STORAGEONLY
        teardown: false
        type: SCALEIO
      configuration: null
      createdBy: null
      createdDate: '2024-01-05T16:53:22.083+00:00'
      draft: false
      firmwareRepository: null
      id: 8aaa80658cd602e0018cda8b257f78ce
      inConfiguration: false
      lastDeployedDate: null
      licenseRepository: null
      manageFirmware: true
      networks:
      - description: ''
        destinationIpAddress: 10.1.1.1
        id: 8aaa80648cd5fb9b018cda46e4e50000
        name: mgmt
        static: true
        staticNetworkConfiguration:
          dnsSuffix: null
          gateway: 10.1.1.1
          ipAddress: null
          ipRange:
          - endingIp: 10.1.1.1
            id: 8aaa80648cd5fb9b018cda46e5080001
            role: null
            startingIp: 10.1.1.1
          primaryDns: 10.1.1.1
          secondaryDns: 10.1.1.1
          staticRoute: null
          subnet: 1.1.1.0
        type: SCALEIO_MANAGEMENT
        vlanId: 850
      originalTemplateId: c44cb500-020f-4562-9456-42ec1eb5f9b2
      sdnasCount: 0
      serverCount: 3
      serviceCount: 0
      storageCount: 1
      switchCount: 0
      templateDescription: Storage - Software Only deployment
      templateLocked: false
      templateName: block-only (8aaa80658cd602e0018cda8b257f78ce)
      templateType: VxRack FLEX
      templateValid:
        messages: []
        valid: true
      templateVersion: 4.5.0.0
      updatedBy: null
      updatedDate: '2024-02-09T06:00:09.602+00:00'
      useDefaultCatalog: false
      vmCount: 0
    servicesDeployed: NONE
    status: complete
    teardown: false
    teardownAfterCancel: false
    templateValid: true
    totalBatchCount: null
    totalNumOfSteps: null
    updateServerFirmware: true
    updatedBy: system
    updatedDate: '2024-02-11T17:00:05.657+00:00'
    useDefaultCatalog: false
    vds: false
    vms: null
  type: list
Devices:
  contains:
    id:
      description: device id.
      type: str
    name:
      description: device name.
      type: str
  description: Details of devices.
  returned: always
  sample:
  - id: b6efa59900000000
    name: device230
  - id: b6efa5fa00020000
    name: device_node0
  - id: b7f3a60900010000
    name: device22
  type: list
Fault_Sets:
  contains:
    id:
      description: device id.
      type: str
    name:
      description: device name.
      type: str
    protectionDomainId:
      description: The ID of the protection domain.
      type: str
  description: Details of fault sets.
  returned: always
  sample:
  - SDS: []
    id: eb44b70500000000
    links:
    - href: /api/instances/FaultSet::eb44b70500000000
      rel: self
    - href: /api/instances/FaultSet::eb44b70500000000/relationships/Statistics
      rel: /api/FaultSet/relationship/Statistics
    - href: /api/instances/FaultSet::eb44b70500000000/relationships/Sds
      rel: /api/FaultSet/relationship/Sds
    - href: /api/instances/ProtectionDomain::da721a8300000000
      rel: /api/parent/relationship/protectionDomainId
    name: at1zbs1t6cp2sds1d1fs1
    protectionDomainId: da721a8300000000
    protectionDomainName: fault_set_1
  - SDS: []
    id: eb44b70700000002
    links:
    - href: /api/instances/FaultSet::eb44b70700000002
      rel: self
    - href: /api/instances/FaultSet::eb44b70700000002/relationships/Statistics
      rel: /api/FaultSet/relationship/Statistics
    - href: /api/instances/FaultSet::eb44b70700000002/relationships/Sds
      rel: /api/FaultSet/relationship/Sds
    - href: /api/instances/ProtectionDomain::da721a8300000000
      rel: /api/parent/relationship/protectionDomainId
    name: at1zbs1t6cp2sds1d1fs3
    protectionDomainId: da721a8300000000
    protectionDomainName: fault_set_2
  type: list
FirmwareRepository:
  contains:
    deployments:
      description: Deployments of the firmware repository.
      type: list
    id:
      description: ID of the firmware repository.
      type: str
    name:
      description: Name of the firmware repository.
      type: str
    softwareBundles:
      description: Software bundles of the firmware repository.
      type: list
    softwareComponents:
      description: Software components of the firmware repository.
      type: list
    sourceLocation:
      description: Source location of the firmware repository.
      type: str
    state:
      description: State of the firmware repository.
      type: str
  description: Details of all firmware repository.
  returned: when I(gather_subset) is C(firmware_repository)
  sample:
  - bundleCount: 0
    componentCount: 0
    createdBy: admin
    createdDate: '2024-02-26T17:07:11.884+00:00'
    custom: false
    defaultCatalog: false
    deployments: []
    diskLocation: ''
    downloadProgress: 100
    downloadStatus: error
    embedded: false
    extractProgress: 0
    fileSizeInGigabytes: 0.0
    filename: ''
    id: 8aaa03a78de4b2a5018de662818d000b
    jobId: Job-10d75a23-d801-4fdb-a2d0-7f6389ab75cf
    md5Hash: null
    minimal: true
    name: https://192.168.0.1/artifactory/path/pfxmlogs-bvt-pfmp-swo-upgrade-402-to-451-56.tar.gz
    needsAttention: false
    password: ''
    rcmapproved: false
    signature: Unknown
    signedKeySourceLocation: null
    softwareBundles: []
    softwareComponents: []
    sourceLocation: https://192.168.0.2/artifactory/path/pfxmlogs-bvt-pfmp-swo-upgrade-402-to-451-56.tar.gz
    sourceType: null
    state: errors
    updatedBy: system
    updatedDate: '2024-03-01T06:21:10.917+00:00'
    userBundleCount: 0
    username: ''
  type: list
ManagedDevices:
  contains:
    compliance:
      description: The compliance state of the device.
      type: str
    deviceType:
      description: Device Type.
      type: str
    managedState:
      description: The managed state of the device.
      type: str
    serverTemplateId:
      description: The ID of the server template.
      type: str
    serviceTag:
      description: Service Tag.
      type: str
    state:
      description: The state of the device.
      type: str
    systemId:
      description: The system ID.
      type: str
  description: Details of all devices from inventory.
  returned: when I(gather_subset) is I(managed_device)
  sample:
  - chassisId: null
    compliance: NONCOMPLIANT
    complianceCheckDate: '2024-02-05T18:31:31.213+00:00'
    config: null
    cpuType: null
    credId: bc97cefb-5eb4-4c20-8e39-d1a2b809c9f5
    currentIpAddress: 10.1.1.1
    customFirmware: false
    detailLink:
      href: /AsmManager/ManagedDevice/softwareOnlyServer-10.1.1.1
      rel: describedby
      title: softwareOnlyServer-10.1.1.1
      type: null
    deviceGroupList:
      deviceGroup:
      - createdBy: admin
        createdDate: null
        groupDescription: null
        groupName: Global
        groupSeqId: -1
        groupUserList: null
        link: null
        managedDeviceList: null
        updatedBy: null
        updatedDate: null
      paging: null
    deviceType: SoftwareOnlyServer
    discoverDeviceType: SOFTWAREONLYSERVER_CENTOS
    discoveredDate: '2024-02-05T18:31:30.992+00:00'
    displayName: vpi1011-c1n1
    esxiMaintMode: 0
    failuresCount: 0
    firmwareName: Default Catalog - PowerFlex 4.5.0.0
    flexosMaintMode: 0
    health: RED
    healthMessage: Inventory run failed.
    hostname: vpi1011-c1n1
    inUse: false
    infraTemplateDate: null
    infraTemplateId: null
    inventoryDate: null
    ipAddress: 10.1.1.1
    lastJobs: null
    managedState: UNMANAGED
    manufacturer: VMware, Inc.
    memoryInGB: 0
    model: VMware Virtual Platform
    needsAttention: false
    nics: 0
    numberOfCPUs: 0
    operatingSystem: N/A
    osAdminCredential: null
    osImageType: null
    osIpAddress: null
    parsedFacts: null
    puppetCertName: red_hat-10.1.1.1
    refId: softwareOnlyServer-10.1.1.1
    refType: null
    serverTemplateDate: null
    serverTemplateId: null
    serviceReferences: []
    serviceTag: VMware-42 15 a5 f9 65 e6 63 0e-36 79 59 73 7b 3a 68 cd-SW
    state: READY
    statusMessage: null
    svmAdminCredential: null
    svmImageType: null
    svmIpAddress: null
    svmName: null
    systemId: null
    vmList: []
  type: list
Protection_Domains:
  contains:
    id:
      description: protection domain id.
      type: str
    name:
      description: protection domain name.
      type: str
  description: Details of all protection domains.
  returned: always
  sample:
  - id: 9300e90900000001
    name: domain2
  - id: 9300c1f900000000
    name: domain1
  type: list
Replication_Consistency_Groups:
  contains:
    abstractState:
      description: The abstract state of the replication consistency group.
      type: str
    activeLocal:
      description: Whether the local replication consistency group is active.
      type: bool
    activeRemote:
      description: Whether the remote replication consistency group is active
      type: bool
    currConsistMode:
      description: The current consistency mode of the replication consistency group.
      type: str
    disasterRecoveryState:
      description: The state of disaster recovery of the local replication consistency
        group.
      type: str
    error:
      description: The error code of the replication consistency group.
      type: int
    failoverState:
      description: The state of failover of the replication consistency group.
      type: str
    failoverType:
      description: The type of failover of the replication consistency group.
      type: str
    freezeState:
      description: The freeze state of the replication consistency group.
      type: str
    id:
      description: The ID of the replication consistency group.
      type: str
    inactiveReason:
      description: The reason for the inactivity of the replication consistency group.
      type: int
    lastSnapCreationRc:
      description: The return code of the last snapshot of the replication consistency
        group.
      type: int
    lastSnapGroupId:
      description: ID of the last snapshot of the replication consistency group.
      type: str
    lifetimeState:
      description: The Lifetime state of the replication consistency group.
      type: str
    localActivityState:
      description: The state of activity of the local replication consistency group.
      type: str
    name:
      description: The name of the replication consistency group.
      type: str
    pauseMode:
      description: The Lifetime state of the replication consistency group.
      type: str
    peerMdmId:
      description: The ID of the peer MDM of the replication consistency group.
      type: str
    protectionDomainId:
      description: The Protection Domain ID of the replication consistency group.
      type: str
    remoteActivityState:
      description: The state of activity of the remote replication consistency group..
      type: str
    remoteDisasterRecoveryState:
      description: The state of disaster recovery of the remote replication consistency
        group.
      type: str
    remoteId:
      description: The ID of the remote replication consistency group.
      type: str
    remoteMdmId:
      description: The ID of the remote MDM of the replication consistency group.
      type: str
    remoteProtectionDomainId:
      description: The ID of the remote Protection Domain.
      type: str
    remoteProtectionDomainName:
      description: The Name of the remote Protection Domain.
      type: str
    replicationDirection:
      description: The direction of the replication of the replication consistency
        group.
      type: str
    rpoInSeconds:
      description: The RPO value of the replication consistency group in seconds.
      type: int
    snapCreationInProgress:
      description: Whether the process of snapshot creation of the replication consistency
        group is in progress or not.
      type: bool
    targetVolumeAccessMode:
      description: The access mode of the target volume of the replication consistency
        group.
      type: str
    type:
      description: The type of the replication consistency group.
      type: str
  description: Details of rcgs.
  returned: always
  sample:
    abstractState: Ok
    activeLocal: true
    activeRemote: true
    currConsistMode: Consistent
    disasterRecoveryState: None
    error: 65
    failoverState: None
    failoverType: None
    freezeState: Unfrozen
    id: aadc17d500000000
    inactiveReason: 11
    lastSnapCreationRc: SUCCESS
    lastSnapGroupId: e58280b300000001
    lifetimeState: Normal
    localActivityState: Active
    name: test_rcg
    pauseMode: None
    peerMdmId: 6c3d94f600000000
    protectionDomainId: b969400500000000
    remoteActivityState: Active
    remoteDisasterRecoveryState: None
    remoteId: 2130961a00000000
    remoteMdmId: 0e7a082862fedf0f
    remoteProtectionDomainId: 4eeb304600000000
    remoteProtectionDomainName: domain1
    replicationDirection: LocalToRemote
    rpoInSeconds: 30
    snapCreationInProgress: false
    targetVolumeAccessMode: NoAccess
    type: User
  type: list
Replication_pairs:
  contains:
    copyType:
      description: The copy type of the replication pair.
      type: str
    id:
      description: The ID of the replication pair.
      type: str
    initialCopyState:
      description: The inital copy state of the replication pair.
      type: str
    localActivityState:
      description: The state of activity of the local replication pair.
      type: str
    localVolumeId:
      description: The ID of the local volume.
      type: str
    name:
      description: The name of the replication pair.
      type: str
    remoteActivityState:
      description: The state of activity of the remote replication pair.
      type: str
    remoteId:
      description: The ID of the remote replication pair.
      type: str
    replicationConsistencyGroupId:
      description: The ID of the replication consistency group.
      type: str
  description: Details of the replication pairs.
  returned: Always
  sample:
    copyType: OnlineCopy
    id: 23aa0bc900000001
    initialCopyPriority: -1
    initialCopyState: Done
    lifetimeState: Normal
    localActivityState: RplEnabled
    localVolumeId: e2bc1fab00000008
    name: null
    peerSystemName: null
    remoteActivityState: RplEnabled
    remoteCapacityInMB: 8192
    remoteId: a058446700000001
    remoteVolumeId: 1cda7af20000000d
    remoteVolumeName: vol
    replicationConsistencyGroupId: e2ce036b00000002
    userRequestedPauseTransmitInitCopy: false
  type: list
SDCs:
  contains:
    id:
      description: storage data client id.
      type: str
    name:
      description: storage data client name.
      type: str
  description: Details of storage data clients.
  returned: always
  sample:
  - id: 07335d3d00000006
    name: LGLAP203
  - id: 07335d3c00000005
    name: LGLAP178
  - id: 0733844a00000003
  type: list
SDSs:
  contains:
    id:
      description: storage data server id.
      type: str
    name:
      description: storage data server name.
      type: str
  description: Details of storage data servers.
  returned: always
  sample:
  - id: 8f3bb0cc00000002
    name: node0
  - id: 8f3bb0ce00000000
    name: node1
  - id: 8f3bb15300000001
    name: node22
  type: list
ServiceTemplates:
  contains:
    category:
      description: The template category.
      type: str
    serverCount:
      description: Server count.
      type: int
    templateDescription:
      description: Template description.
      type: str
    templateName:
      description: Template name.
      type: str
    templateType:
      description: Template type.
      type: str
    templateVersion:
      description: Template version.
      type: str
  description: Details of all service templates.
  returned: when I(gather_subset) is I(service_template)
  sample:
  - allUsersAllowed: false
    assignedUsers: []
    blockServiceOperationsMap: {}
    brownfieldTemplateType: NONE
    category: Sample Templates
    clusterCount: 1
    components:
    - asmGUID: null
      brownfield: false
      cloned: false
      clonedFromAsmGuid: null
      clonedFromId: null
      componentID: component-scaleio-gateway-1
      componentValid:
        messages: []
        valid: true
      configFile: null
      helpText: null
      id: 43dec024-85a9-4901-9e8e-fa0d3c417f7b
      identifier: null
      instances: 1
      ip: null
      manageFirmware: false
      managementIpAddress: null
      name: PowerFlex Cluster
      osPuppetCertName: null
      puppetCertName: null
      refId: null
      relatedComponents:
        c5c46733-012c-4dca-af9b-af46d73d045a: Storage Only Node
      resources: []
      serialNumber: null
      subType: STORAGEONLY
      teardown: false
      type: SCALEIO
    configuration: null
    createdBy: system
    createdDate: '2024-01-04T19:47:23.534+00:00'
    draft: false
    firmwareRepository: null
    id: 2434144f-7795-4245-a04b-6fcb771697d7
    inConfiguration: false
    lastDeployedDate: null
    licenseRepository: null
    manageFirmware: true
    networks:
    - description: ''
      destinationIpAddress: 1.1.1.0
      id: ff80808177f8823b0177f8bb82d80005
      name: flex-data2
      static: true
      staticNetworkConfiguration:
        dnsSuffix: null
        gateway: null
        ipAddress: null
        ipRange: null
        primaryDns: null
        secondaryDns: null
        staticRoute: null
        subnet: 1.1.1.0
      type: SCALEIO_DATA
      vlanId: 105
    originalTemplateId: ff80808177f880fc0177f883bf1e0027
    sdnasCount: 0
    serverCount: 4
    serviceCount: 0
    storageCount: 0
    switchCount: 0
    templateDescription: Storage Only 4 Node deployment with 100Gb networking
    templateLocked: true
    templateName: Storage- 100Gb
    templateType: VxRack FLEX
    templateValid:
      messages: []
      valid: true
    templateVersion: 4.5-213
    updatedBy: null
    updatedDate: null
    useDefaultCatalog: true
    vmCount: 0
  type: list
Snapshot_Policies:
  contains:
    id:
      description: snapshot policy id.
      type: str
    name:
      description: snapshot policy name.
      type: str
  description: Details of snapshot policies.
  returned: always
  sample:
  - id: 2b380c5c00000000
    name: sample_snap_policy
  - id: 2b380c5d00000001
    name: sample_snap_policy_1
  type: list
Storage_Pools:
  contains:
    id:
      description: ID of the storage pool under protection domain.
      type: str
    mediaType:
      description: Type of devices in the storage pool.
      type: str
    name:
      description: Name of the storage pool under protection domain.
      type: str
    protectionDomainId:
      description: ID of the protection domain in which pool resides.
      type: str
    protectionDomainName:
      description: Name of the protection domain in which pool resides.
      type: str
    statistics:
      contains:
        capacityInUseInKb:
          description: Total capacity of the storage pool.
          type: str
        deviceIds:
          description: Device Ids of the storage pool.
          type: list
        unusedCapacityInKb:
          description: Unused capacity of the storage pool.
          type: str
      description: Statistics details of the storage pool.
      type: dict
    useRfcache:
      description: Enable/Disable RFcache on a specific storage pool.
      type: bool
    useRmcache:
      description: Enable/Disable RMcache on a specific storage pool.
      type: bool
  description: Details of storage pools.
  returned: always
  sample:
  - addressSpaceUsage: Normal
    addressSpaceUsageType: DeviceCapacityLimit
    backgroundScannerBWLimitKBps: 3072
    backgroundScannerMode: DataComparison
    bgScannerCompareErrorAction: ReportAndFix
    bgScannerReadErrorAction: ReportAndFix
    capacityAlertCriticalThreshold: 90
    capacityAlertHighThreshold: 80
    capacityUsageState: Normal
    capacityUsageType: NetCapacity
    checksumEnabled: false
    compressionMethod: Invalid
    dataLayout: MediumGranularity
    externalAccelerationType: None
    fglAccpId: null
    fglExtraCapacity: null
    fglMaxCompressionRatio: null
    fglMetadataSizeXx100: null
    fglNvdimmMetadataAmortizationX100: null
    fglNvdimmWriteCacheSizeInMb: null
    fglOverProvisioningFactor: null
    fglPerfProfile: null
    fglWriteAtomicitySize: null
    fragmentationEnabled: true
    id: e0d8f6c900000000
    links:
    - href: /api/instances/StoragePool::e0d8f6c900000000
      rel: self
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/Statistics
      rel: /api/StoragePool/relationship/Statistics
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/SpSds
      rel: /api/StoragePool/relationship/SpSds
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/Volume
      rel: /api/StoragePool/relationship/Volume
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/Device
      rel: /api/StoragePool/relationship/Device
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/VTree
      rel: /api/StoragePool/relationship/VTree
    - href: /api/instances/ProtectionDomain::9300c1f900000000
      rel: /api/parent/relationship/protectionDomainId
    mediaType: HDD
    name: pool1
    numOfParallelRebuildRebalanceJobsPerDevice: 2
    persistentChecksumBuilderLimitKb: 3072
    persistentChecksumEnabled: true
    persistentChecksumState: Protected
    persistentChecksumValidateOnRead: false
    protectedMaintenanceModeIoPriorityAppBwPerDeviceThresholdInKbps: null
    protectedMaintenanceModeIoPriorityAppIopsPerDeviceThreshold: null
    protectedMaintenanceModeIoPriorityBwLimitPerDeviceInKbps: 10240
    protectedMaintenanceModeIoPriorityNumOfConcurrentIosPerDevice: 1
    protectedMaintenanceModeIoPriorityPolicy: limitNumOfConcurrentIos
    protectedMaintenanceModeIoPriorityQuietPeriodInMsec: null
    protectionDomainId: 9300c1f900000000
    protectionDomainName: domain1
    rebalanceEnabled: true
    rebalanceIoPriorityAppBwPerDeviceThresholdInKbps: null
    rebalanceIoPriorityAppIopsPerDeviceThreshold: null
    rebalanceIoPriorityBwLimitPerDeviceInKbps: 10240
    rebalanceIoPriorityNumOfConcurrentIosPerDevice: 1
    rebalanceIoPriorityPolicy: favorAppIos
    rebalanceIoPriorityQuietPeriodInMsec: null
    rebuildEnabled: true
    rebuildIoPriorityAppBwPerDeviceThresholdInKbps: null
    rebuildIoPriorityAppIopsPerDeviceThreshold: null
    rebuildIoPriorityBwLimitPerDeviceInKbps: 10240
    rebuildIoPriorityNumOfConcurrentIosPerDevice: 1
    rebuildIoPriorityPolicy: limitNumOfConcurrentIos
    rebuildIoPriorityQuietPeriodInMsec: null
    replicationCapacityMaxRatio: 32
    rmcacheWriteHandlingMode: Cached
    sparePercentage: 10
    statistics:
      BackgroundScannedInMB: 3466920
      activeBckRebuildCapacityInKb: 0
      activeEnterProtectedMaintenanceModeCapacityInKb: 0
      aggregateCompressionLevel: Uncompressed
      atRestCapacityInKb: 1248256
      backgroundScanCompareErrorCount: 0
      backgroundScanFixedCompareErrorCount: 0
      bckRebuildReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      bckRebuildWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      capacityAvailableForVolumeAllocationInKb: 369098752
      capacityInUseInKb: 2496512
      capacityInUseNoOverheadInKb: 2496512
      capacityLimitInKb: 845783040
      compressedDataCompressionRatio: 0.0
      compressionRatio: 1.0
      currentFglMigrationSizeInKb: 0
      deviceIds: []
      enterProtectedMaintenanceModeCapacityInKb: 0
      enterProtectedMaintenanceModeReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      enterProtectedMaintenanceModeWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      exitProtectedMaintenanceModeReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      exitProtectedMaintenanceModeWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      exposedCapacityInKb: 0
      failedCapacityInKb: 0
      fwdRebuildReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      fwdRebuildWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      inMaintenanceCapacityInKb: 0
      inMaintenanceVacInKb: 0
      inUseVacInKb: 184549376
      inaccessibleCapacityInKb: 0
      logWrittenBlocksInKb: 0
      maxCapacityInKb: 845783040
      migratingVolumeIds: []
      migratingVtreeIds: []
      movingCapacityInKb: 0
      netCapacityInUseInKb: 1248256
      normRebuildCapacityInKb: 0
      normRebuildReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      normRebuildWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      numOfDeviceAtFaultRebuilds: 0
      numOfDevices: 3
      numOfIncomingVtreeMigrations: 0
      numOfVolumes: 8
      numOfVolumesInDeletion: 0
      numOfVtrees: 8
      overallUsageRatio: 73.92289
      pendingBckRebuildCapacityInKb: 0
      pendingEnterProtectedMaintenanceModeCapacityInKb: 0
      pendingExitProtectedMaintenanceModeCapacityInKb: 0
      pendingFwdRebuildCapacityInKb: 0
      pendingMovingCapacityInKb: 0
      pendingMovingInBckRebuildJobs: 0
      persistentChecksumBuilderProgress: 100.0
      persistentChecksumCapacityInKb: 414720
      primaryReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      primaryReadFromDevBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      primaryReadFromRmcacheBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      primaryVacInKb: 92274688
      primaryWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      protectedCapacityInKb: 2496512
      protectedVacInKb: 184549376
      provisionedAddressesInKb: 2496512
      rebalanceCapacityInKb: 0
      rebalanceReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      rebalanceWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      rfacheReadHit: 0
      rfacheWriteHit: 0
      rfcacheAvgReadTime: 0
      rfcacheAvgWriteTime: 0
      rfcacheIoErrors: 0
      rfcacheIosOutstanding: 0
      rfcacheIosSkipped: 0
      rfcacheReadMiss: 0
      rmPendingAllocatedInKb: 0
      rmPendingThickInKb: 0
      rplJournalCapAllowed: 0
      rplTotalJournalCap: 0
      rplUsedJournalCap: 0
      secondaryReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      secondaryReadFromDevBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      secondaryReadFromRmcacheBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      secondaryVacInKb: 92274688
      secondaryWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      semiProtectedCapacityInKb: 0
      semiProtectedVacInKb: 0
      snapCapacityInUseInKb: 0
      snapCapacityInUseOccupiedInKb: 0
      snapshotCapacityInKb: 0
      spSdsIds:
      - abdfe71b00030001
      - abdce71d00040001
      - abdde71e00050001
      spareCapacityInKb: 84578304
      targetOtherLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      targetReadLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      targetWriteLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      tempCapacityInKb: 0
      tempCapacityVacInKb: 0
      thickCapacityInUseInKb: 0
      thinAndSnapshotRatio: 73.92289
      thinCapacityAllocatedInKm: 184549376
      thinCapacityInUseInKb: 0
      thinUserDataCapacityInKb: 2496512
      totalFglMigrationSizeInKb: 0
      totalReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      totalWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      trimmedUserDataCapacityInKb: 0
      unreachableUnusedCapacityInKb: 0
      unusedCapacityInKb: 758708224
      userDataCapacityInKb: 2496512
      userDataCapacityNoTrimInKb: 2496512
      userDataReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcReadLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcTrimLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcWriteLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataTrimBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      volMigrationReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      volMigrationWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      volumeAddressSpaceInKb: 922XXXXX
      volumeAllocationLimitInKb: 3707XXXXX
      volumeIds:
      - 456afc7900XXXXXXXX
      vtreeAddresSpaceInKb: 92274688
      vtreeIds:
      - 32b1681bXXXXXXXX
    useRfcache: false
    useRmcache: false
    vtreeMigrationIoPriorityAppBwPerDeviceThresholdInKbps: null
    vtreeMigrationIoPriorityAppIopsPerDeviceThreshold: null
    vtreeMigrationIoPriorityBwLimitPerDeviceInKbps: 10240
    vtreeMigrationIoPriorityNumOfConcurrentIosPerDevice: 1
    vtreeMigrationIoPriorityPolicy: favorAppIos
    vtreeMigrationIoPriorityQuietPeriodInMsec: null
    zeroPaddingEnabled: true
  type: list
Volumes:
  contains:
    id:
      description: The ID of the volume.
      type: str
    mappedSdcInfo:
      contains:
        accessMode:
          description: mapping access mode for the specified volume.
          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: dict
    name:
      description: Name of the volume.
      type: str
    protectionDomainId:
      description: ID of the protection domain in which volume resides.
      type: str
    protectionDomainName:
      description: Name of the protection domain in which volume resides.
      type: str
    sizeInGb:
      description: Size of the volume in Gb.
      type: int
    sizeInKb:
      description: Size of the volume in Kb.
      type: int
    snapshotPolicyId:
      description: ID of the snapshot policy associated with volume.
      type: str
    snapshotPolicyName:
      description: Name of the snapshot policy associated with volume.
      type: str
    snapshotsList:
      description: List of snapshots associated with the volume.
      type: str
    statistics:
      contains:
        numOfChildVolumes:
          description: Number of child volumes.
          type: int
        numOfMappedSdcs:
          description: Number of mapped Sdcs of the volume.
          type: int
      description: Statistics details of the storage pool.
      type: dict
    storagePoolId:
      description: ID of the storage pool in which volume resides.
      type: str
    storagePoolName:
      description: Name of the storage pool in which volume resides.
      type: str
  description: Details of volumes.
  returned: always
  sample:
  - accessModeLimit: ReadWrite
    ancestorVolumeId: null
    autoSnapshotGroupId: null
    compressionMethod: Invalid
    consistencyGroupId: null
    creationTime: 1661234220
    dataLayout: MediumGranularity
    id: 456afd7XXXXXXX
    lockedAutoSnapshot: false
    lockedAutoSnapshotMarkedForRemoval: false
    managedBy: ScaleIO
    mappedSdcInfo:
    - accessMode: ReadWrite
      isDirectBufferMapping: false
      limitBwInMbps: 0
      limitIops: 0
      sdcId: c42425cbXXXXX
      sdcIp: 10.XXX.XX.XX
      sdcName: null
    name: vol-1
    notGenuineSnapshot: false
    originalExpiryTime: 0
    pairIds: null
    replicationJournalVolume: false
    replicationTimeStamp: 0
    retentionLevels: []
    secureSnapshotExpTime: 0
    sizeInKb: 8388608
    snplIdOfAutoSnapshot: null
    snplIdOfSourceVolume: null
    statistics:
      childVolumeIds: []
      descendantVolumeIds: []
      initiatorSdcId: null
      mappedSdcIds:
      - c42425XXXXXX
      numOfChildVolumes: 0
      numOfDescendantVolumes: 0
      numOfMappedSdcs: 1
      registrationKey: null
      registrationKeys: []
      replicationJournalVolume: false
      replicationState: UnmarkedForReplication
      reservationType: NotReserved
      rplTotalJournalCap: 0
      rplUsedJournalCap: 0
      userDataReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcReadLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcTrimLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcWriteLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataTrimBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
    storagePoolId: 7630a248XXXXXXX
    timeStampIsAccurate: false
    useRmcache: false
    volumeReplicationState: UnmarkedForReplication
    volumeType: ThinProvisioned
    vtreeId: 32b168bXXXXXX
  type: list
changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool