Skip to content

/AWS1/CL_FSX=>CREATEFILESYSTEMFROMBACKUP()

About CreateFileSystemFromBackup

Creates a new Amazon FSx for Lustre, Amazon FSx for Windows File Server, or Amazon FSx for OpenZFS file system from an existing Amazon FSx backup.

If a file system with the specified client request token exists and the parameters match, this operation returns the description of the file system. If a file system with the specified client request token exists but the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, this operation does the following:

  • Creates a new Amazon FSx file system from backup with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the file system.

Parameters like the Active Directory, default share name, automatic backup, and backup settings default to the parameters of the file system that was backed up, unless overridden. You can explicitly supply other settings.

By using the idempotent operation, you can retry a CreateFileSystemFromBackup call without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives a success message as long as the parameters are the same.

The CreateFileSystemFromBackup call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

Method Signature

IMPORTING

Required arguments:

iv_backupid TYPE /AWS1/FSXBACKUPID /AWS1/FSXBACKUPID

BackupId

it_subnetids TYPE /AWS1/CL_FSXSUBNETIDS_W=>TT_SUBNETIDS TT_SUBNETIDS

Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types, Lustre file systems, and OpenZFS file systems provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

Optional arguments:

iv_clientrequesttoken TYPE /AWS1/FSXCLIENTREQUESTTOKEN /AWS1/FSXCLIENTREQUESTTOKEN

A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

it_securitygroupids TYPE /AWS1/CL_FSXSECURITYGROUPIDS_W=>TT_SECURITYGROUPIDS TT_SECURITYGROUPIDS

A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in later DescribeFileSystem requests.

it_tags TYPE /AWS1/CL_FSXTAG=>TT_TAGS TT_TAGS

The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

io_windowsconfiguration TYPE REF TO /AWS1/CL_FSXCREFILESYSTEMWIN00 /AWS1/CL_FSXCREFILESYSTEMWIN00

The configuration for this Microsoft Windows file system.

io_lustreconfiguration TYPE REF TO /AWS1/CL_FSXCREFILESYSTEMLUS00 /AWS1/CL_FSXCREFILESYSTEMLUS00

LustreConfiguration

iv_storagetype TYPE /AWS1/FSXSTORAGETYPE /AWS1/FSXSTORAGETYPE

Sets the storage type for the Windows or OpenZFS file system that you're creating from a backup. Valid values are SSD and HDD.

  • Set to SSD to use solid state drive storage. SSD is supported on all Windows and OpenZFS deployment types.

  • Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 FSx for Windows File Server file system deployment types.

The default value is SSD.

HDD and SSD storage types have different minimum storage capacity requirements. A restored file system's storage capacity is tied to the file system that was backed up. You can create a file system that uses HDD storage from a backup of a file system that used SSD storage if the original SSD file system had a storage capacity of at least 2000 GiB.

iv_kmskeyid TYPE /AWS1/FSXKMSKEYID /AWS1/FSXKMSKEYID

KmsKeyId

iv_filesystemtypeversion TYPE /AWS1/FSXFILESYSTEMTYPEVERSION /AWS1/FSXFILESYSTEMTYPEVERSION

Sets the version for the Amazon FSx for Lustre file system that you're creating from a backup. Valid values are 2.10, 2.12, and 2.15.

You can enter a Lustre version that is newer than the backup's FileSystemTypeVersion setting. If you don't enter a newer Lustre version, it defaults to the backup's setting.

io_openzfsconfiguration TYPE REF TO /AWS1/CL_FSXCREFILESYSTEMOPE00 /AWS1/CL_FSXCREFILESYSTEMOPE00

The OpenZFS configuration for the file system that's being created.

iv_storagecapacity TYPE /AWS1/FSXSTORAGECAPACITY /AWS1/FSXSTORAGECAPACITY

Sets the storage capacity of the OpenZFS file system that you're creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB (512 TiB). However, the value that you specify must be equal to or greater than the backup's storage capacity value. If you don't use the StorageCapacity parameter, the default is the backup's StorageCapacity value.

If used to create a file system other than OpenZFS, you must provide a value that matches the backup's StorageCapacity value. If you provide any other value, Amazon FSx responds with an HTTP status code 400 Bad Request.

RETURNING

oo_output TYPE REF TO /aws1/cl_fsxcrefilesystemfrm01 /AWS1/CL_FSXCREFILESYSTEMFRM01

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->/aws1/if_fsx~createfilesystemfrombackup(
  io_lustreconfiguration = new /aws1/cl_fsxcrefilesystemlus00(
    io_logconfiguration = new /aws1/cl_fsxlustrelogcreconf(
      iv_destination = |string|
      iv_level = |string|
    )
    io_metadataconfiguration = new /aws1/cl_fsxcrefilesystemlus01(
      iv_iops = 123
      iv_mode = |string|
    )
    io_rootsquashconfiguration = new /aws1/cl_fsxlustrerootsquash00(
      it_nosquashnids = VALUE /aws1/cl_fsxlustrenosquashni00=>tt_lustrenosquashnids(
        ( new /aws1/cl_fsxlustrenosquashni00( |string| ) )
      )
      iv_rootsquash = |string|
    )
    iv_autoimportpolicy = |string|
    iv_automaticbackupretdays = 123
    iv_copytagstobackups = ABAP_TRUE
    iv_dailyautomaticbackupstr00 = |string|
    iv_datacompressiontype = |string|
    iv_deploymenttype = |string|
    iv_drivecachetype = |string|
    iv_efaenabled = ABAP_TRUE
    iv_exportpath = |string|
    iv_importedfilechunksize = 123
    iv_importpath = |string|
    iv_perunitstoragethroughput = 123
    iv_weeklymaintenancestrttime = |string|
  )
  io_openzfsconfiguration = new /aws1/cl_fsxcrefilesystemope00(
    io_diskiopsconfiguration = new /aws1/cl_fsxdiskiopsconf(
      iv_iops = 123
      iv_mode = |string|
    )
    io_readcacheconfiguration = new /aws1/cl_fsxopenzfsreadcache00(
      iv_sizegib = 123
      iv_sizingmode = |string|
    )
    io_rootvolumeconfiguration = new /aws1/cl_fsxopenzfscrerootvo00(
      it_nfsexports = VALUE /aws1/cl_fsxopenzfsnfsexport=>tt_openzfsnfsexports(
        (
          new /aws1/cl_fsxopenzfsnfsexport(
            it_clientconfigurations = VALUE /aws1/cl_fsxopenzfsclientconf=>tt_openzfsclientconfigurations(
              (
                new /aws1/cl_fsxopenzfsclientconf(
                  it_options = VALUE /aws1/cl_fsxopenzfsnfsexpopt00=>tt_openzfsnfsexportoptions(
                    ( new /aws1/cl_fsxopenzfsnfsexpopt00( |string| ) )
                  )
                  iv_clients = |string|
                )
              )
            )
          )
        )
      )
      it_userandgroupquotas = VALUE /aws1/cl_fsxopenzfsuserorgrq00=>tt_openzfsuserandgroupquotas(
        (
          new /aws1/cl_fsxopenzfsuserorgrq00(
            iv_id = 123
            iv_storagecapacityquotagib = 123
            iv_type = |string|
          )
        )
      )
      iv_copytagstosnapshots = ABAP_TRUE
      iv_datacompressiontype = |string|
      iv_readonly = ABAP_TRUE
      iv_recordsizekib = 123
    )
    it_routetableids = VALUE /aws1/cl_fsxroutetableids_w=>tt_routetableids(
      ( new /aws1/cl_fsxroutetableids_w( |string| ) )
    )
    iv_automaticbackupretdays = 123
    iv_copytagstobackups = ABAP_TRUE
    iv_copytagstovolumes = ABAP_TRUE
    iv_dailyautomaticbackupstr00 = |string|
    iv_deploymenttype = |string|
    iv_endpointipaddressrange = |string|
    iv_preferredsubnetid = |string|
    iv_throughputcapacity = 123
    iv_weeklymaintenancestrttime = |string|
  )
  io_windowsconfiguration = new /aws1/cl_fsxcrefilesystemwin00(
    io_auditlogconfiguration = new /aws1/cl_fsxwindowsaudlogcre00(
      iv_auditlogdestination = |string|
      iv_fileaccessauditloglevel = |string|
      iv_fileshareaccauditloglevel = |string|
    )
    io_diskiopsconfiguration = new /aws1/cl_fsxdiskiopsconf(
      iv_iops = 123
      iv_mode = |string|
    )
    io_selfmanagedactdirectory00 = new /aws1/cl_fsxselfmanagedactdi01(
      it_dnsips = VALUE /aws1/cl_fsxdnsips_w=>tt_dnsips(
        ( new /aws1/cl_fsxdnsips_w( |string| ) )
      )
      iv_domainname = |string|
      iv_filesystemadministrator00 = |string|
      iv_orgalunitdistinguishedn00 = |string|
      iv_password = |string|
      iv_username = |string|
    )
    it_aliases = VALUE /aws1/cl_fsxalternatednsname00=>tt_alternatednsnames(
      ( new /aws1/cl_fsxalternatednsname00( |string| ) )
    )
    iv_activedirectoryid = |string|
    iv_automaticbackupretdays = 123
    iv_copytagstobackups = ABAP_TRUE
    iv_dailyautomaticbackupstr00 = |string|
    iv_deploymenttype = |string|
    iv_preferredsubnetid = |string|
    iv_throughputcapacity = 123
    iv_weeklymaintenancestrttime = |string|
  )
  it_securitygroupids = VALUE /aws1/cl_fsxsecuritygroupids_w=>tt_securitygroupids(
    ( new /aws1/cl_fsxsecuritygroupids_w( |string| ) )
  )
  it_subnetids = VALUE /aws1/cl_fsxsubnetids_w=>tt_subnetids(
    ( new /aws1/cl_fsxsubnetids_w( |string| ) )
  )
  it_tags = VALUE /aws1/cl_fsxtag=>tt_tags(
    (
      new /aws1/cl_fsxtag(
        iv_key = |string|
        iv_value = |string|
      )
    )
  )
  iv_backupid = |string|
  iv_clientrequesttoken = |string|
  iv_filesystemtypeversion = |string|
  iv_kmskeyid = |string|
  iv_storagecapacity = 123
  iv_storagetype = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_filesystem = lo_result->get_filesystem( ).
  IF lo_filesystem IS NOT INITIAL.
    lv_awsaccountid = lo_filesystem->get_ownerid( ).
    lv_creationtime = lo_filesystem->get_creationtime( ).
    lv_filesystemid = lo_filesystem->get_filesystemid( ).
    lv_filesystemtype = lo_filesystem->get_filesystemtype( ).
    lv_filesystemlifecycle = lo_filesystem->get_lifecycle( ).
    lo_filesystemfailuredetail = lo_filesystem->get_failuredetails( ).
    IF lo_filesystemfailuredetail IS NOT INITIAL.
      lv_errormessage = lo_filesystemfailuredetail->get_message( ).
    ENDIF.
    lv_storagecapacity = lo_filesystem->get_storagecapacity( ).
    lv_storagetype = lo_filesystem->get_storagetype( ).
    lv_vpcid = lo_filesystem->get_vpcid( ).
    LOOP AT lo_filesystem->get_subnetids( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_subnetid = lo_row_1->get_value( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_filesystem->get_networkinterfaceids( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_networkinterfaceid = lo_row_3->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_dnsname = lo_filesystem->get_dnsname( ).
    lv_kmskeyid = lo_filesystem->get_kmskeyid( ).
    lv_resourcearn = lo_filesystem->get_resourcearn( ).
    LOOP AT lo_filesystem->get_tags( ) into lo_row_4.
      lo_row_5 = lo_row_4.
      IF lo_row_5 IS NOT INITIAL.
        lv_tagkey = lo_row_5->get_key( ).
        lv_tagvalue = lo_row_5->get_value( ).
      ENDIF.
    ENDLOOP.
    lo_windowsfilesystemconfig = lo_filesystem->get_windowsconfiguration( ).
    IF lo_windowsfilesystemconfig IS NOT INITIAL.
      lv_directoryid = lo_windowsfilesystemconfig->get_activedirectoryid( ).
      lo_selfmanagedactivedirect = lo_windowsfilesystemconfig->get_selfmanagedactdirector00( ).
      IF lo_selfmanagedactivedirect IS NOT INITIAL.
        lv_activedirectoryfullyqua = lo_selfmanagedactivedirect->get_domainname( ).
        lv_organizationalunitdisti = lo_selfmanagedactivedirect->get_orgalunitdistinguished00( ).
        lv_filesystemadministrator = lo_selfmanagedactivedirect->get_filesystemadministrato00( ).
        lv_directoryusername = lo_selfmanagedactivedirect->get_username( ).
        LOOP AT lo_selfmanagedactivedirect->get_dnsips( ) into lo_row_6.
          lo_row_7 = lo_row_6.
          IF lo_row_7 IS NOT INITIAL.
            lv_ipaddress = lo_row_7->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
      lv_windowsdeploymenttype = lo_windowsfilesystemconfig->get_deploymenttype( ).
      lv_dnsname = lo_windowsfilesystemconfig->get_remoteadministrationen00( ).
      lv_subnetid = lo_windowsfilesystemconfig->get_preferredsubnetid( ).
      lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserverip( ).
      lv_megabytespersecond = lo_windowsfilesystemconfig->get_throughputcapacity( ).
      LOOP AT lo_windowsfilesystemconfig->get_maintenanceopsinprogress( ) into lo_row_8.
        lo_row_9 = lo_row_8.
        IF lo_row_9 IS NOT INITIAL.
          lv_filesystemmaintenanceop = lo_row_9->get_value( ).
        ENDIF.
      ENDLOOP.
      lv_weeklytime = lo_windowsfilesystemconfig->get_weeklymaintenancestrtt00( ).
      lv_dailytime = lo_windowsfilesystemconfig->get_dailyautomaticbackupst00( ).
      lv_automaticbackupretentio = lo_windowsfilesystemconfig->get_automaticbackupretdays( ).
      lv_flag = lo_windowsfilesystemconfig->get_copytagstobackups( ).
      LOOP AT lo_windowsfilesystemconfig->get_aliases( ) into lo_row_10.
        lo_row_11 = lo_row_10.
        IF lo_row_11 IS NOT INITIAL.
          lv_alternatednsname = lo_row_11->get_name( ).
          lv_aliaslifecycle = lo_row_11->get_lifecycle( ).
        ENDIF.
      ENDLOOP.
      lo_windowsauditlogconfigur = lo_windowsfilesystemconfig->get_auditlogconfiguration( ).
      IF lo_windowsauditlogconfigur IS NOT INITIAL.
        lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileaccessauditloglevel( ).
        lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileshareaccaudloglevel( ).
        lv_generalarn = lo_windowsauditlogconfigur->get_auditlogdestination( ).
      ENDIF.
      lo_diskiopsconfiguration = lo_windowsfilesystemconfig->get_diskiopsconfiguration( ).
      IF lo_diskiopsconfiguration IS NOT INITIAL.
        lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
        lv_iops = lo_diskiopsconfiguration->get_iops( ).
      ENDIF.
    ENDIF.
    lo_lustrefilesystemconfigu = lo_filesystem->get_lustreconfiguration( ).
    IF lo_lustrefilesystemconfigu IS NOT INITIAL.
      lv_weeklytime = lo_lustrefilesystemconfigu->get_weeklymaintenancestrtt00( ).
      lo_datarepositoryconfigura = lo_lustrefilesystemconfigu->get_datarepositoryconf( ).
      IF lo_datarepositoryconfigura IS NOT INITIAL.
        lv_datarepositorylifecycle = lo_datarepositoryconfigura->get_lifecycle( ).
        lv_archivepath = lo_datarepositoryconfigura->get_importpath( ).
        lv_archivepath = lo_datarepositoryconfigura->get_exportpath( ).
        lv_megabytes = lo_datarepositoryconfigura->get_importedfilechunksize( ).
        lv_autoimportpolicytype = lo_datarepositoryconfigura->get_autoimportpolicy( ).
        lo_datarepositoryfailurede = lo_datarepositoryconfigura->get_failuredetails( ).
        IF lo_datarepositoryfailurede IS NOT INITIAL.
          lv_errormessage = lo_datarepositoryfailurede->get_message( ).
        ENDIF.
      ENDIF.
      lv_lustredeploymenttype = lo_lustrefilesystemconfigu->get_deploymenttype( ).
      lv_perunitstoragethroughpu = lo_lustrefilesystemconfigu->get_perunitstoragethroughput( ).
      lv_lustrefilesystemmountna = lo_lustrefilesystemconfigu->get_mountname( ).
      lv_dailytime = lo_lustrefilesystemconfigu->get_dailyautomaticbackupst00( ).
      lv_automaticbackupretentio = lo_lustrefilesystemconfigu->get_automaticbackupretdays( ).
      lv_flag = lo_lustrefilesystemconfigu->get_copytagstobackups( ).
      lv_drivecachetype = lo_lustrefilesystemconfigu->get_drivecachetype( ).
      lv_datacompressiontype = lo_lustrefilesystemconfigu->get_datacompressiontype( ).
      lo_lustrelogconfiguration = lo_lustrefilesystemconfigu->get_logconfiguration( ).
      IF lo_lustrelogconfiguration IS NOT INITIAL.
        lv_lustreaccessauditloglev = lo_lustrelogconfiguration->get_level( ).
        lv_generalarn = lo_lustrelogconfiguration->get_destination( ).
      ENDIF.
      lo_lustrerootsquashconfigu = lo_lustrefilesystemconfigu->get_rootsquashconfiguration( ).
      IF lo_lustrerootsquashconfigu IS NOT INITIAL.
        lv_lustrerootsquash = lo_lustrerootsquashconfigu->get_rootsquash( ).
        LOOP AT lo_lustrerootsquashconfigu->get_nosquashnids( ) into lo_row_12.
          lo_row_13 = lo_row_12.
          IF lo_row_13 IS NOT INITIAL.
            lv_lustrenosquashnid = lo_row_13->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
      lo_filesystemlustremetadat = lo_lustrefilesystemconfigu->get_metadataconfiguration( ).
      IF lo_filesystemlustremetadat IS NOT INITIAL.
        lv_metadataiops = lo_filesystemlustremetadat->get_iops( ).
        lv_metadataconfigurationmo = lo_filesystemlustremetadat->get_mode( ).
      ENDIF.
      lv_flag = lo_lustrefilesystemconfigu->get_efaenabled( ).
    ENDIF.
    LOOP AT lo_filesystem->get_administrativeactions( ) into lo_row_14.
      lo_row_15 = lo_row_14.
      IF lo_row_15 IS NOT INITIAL.
        lv_administrativeactiontyp = lo_row_15->get_administrativeactiontype( ).
        lv_progresspercent = lo_row_15->get_progresspercent( ).
        lv_requesttime = lo_row_15->get_requesttime( ).
        lv_status = lo_row_15->get_status( ).
        lo_filesystem_1 = lo_row_15->get_targetfilesystemvalues( ).
        IF lo_filesystem_1 IS NOT INITIAL.
          lv_awsaccountid = lo_filesystem_1->get_ownerid( ).
          lv_creationtime = lo_filesystem_1->get_creationtime( ).
          lv_filesystemid = lo_filesystem_1->get_filesystemid( ).
          lv_filesystemtype = lo_filesystem_1->get_filesystemtype( ).
          lv_filesystemlifecycle = lo_filesystem_1->get_lifecycle( ).
          lo_filesystemfailuredetail = lo_filesystem_1->get_failuredetails( ).
          IF lo_filesystemfailuredetail IS NOT INITIAL.
            lv_errormessage = lo_filesystemfailuredetail->get_message( ).
          ENDIF.
          lv_storagecapacity = lo_filesystem_1->get_storagecapacity( ).
          lv_storagetype = lo_filesystem_1->get_storagetype( ).
          lv_vpcid = lo_filesystem_1->get_vpcid( ).
          LOOP AT lo_filesystem_1->get_subnetids( ) into lo_row.
            lo_row_1 = lo_row.
            IF lo_row_1 IS NOT INITIAL.
              lv_subnetid = lo_row_1->get_value( ).
            ENDIF.
          ENDLOOP.
          LOOP AT lo_filesystem_1->get_networkinterfaceids( ) into lo_row_2.
            lo_row_3 = lo_row_2.
            IF lo_row_3 IS NOT INITIAL.
              lv_networkinterfaceid = lo_row_3->get_value( ).
            ENDIF.
          ENDLOOP.
          lv_dnsname = lo_filesystem_1->get_dnsname( ).
          lv_kmskeyid = lo_filesystem_1->get_kmskeyid( ).
          lv_resourcearn = lo_filesystem_1->get_resourcearn( ).
          LOOP AT lo_filesystem_1->get_tags( ) into lo_row_4.
            lo_row_5 = lo_row_4.
            IF lo_row_5 IS NOT INITIAL.
              lv_tagkey = lo_row_5->get_key( ).
              lv_tagvalue = lo_row_5->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_windowsfilesystemconfig = lo_filesystem_1->get_windowsconfiguration( ).
          IF lo_windowsfilesystemconfig IS NOT INITIAL.
            lv_directoryid = lo_windowsfilesystemconfig->get_activedirectoryid( ).
            lo_selfmanagedactivedirect = lo_windowsfilesystemconfig->get_selfmanagedactdirector00( ).
            IF lo_selfmanagedactivedirect IS NOT INITIAL.
              lv_activedirectoryfullyqua = lo_selfmanagedactivedirect->get_domainname( ).
              lv_organizationalunitdisti = lo_selfmanagedactivedirect->get_orgalunitdistinguished00( ).
              lv_filesystemadministrator = lo_selfmanagedactivedirect->get_filesystemadministrato00( ).
              lv_directoryusername = lo_selfmanagedactivedirect->get_username( ).
              LOOP AT lo_selfmanagedactivedirect->get_dnsips( ) into lo_row_6.
                lo_row_7 = lo_row_6.
                IF lo_row_7 IS NOT INITIAL.
                  lv_ipaddress = lo_row_7->get_value( ).
                ENDIF.
              ENDLOOP.
            ENDIF.
            lv_windowsdeploymenttype = lo_windowsfilesystemconfig->get_deploymenttype( ).
            lv_dnsname = lo_windowsfilesystemconfig->get_remoteadministrationen00( ).
            lv_subnetid = lo_windowsfilesystemconfig->get_preferredsubnetid( ).
            lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserverip( ).
            lv_megabytespersecond = lo_windowsfilesystemconfig->get_throughputcapacity( ).
            LOOP AT lo_windowsfilesystemconfig->get_maintenanceopsinprogress( ) into lo_row_8.
              lo_row_9 = lo_row_8.
              IF lo_row_9 IS NOT INITIAL.
                lv_filesystemmaintenanceop = lo_row_9->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_weeklytime = lo_windowsfilesystemconfig->get_weeklymaintenancestrtt00( ).
            lv_dailytime = lo_windowsfilesystemconfig->get_dailyautomaticbackupst00( ).
            lv_automaticbackupretentio = lo_windowsfilesystemconfig->get_automaticbackupretdays( ).
            lv_flag = lo_windowsfilesystemconfig->get_copytagstobackups( ).
            LOOP AT lo_windowsfilesystemconfig->get_aliases( ) into lo_row_10.
              lo_row_11 = lo_row_10.
              IF lo_row_11 IS NOT INITIAL.
                lv_alternatednsname = lo_row_11->get_name( ).
                lv_aliaslifecycle = lo_row_11->get_lifecycle( ).
              ENDIF.
            ENDLOOP.
            lo_windowsauditlogconfigur = lo_windowsfilesystemconfig->get_auditlogconfiguration( ).
            IF lo_windowsauditlogconfigur IS NOT INITIAL.
              lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileaccessauditloglevel( ).
              lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileshareaccaudloglevel( ).
              lv_generalarn = lo_windowsauditlogconfigur->get_auditlogdestination( ).
            ENDIF.
            lo_diskiopsconfiguration = lo_windowsfilesystemconfig->get_diskiopsconfiguration( ).
            IF lo_diskiopsconfiguration IS NOT INITIAL.
              lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
              lv_iops = lo_diskiopsconfiguration->get_iops( ).
            ENDIF.
          ENDIF.
          lo_lustrefilesystemconfigu = lo_filesystem_1->get_lustreconfiguration( ).
          IF lo_lustrefilesystemconfigu IS NOT INITIAL.
            lv_weeklytime = lo_lustrefilesystemconfigu->get_weeklymaintenancestrtt00( ).
            lo_datarepositoryconfigura = lo_lustrefilesystemconfigu->get_datarepositoryconf( ).
            IF lo_datarepositoryconfigura IS NOT INITIAL.
              lv_datarepositorylifecycle = lo_datarepositoryconfigura->get_lifecycle( ).
              lv_archivepath = lo_datarepositoryconfigura->get_importpath( ).
              lv_archivepath = lo_datarepositoryconfigura->get_exportpath( ).
              lv_megabytes = lo_datarepositoryconfigura->get_importedfilechunksize( ).
              lv_autoimportpolicytype = lo_datarepositoryconfigura->get_autoimportpolicy( ).
              lo_datarepositoryfailurede = lo_datarepositoryconfigura->get_failuredetails( ).
              IF lo_datarepositoryfailurede IS NOT INITIAL.
                lv_errormessage = lo_datarepositoryfailurede->get_message( ).
              ENDIF.
            ENDIF.
            lv_lustredeploymenttype = lo_lustrefilesystemconfigu->get_deploymenttype( ).
            lv_perunitstoragethroughpu = lo_lustrefilesystemconfigu->get_perunitstoragethroughput( ).
            lv_lustrefilesystemmountna = lo_lustrefilesystemconfigu->get_mountname( ).
            lv_dailytime = lo_lustrefilesystemconfigu->get_dailyautomaticbackupst00( ).
            lv_automaticbackupretentio = lo_lustrefilesystemconfigu->get_automaticbackupretdays( ).
            lv_flag = lo_lustrefilesystemconfigu->get_copytagstobackups( ).
            lv_drivecachetype = lo_lustrefilesystemconfigu->get_drivecachetype( ).
            lv_datacompressiontype = lo_lustrefilesystemconfigu->get_datacompressiontype( ).
            lo_lustrelogconfiguration = lo_lustrefilesystemconfigu->get_logconfiguration( ).
            IF lo_lustrelogconfiguration IS NOT INITIAL.
              lv_lustreaccessauditloglev = lo_lustrelogconfiguration->get_level( ).
              lv_generalarn = lo_lustrelogconfiguration->get_destination( ).
            ENDIF.
            lo_lustrerootsquashconfigu = lo_lustrefilesystemconfigu->get_rootsquashconfiguration( ).
            IF lo_lustrerootsquashconfigu IS NOT INITIAL.
              lv_lustrerootsquash = lo_lustrerootsquashconfigu->get_rootsquash( ).
              LOOP AT lo_lustrerootsquashconfigu->get_nosquashnids( ) into lo_row_12.
                lo_row_13 = lo_row_12.
                IF lo_row_13 IS NOT INITIAL.
                  lv_lustrenosquashnid = lo_row_13->get_value( ).
                ENDIF.
              ENDLOOP.
            ENDIF.
            lo_filesystemlustremetadat = lo_lustrefilesystemconfigu->get_metadataconfiguration( ).
            IF lo_filesystemlustremetadat IS NOT INITIAL.
              lv_metadataiops = lo_filesystemlustremetadat->get_iops( ).
              lv_metadataconfigurationmo = lo_filesystemlustremetadat->get_mode( ).
            ENDIF.
            lv_flag = lo_lustrefilesystemconfigu->get_efaenabled( ).
          ENDIF.
          " Skipping lo_row_15->get_targetfilesystemvalues( ) to avoid recursion
          lo_ontapfilesystemconfigur = lo_filesystem_1->get_ontapconfiguration( ).
          IF lo_ontapfilesystemconfigur IS NOT INITIAL.
            lv_automaticbackupretentio = lo_ontapfilesystemconfigur->get_automaticbackupretdays( ).
            lv_dailytime = lo_ontapfilesystemconfigur->get_dailyautomaticbackupst00( ).
            lv_ontapdeploymenttype = lo_ontapfilesystemconfigur->get_deploymenttype( ).
            lv_ipaddressrange = lo_ontapfilesystemconfigur->get_endpointipaddressrange( ).
            lo_filesystemendpoints = lo_ontapfilesystemconfigur->get_endpoints( ).
            IF lo_filesystemendpoints IS NOT INITIAL.
              lo_filesystemendpoint = lo_filesystemendpoints->get_intercluster( ).
              IF lo_filesystemendpoint IS NOT INITIAL.
                lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                  lo_row_17 = lo_row_16.
                  IF lo_row_17 IS NOT INITIAL.
                    lv_ipaddress = lo_row_17->get_value( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
              lo_filesystemendpoint = lo_filesystemendpoints->get_management( ).
              IF lo_filesystemendpoint IS NOT INITIAL.
                lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                  lo_row_17 = lo_row_16.
                  IF lo_row_17 IS NOT INITIAL.
                    lv_ipaddress = lo_row_17->get_value( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
            ENDIF.
            lo_diskiopsconfiguration = lo_ontapfilesystemconfigur->get_diskiopsconfiguration( ).
            IF lo_diskiopsconfiguration IS NOT INITIAL.
              lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
              lv_iops = lo_diskiopsconfiguration->get_iops( ).
            ENDIF.
            lv_subnetid = lo_ontapfilesystemconfigur->get_preferredsubnetid( ).
            LOOP AT lo_ontapfilesystemconfigur->get_routetableids( ) into lo_row_18.
              lo_row_19 = lo_row_18.
              IF lo_row_19 IS NOT INITIAL.
                lv_routetableid = lo_row_19->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_megabytespersecond = lo_ontapfilesystemconfigur->get_throughputcapacity( ).
            lv_weeklytime = lo_ontapfilesystemconfigur->get_weeklymaintenancestrtt00( ).
            lv_adminpassword = lo_ontapfilesystemconfigur->get_fsxadminpassword( ).
            lv_hapairs = lo_ontapfilesystemconfigur->get_hapairs( ).
            lv_throughputcapacityperha = lo_ontapfilesystemconfigur->get_thruputcapacityperhapair( ).
          ENDIF.
          lv_filesystemtypeversion = lo_filesystem_1->get_filesystemtypeversion( ).
          lo_openzfsfilesystemconfig = lo_filesystem_1->get_openzfsconfiguration( ).
          IF lo_openzfsfilesystemconfig IS NOT INITIAL.
            lv_automaticbackupretentio = lo_openzfsfilesystemconfig->get_automaticbackupretdays( ).
            lv_flag = lo_openzfsfilesystemconfig->get_copytagstobackups( ).
            lv_flag = lo_openzfsfilesystemconfig->get_copytagstovolumes( ).
            lv_dailytime = lo_openzfsfilesystemconfig->get_dailyautomaticbackupst00( ).
            lv_openzfsdeploymenttype = lo_openzfsfilesystemconfig->get_deploymenttype( ).
            lv_megabytespersecond = lo_openzfsfilesystemconfig->get_throughputcapacity( ).
            lv_weeklytime = lo_openzfsfilesystemconfig->get_weeklymaintenancestrtt00( ).
            lo_diskiopsconfiguration = lo_openzfsfilesystemconfig->get_diskiopsconfiguration( ).
            IF lo_diskiopsconfiguration IS NOT INITIAL.
              lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
              lv_iops = lo_diskiopsconfiguration->get_iops( ).
            ENDIF.
            lv_volumeid = lo_openzfsfilesystemconfig->get_rootvolumeid( ).
            lv_subnetid = lo_openzfsfilesystemconfig->get_preferredsubnetid( ).
            lv_ipaddressrange = lo_openzfsfilesystemconfig->get_endpointipaddressrange( ).
            LOOP AT lo_openzfsfilesystemconfig->get_routetableids( ) into lo_row_18.
              lo_row_19 = lo_row_18.
              IF lo_row_19 IS NOT INITIAL.
                lv_routetableid = lo_row_19->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipaddress( ).
            lo_openzfsreadcacheconfigu = lo_openzfsfilesystemconfig->get_readcacheconfiguration( ).
            IF lo_openzfsreadcacheconfigu IS NOT INITIAL.
              lv_openzfsreadcachesizingm = lo_openzfsreadcacheconfigu->get_sizingmode( ).
              lv_storagecapacity = lo_openzfsreadcacheconfigu->get_sizegib( ).
            ENDIF.
          ENDIF.
        ENDIF.
        lo_administrativeactionfai = lo_row_15->get_failuredetails( ).
        IF lo_administrativeactionfai IS NOT INITIAL.
          lv_errormessage = lo_administrativeactionfai->get_message( ).
        ENDIF.
        lo_volume = lo_row_15->get_targetvolumevalues( ).
        IF lo_volume IS NOT INITIAL.
          lv_creationtime = lo_volume->get_creationtime( ).
          lv_filesystemid = lo_volume->get_filesystemid( ).
          lv_volumelifecycle = lo_volume->get_lifecycle( ).
          lv_volumename = lo_volume->get_name( ).
          lo_ontapvolumeconfiguratio = lo_volume->get_ontapconfiguration( ).
          IF lo_ontapvolumeconfiguratio IS NOT INITIAL.
            lv_flexcacheendpointtype = lo_ontapvolumeconfiguratio->get_flexcacheendpointtype( ).
            lv_junctionpath = lo_ontapvolumeconfiguratio->get_junctionpath( ).
            lv_securitystyle = lo_ontapvolumeconfiguratio->get_securitystyle( ).
            lv_volumecapacity = lo_ontapvolumeconfiguratio->get_sizeinmegabytes( ).
            lv_flag = lo_ontapvolumeconfiguratio->get_storageefficiencyenabled( ).
            lv_storagevirtualmachineid = lo_ontapvolumeconfiguratio->get_storagevirtualmachineid( ).
            lv_flag = lo_ontapvolumeconfiguratio->get_strgvirtualmachineroot( ).
            lo_tieringpolicy = lo_ontapvolumeconfiguratio->get_tieringpolicy( ).
            IF lo_tieringpolicy IS NOT INITIAL.
              lv_coolingperiod = lo_tieringpolicy->get_coolingperiod( ).
              lv_tieringpolicyname = lo_tieringpolicy->get_name( ).
            ENDIF.
            lv_uuid = lo_ontapvolumeconfiguratio->get_uuid( ).
            lv_ontapvolumetype = lo_ontapvolumeconfiguratio->get_ontapvolumetype( ).
            lv_snapshotpolicy = lo_ontapvolumeconfiguratio->get_snapshotpolicy( ).
            lv_flag = lo_ontapvolumeconfiguratio->get_copytagstobackups( ).
            lo_snaplockconfiguration = lo_ontapvolumeconfiguratio->get_snaplockconfiguration( ).
            IF lo_snaplockconfiguration IS NOT INITIAL.
              lv_flag = lo_snaplockconfiguration->get_auditlogvolume( ).
              lo_autocommitperiod = lo_snaplockconfiguration->get_autocommitperiod( ).
              IF lo_autocommitperiod IS NOT INITIAL.
                lv_autocommitperiodtype = lo_autocommitperiod->get_type( ).
                lv_autocommitperiodvalue = lo_autocommitperiod->get_value( ).
              ENDIF.
              lv_privilegeddelete = lo_snaplockconfiguration->get_privilegeddelete( ).
              lo_snaplockretentionperiod = lo_snaplockconfiguration->get_retentionperiod( ).
              IF lo_snaplockretentionperiod IS NOT INITIAL.
                lo_retentionperiod = lo_snaplockretentionperiod->get_defaultretention( ).
                IF lo_retentionperiod IS NOT INITIAL.
                  lv_retentionperiodtype = lo_retentionperiod->get_type( ).
                  lv_retentionperiodvalue = lo_retentionperiod->get_value( ).
                ENDIF.
                lo_retentionperiod = lo_snaplockretentionperiod->get_minimumretention( ).
                IF lo_retentionperiod IS NOT INITIAL.
                  lv_retentionperiodtype = lo_retentionperiod->get_type( ).
                  lv_retentionperiodvalue = lo_retentionperiod->get_value( ).
                ENDIF.
                lo_retentionperiod = lo_snaplockretentionperiod->get_maximumretention( ).
                IF lo_retentionperiod IS NOT INITIAL.
                  lv_retentionperiodtype = lo_retentionperiod->get_type( ).
                  lv_retentionperiodvalue = lo_retentionperiod->get_value( ).
                ENDIF.
              ENDIF.
              lv_snaplocktype = lo_snaplockconfiguration->get_snaplocktype( ).
              lv_flag = lo_snaplockconfiguration->get_volumeappendmodeenabled( ).
            ENDIF.
            lv_volumestyle = lo_ontapvolumeconfiguratio->get_volumestyle( ).
            lo_aggregateconfiguration = lo_ontapvolumeconfiguratio->get_aggregateconfiguration( ).
            IF lo_aggregateconfiguration IS NOT INITIAL.
              LOOP AT lo_aggregateconfiguration->get_aggregates( ) into lo_row_20.
                lo_row_21 = lo_row_20.
                IF lo_row_21 IS NOT INITIAL.
                  lv_aggregate = lo_row_21->get_value( ).
                ENDIF.
              ENDLOOP.
              lv_totalconstituents = lo_aggregateconfiguration->get_totalconstituents( ).
            ENDIF.
            lv_volumecapacitybytes = lo_ontapvolumeconfiguratio->get_sizeinbytes( ).
          ENDIF.
          lv_resourcearn = lo_volume->get_resourcearn( ).
          LOOP AT lo_volume->get_tags( ) into lo_row_4.
            lo_row_5 = lo_row_4.
            IF lo_row_5 IS NOT INITIAL.
              lv_tagkey = lo_row_5->get_key( ).
              lv_tagvalue = lo_row_5->get_value( ).
            ENDIF.
          ENDLOOP.
          lv_volumeid = lo_volume->get_volumeid( ).
          lv_volumetype = lo_volume->get_volumetype( ).
          lo_lifecycletransitionreas = lo_volume->get_lifecycletransreason( ).
          IF lo_lifecycletransitionreas IS NOT INITIAL.
            lv_errormessage = lo_lifecycletransitionreas->get_message( ).
          ENDIF.
          LOOP AT lo_volume->get_administrativeactions( ) into lo_row_22.
            lo_row_23 = lo_row_22.
            IF lo_row_23 IS NOT INITIAL.
              lv_administrativeactiontyp = lo_row_23->get_administrativeactiontype( ).
              lv_progresspercent = lo_row_23->get_progresspercent( ).
              lv_requesttime = lo_row_23->get_requesttime( ).
              lv_status = lo_row_23->get_status( ).
              lo_filesystem_1 = lo_row_23->get_targetfilesystemvalues( ).
              IF lo_filesystem_1 IS NOT INITIAL.
                lv_awsaccountid = lo_filesystem_1->get_ownerid( ).
                lv_creationtime = lo_filesystem_1->get_creationtime( ).
                lv_filesystemid = lo_filesystem_1->get_filesystemid( ).
                lv_filesystemtype = lo_filesystem_1->get_filesystemtype( ).
                lv_filesystemlifecycle = lo_filesystem_1->get_lifecycle( ).
                lo_filesystemfailuredetail = lo_filesystem_1->get_failuredetails( ).
                IF lo_filesystemfailuredetail IS NOT INITIAL.
                  lv_errormessage = lo_filesystemfailuredetail->get_message( ).
                ENDIF.
                lv_storagecapacity = lo_filesystem_1->get_storagecapacity( ).
                lv_storagetype = lo_filesystem_1->get_storagetype( ).
                lv_vpcid = lo_filesystem_1->get_vpcid( ).
                LOOP AT lo_filesystem_1->get_subnetids( ) into lo_row.
                  lo_row_1 = lo_row.
                  IF lo_row_1 IS NOT INITIAL.
                    lv_subnetid = lo_row_1->get_value( ).
                  ENDIF.
                ENDLOOP.
                LOOP AT lo_filesystem_1->get_networkinterfaceids( ) into lo_row_2.
                  lo_row_3 = lo_row_2.
                  IF lo_row_3 IS NOT INITIAL.
                    lv_networkinterfaceid = lo_row_3->get_value( ).
                  ENDIF.
                ENDLOOP.
                lv_dnsname = lo_filesystem_1->get_dnsname( ).
                lv_kmskeyid = lo_filesystem_1->get_kmskeyid( ).
                lv_resourcearn = lo_filesystem_1->get_resourcearn( ).
                LOOP AT lo_filesystem_1->get_tags( ) into lo_row_4.
                  lo_row_5 = lo_row_4.
                  IF lo_row_5 IS NOT INITIAL.
                    lv_tagkey = lo_row_5->get_key( ).
                    lv_tagvalue = lo_row_5->get_value( ).
                  ENDIF.
                ENDLOOP.
                lo_windowsfilesystemconfig = lo_filesystem_1->get_windowsconfiguration( ).
                IF lo_windowsfilesystemconfig IS NOT INITIAL.
                  lv_directoryid = lo_windowsfilesystemconfig->get_activedirectoryid( ).
                  lo_selfmanagedactivedirect = lo_windowsfilesystemconfig->get_selfmanagedactdirector00( ).
                  IF lo_selfmanagedactivedirect IS NOT INITIAL.
                    lv_activedirectoryfullyqua = lo_selfmanagedactivedirect->get_domainname( ).
                    lv_organizationalunitdisti = lo_selfmanagedactivedirect->get_orgalunitdistinguished00( ).
                    lv_filesystemadministrator = lo_selfmanagedactivedirect->get_filesystemadministrato00( ).
                    lv_directoryusername = lo_selfmanagedactivedirect->get_username( ).
                    LOOP AT lo_selfmanagedactivedirect->get_dnsips( ) into lo_row_6.
                      lo_row_7 = lo_row_6.
                      IF lo_row_7 IS NOT INITIAL.
                        lv_ipaddress = lo_row_7->get_value( ).
                      ENDIF.
                    ENDLOOP.
                  ENDIF.
                  lv_windowsdeploymenttype = lo_windowsfilesystemconfig->get_deploymenttype( ).
                  lv_dnsname = lo_windowsfilesystemconfig->get_remoteadministrationen00( ).
                  lv_subnetid = lo_windowsfilesystemconfig->get_preferredsubnetid( ).
                  lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserverip( ).
                  lv_megabytespersecond = lo_windowsfilesystemconfig->get_throughputcapacity( ).
                  LOOP AT lo_windowsfilesystemconfig->get_maintenanceopsinprogress( ) into lo_row_8.
                    lo_row_9 = lo_row_8.
                    IF lo_row_9 IS NOT INITIAL.
                      lv_filesystemmaintenanceop = lo_row_9->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lv_weeklytime = lo_windowsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                  lv_dailytime = lo_windowsfilesystemconfig->get_dailyautomaticbackupst00( ).
                  lv_automaticbackupretentio = lo_windowsfilesystemconfig->get_automaticbackupretdays( ).
                  lv_flag = lo_windowsfilesystemconfig->get_copytagstobackups( ).
                  LOOP AT lo_windowsfilesystemconfig->get_aliases( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lv_alternatednsname = lo_row_11->get_name( ).
                      lv_aliaslifecycle = lo_row_11->get_lifecycle( ).
                    ENDIF.
                  ENDLOOP.
                  lo_windowsauditlogconfigur = lo_windowsfilesystemconfig->get_auditlogconfiguration( ).
                  IF lo_windowsauditlogconfigur IS NOT INITIAL.
                    lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileaccessauditloglevel( ).
                    lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileshareaccaudloglevel( ).
                    lv_generalarn = lo_windowsauditlogconfigur->get_auditlogdestination( ).
                  ENDIF.
                  lo_diskiopsconfiguration = lo_windowsfilesystemconfig->get_diskiopsconfiguration( ).
                  IF lo_diskiopsconfiguration IS NOT INITIAL.
                    lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                    lv_iops = lo_diskiopsconfiguration->get_iops( ).
                  ENDIF.
                ENDIF.
                lo_lustrefilesystemconfigu = lo_filesystem_1->get_lustreconfiguration( ).
                IF lo_lustrefilesystemconfigu IS NOT INITIAL.
                  lv_weeklytime = lo_lustrefilesystemconfigu->get_weeklymaintenancestrtt00( ).
                  lo_datarepositoryconfigura = lo_lustrefilesystemconfigu->get_datarepositoryconf( ).
                  IF lo_datarepositoryconfigura IS NOT INITIAL.
                    lv_datarepositorylifecycle = lo_datarepositoryconfigura->get_lifecycle( ).
                    lv_archivepath = lo_datarepositoryconfigura->get_importpath( ).
                    lv_archivepath = lo_datarepositoryconfigura->get_exportpath( ).
                    lv_megabytes = lo_datarepositoryconfigura->get_importedfilechunksize( ).
                    lv_autoimportpolicytype = lo_datarepositoryconfigura->get_autoimportpolicy( ).
                    lo_datarepositoryfailurede = lo_datarepositoryconfigura->get_failuredetails( ).
                    IF lo_datarepositoryfailurede IS NOT INITIAL.
                      lv_errormessage = lo_datarepositoryfailurede->get_message( ).
                    ENDIF.
                  ENDIF.
                  lv_lustredeploymenttype = lo_lustrefilesystemconfigu->get_deploymenttype( ).
                  lv_perunitstoragethroughpu = lo_lustrefilesystemconfigu->get_perunitstoragethroughput( ).
                  lv_lustrefilesystemmountna = lo_lustrefilesystemconfigu->get_mountname( ).
                  lv_dailytime = lo_lustrefilesystemconfigu->get_dailyautomaticbackupst00( ).
                  lv_automaticbackupretentio = lo_lustrefilesystemconfigu->get_automaticbackupretdays( ).
                  lv_flag = lo_lustrefilesystemconfigu->get_copytagstobackups( ).
                  lv_drivecachetype = lo_lustrefilesystemconfigu->get_drivecachetype( ).
                  lv_datacompressiontype = lo_lustrefilesystemconfigu->get_datacompressiontype( ).
                  lo_lustrelogconfiguration = lo_lustrefilesystemconfigu->get_logconfiguration( ).
                  IF lo_lustrelogconfiguration IS NOT INITIAL.
                    lv_lustreaccessauditloglev = lo_lustrelogconfiguration->get_level( ).
                    lv_generalarn = lo_lustrelogconfiguration->get_destination( ).
                  ENDIF.
                  lo_lustrerootsquashconfigu = lo_lustrefilesystemconfigu->get_rootsquashconfiguration( ).
                  IF lo_lustrerootsquashconfigu IS NOT INITIAL.
                    lv_lustrerootsquash = lo_lustrerootsquashconfigu->get_rootsquash( ).
                    LOOP AT lo_lustrerootsquashconfigu->get_nosquashnids( ) into lo_row_12.
                      lo_row_13 = lo_row_12.
                      IF lo_row_13 IS NOT INITIAL.
                        lv_lustrenosquashnid = lo_row_13->get_value( ).
                      ENDIF.
                    ENDLOOP.
                  ENDIF.
                  lo_filesystemlustremetadat = lo_lustrefilesystemconfigu->get_metadataconfiguration( ).
                  IF lo_filesystemlustremetadat IS NOT INITIAL.
                    lv_metadataiops = lo_filesystemlustremetadat->get_iops( ).
                    lv_metadataconfigurationmo = lo_filesystemlustremetadat->get_mode( ).
                  ENDIF.
                  lv_flag = lo_lustrefilesystemconfigu->get_efaenabled( ).
                ENDIF.
                " Skipping lo_row_23->get_targetfilesystemvalues( ) to avoid recursion
                lo_ontapfilesystemconfigur = lo_filesystem_1->get_ontapconfiguration( ).
                IF lo_ontapfilesystemconfigur IS NOT INITIAL.
                  lv_automaticbackupretentio = lo_ontapfilesystemconfigur->get_automaticbackupretdays( ).
                  lv_dailytime = lo_ontapfilesystemconfigur->get_dailyautomaticbackupst00( ).
                  lv_ontapdeploymenttype = lo_ontapfilesystemconfigur->get_deploymenttype( ).
                  lv_ipaddressrange = lo_ontapfilesystemconfigur->get_endpointipaddressrange( ).
                  lo_filesystemendpoints = lo_ontapfilesystemconfigur->get_endpoints( ).
                  IF lo_filesystemendpoints IS NOT INITIAL.
                    lo_filesystemendpoint = lo_filesystemendpoints->get_intercluster( ).
                    IF lo_filesystemendpoint IS NOT INITIAL.
                      lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                      LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                        lo_row_17 = lo_row_16.
                        IF lo_row_17 IS NOT INITIAL.
                          lv_ipaddress = lo_row_17->get_value( ).
                        ENDIF.
                      ENDLOOP.
                    ENDIF.
                    lo_filesystemendpoint = lo_filesystemendpoints->get_management( ).
                    IF lo_filesystemendpoint IS NOT INITIAL.
                      lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                      LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                        lo_row_17 = lo_row_16.
                        IF lo_row_17 IS NOT INITIAL.
                          lv_ipaddress = lo_row_17->get_value( ).
                        ENDIF.
                      ENDLOOP.
                    ENDIF.
                  ENDIF.
                  lo_diskiopsconfiguration = lo_ontapfilesystemconfigur->get_diskiopsconfiguration( ).
                  IF lo_diskiopsconfiguration IS NOT INITIAL.
                    lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                    lv_iops = lo_diskiopsconfiguration->get_iops( ).
                  ENDIF.
                  lv_subnetid = lo_ontapfilesystemconfigur->get_preferredsubnetid( ).
                  LOOP AT lo_ontapfilesystemconfigur->get_routetableids( ) into lo_row_18.
                    lo_row_19 = lo_row_18.
                    IF lo_row_19 IS NOT INITIAL.
                      lv_routetableid = lo_row_19->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lv_megabytespersecond = lo_ontapfilesystemconfigur->get_throughputcapacity( ).
                  lv_weeklytime = lo_ontapfilesystemconfigur->get_weeklymaintenancestrtt00( ).
                  lv_adminpassword = lo_ontapfilesystemconfigur->get_fsxadminpassword( ).
                  lv_hapairs = lo_ontapfilesystemconfigur->get_hapairs( ).
                  lv_throughputcapacityperha = lo_ontapfilesystemconfigur->get_thruputcapacityperhapair( ).
                ENDIF.
                lv_filesystemtypeversion = lo_filesystem_1->get_filesystemtypeversion( ).
                lo_openzfsfilesystemconfig = lo_filesystem_1->get_openzfsconfiguration( ).
                IF lo_openzfsfilesystemconfig IS NOT INITIAL.
                  lv_automaticbackupretentio = lo_openzfsfilesystemconfig->get_automaticbackupretdays( ).
                  lv_flag = lo_openzfsfilesystemconfig->get_copytagstobackups( ).
                  lv_flag = lo_openzfsfilesystemconfig->get_copytagstovolumes( ).
                  lv_dailytime = lo_openzfsfilesystemconfig->get_dailyautomaticbackupst00( ).
                  lv_openzfsdeploymenttype = lo_openzfsfilesystemconfig->get_deploymenttype( ).
                  lv_megabytespersecond = lo_openzfsfilesystemconfig->get_throughputcapacity( ).
                  lv_weeklytime = lo_openzfsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                  lo_diskiopsconfiguration = lo_openzfsfilesystemconfig->get_diskiopsconfiguration( ).
                  IF lo_diskiopsconfiguration IS NOT INITIAL.
                    lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                    lv_iops = lo_diskiopsconfiguration->get_iops( ).
                  ENDIF.
                  lv_volumeid = lo_openzfsfilesystemconfig->get_rootvolumeid( ).
                  lv_subnetid = lo_openzfsfilesystemconfig->get_preferredsubnetid( ).
                  lv_ipaddressrange = lo_openzfsfilesystemconfig->get_endpointipaddressrange( ).
                  LOOP AT lo_openzfsfilesystemconfig->get_routetableids( ) into lo_row_18.
                    lo_row_19 = lo_row_18.
                    IF lo_row_19 IS NOT INITIAL.
                      lv_routetableid = lo_row_19->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipaddress( ).
                  lo_openzfsreadcacheconfigu = lo_openzfsfilesystemconfig->get_readcacheconfiguration( ).
                  IF lo_openzfsreadcacheconfigu IS NOT INITIAL.
                    lv_openzfsreadcachesizingm = lo_openzfsreadcacheconfigu->get_sizingmode( ).
                    lv_storagecapacity = lo_openzfsreadcacheconfigu->get_sizegib( ).
                  ENDIF.
                ENDIF.
              ENDIF.
              lo_administrativeactionfai = lo_row_23->get_failuredetails( ).
              IF lo_administrativeactionfai IS NOT INITIAL.
                lv_errormessage = lo_administrativeactionfai->get_message( ).
              ENDIF.
              " Skipping lo_row_22 to avoid recursion
              lo_snapshot = lo_row_23->get_targetsnapshotvalues( ).
              IF lo_snapshot IS NOT INITIAL.
                lv_resourcearn = lo_snapshot->get_resourcearn( ).
                lv_snapshotid = lo_snapshot->get_snapshotid( ).
                lv_snapshotname = lo_snapshot->get_name( ).
                lv_volumeid = lo_snapshot->get_volumeid( ).
                lv_creationtime = lo_snapshot->get_creationtime( ).
                lv_snapshotlifecycle = lo_snapshot->get_lifecycle( ).
                lo_lifecycletransitionreas = lo_snapshot->get_lifecycletransreason( ).
                IF lo_lifecycletransitionreas IS NOT INITIAL.
                  lv_errormessage = lo_lifecycletransitionreas->get_message( ).
                ENDIF.
                LOOP AT lo_snapshot->get_tags( ) into lo_row_4.
                  lo_row_5 = lo_row_4.
                  IF lo_row_5 IS NOT INITIAL.
                    lv_tagkey = lo_row_5->get_key( ).
                    lv_tagvalue = lo_row_5->get_value( ).
                  ENDIF.
                ENDLOOP.
                LOOP AT lo_snapshot->get_administrativeactions( ) into lo_row_24.
                  lo_row_25 = lo_row_24.
                  IF lo_row_25 IS NOT INITIAL.
                    lv_administrativeactiontyp = lo_row_25->get_administrativeactiontype( ).
                    lv_progresspercent = lo_row_25->get_progresspercent( ).
                    lv_requesttime = lo_row_25->get_requesttime( ).
                    lv_status = lo_row_25->get_status( ).
                    lo_filesystem_1 = lo_row_25->get_targetfilesystemvalues( ).
                    IF lo_filesystem_1 IS NOT INITIAL.
                      lv_awsaccountid = lo_filesystem_1->get_ownerid( ).
                      lv_creationtime = lo_filesystem_1->get_creationtime( ).
                      lv_filesystemid = lo_filesystem_1->get_filesystemid( ).
                      lv_filesystemtype = lo_filesystem_1->get_filesystemtype( ).
                      lv_filesystemlifecycle = lo_filesystem_1->get_lifecycle( ).
                      lo_filesystemfailuredetail = lo_filesystem_1->get_failuredetails( ).
                      IF lo_filesystemfailuredetail IS NOT INITIAL.
                        lv_errormessage = lo_filesystemfailuredetail->get_message( ).
                      ENDIF.
                      lv_storagecapacity = lo_filesystem_1->get_storagecapacity( ).
                      lv_storagetype = lo_filesystem_1->get_storagetype( ).
                      lv_vpcid = lo_filesystem_1->get_vpcid( ).
                      LOOP AT lo_filesystem_1->get_subnetids( ) into lo_row.
                        lo_row_1 = lo_row.
                        IF lo_row_1 IS NOT INITIAL.
                          lv_subnetid = lo_row_1->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      LOOP AT lo_filesystem_1->get_networkinterfaceids( ) into lo_row_2.
                        lo_row_3 = lo_row_2.
                        IF lo_row_3 IS NOT INITIAL.
                          lv_networkinterfaceid = lo_row_3->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lv_dnsname = lo_filesystem_1->get_dnsname( ).
                      lv_kmskeyid = lo_filesystem_1->get_kmskeyid( ).
                      lv_resourcearn = lo_filesystem_1->get_resourcearn( ).
                      LOOP AT lo_filesystem_1->get_tags( ) into lo_row_4.
                        lo_row_5 = lo_row_4.
                        IF lo_row_5 IS NOT INITIAL.
                          lv_tagkey = lo_row_5->get_key( ).
                          lv_tagvalue = lo_row_5->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lo_windowsfilesystemconfig = lo_filesystem_1->get_windowsconfiguration( ).
                      IF lo_windowsfilesystemconfig IS NOT INITIAL.
                        lv_directoryid = lo_windowsfilesystemconfig->get_activedirectoryid( ).
                        lo_selfmanagedactivedirect = lo_windowsfilesystemconfig->get_selfmanagedactdirector00( ).
                        IF lo_selfmanagedactivedirect IS NOT INITIAL.
                          lv_activedirectoryfullyqua = lo_selfmanagedactivedirect->get_domainname( ).
                          lv_organizationalunitdisti = lo_selfmanagedactivedirect->get_orgalunitdistinguished00( ).
                          lv_filesystemadministrator = lo_selfmanagedactivedirect->get_filesystemadministrato00( ).
                          lv_directoryusername = lo_selfmanagedactivedirect->get_username( ).
                          LOOP AT lo_selfmanagedactivedirect->get_dnsips( ) into lo_row_6.
                            lo_row_7 = lo_row_6.
                            IF lo_row_7 IS NOT INITIAL.
                              lv_ipaddress = lo_row_7->get_value( ).
                            ENDIF.
                          ENDLOOP.
                        ENDIF.
                        lv_windowsdeploymenttype = lo_windowsfilesystemconfig->get_deploymenttype( ).
                        lv_dnsname = lo_windowsfilesystemconfig->get_remoteadministrationen00( ).
                        lv_subnetid = lo_windowsfilesystemconfig->get_preferredsubnetid( ).
                        lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserverip( ).
                        lv_megabytespersecond = lo_windowsfilesystemconfig->get_throughputcapacity( ).
                        LOOP AT lo_windowsfilesystemconfig->get_maintenanceopsinprogress( ) into lo_row_8.
                          lo_row_9 = lo_row_8.
                          IF lo_row_9 IS NOT INITIAL.
                            lv_filesystemmaintenanceop = lo_row_9->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lv_weeklytime = lo_windowsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                        lv_dailytime = lo_windowsfilesystemconfig->get_dailyautomaticbackupst00( ).
                        lv_automaticbackupretentio = lo_windowsfilesystemconfig->get_automaticbackupretdays( ).
                        lv_flag = lo_windowsfilesystemconfig->get_copytagstobackups( ).
                        LOOP AT lo_windowsfilesystemconfig->get_aliases( ) into lo_row_10.
                          lo_row_11 = lo_row_10.
                          IF lo_row_11 IS NOT INITIAL.
                            lv_alternatednsname = lo_row_11->get_name( ).
                            lv_aliaslifecycle = lo_row_11->get_lifecycle( ).
                          ENDIF.
                        ENDLOOP.
                        lo_windowsauditlogconfigur = lo_windowsfilesystemconfig->get_auditlogconfiguration( ).
                        IF lo_windowsauditlogconfigur IS NOT INITIAL.
                          lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileaccessauditloglevel( ).
                          lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileshareaccaudloglevel( ).
                          lv_generalarn = lo_windowsauditlogconfigur->get_auditlogdestination( ).
                        ENDIF.
                        lo_diskiopsconfiguration = lo_windowsfilesystemconfig->get_diskiopsconfiguration( ).
                        IF lo_diskiopsconfiguration IS NOT INITIAL.
                          lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                          lv_iops = lo_diskiopsconfiguration->get_iops( ).
                        ENDIF.
                      ENDIF.
                      lo_lustrefilesystemconfigu = lo_filesystem_1->get_lustreconfiguration( ).
                      IF lo_lustrefilesystemconfigu IS NOT INITIAL.
                        lv_weeklytime = lo_lustrefilesystemconfigu->get_weeklymaintenancestrtt00( ).
                        lo_datarepositoryconfigura = lo_lustrefilesystemconfigu->get_datarepositoryconf( ).
                        IF lo_datarepositoryconfigura IS NOT INITIAL.
                          lv_datarepositorylifecycle = lo_datarepositoryconfigura->get_lifecycle( ).
                          lv_archivepath = lo_datarepositoryconfigura->get_importpath( ).
                          lv_archivepath = lo_datarepositoryconfigura->get_exportpath( ).
                          lv_megabytes = lo_datarepositoryconfigura->get_importedfilechunksize( ).
                          lv_autoimportpolicytype = lo_datarepositoryconfigura->get_autoimportpolicy( ).
                          lo_datarepositoryfailurede = lo_datarepositoryconfigura->get_failuredetails( ).
                          IF lo_datarepositoryfailurede IS NOT INITIAL.
                            lv_errormessage = lo_datarepositoryfailurede->get_message( ).
                          ENDIF.
                        ENDIF.
                        lv_lustredeploymenttype = lo_lustrefilesystemconfigu->get_deploymenttype( ).
                        lv_perunitstoragethroughpu = lo_lustrefilesystemconfigu->get_perunitstoragethroughput( ).
                        lv_lustrefilesystemmountna = lo_lustrefilesystemconfigu->get_mountname( ).
                        lv_dailytime = lo_lustrefilesystemconfigu->get_dailyautomaticbackupst00( ).
                        lv_automaticbackupretentio = lo_lustrefilesystemconfigu->get_automaticbackupretdays( ).
                        lv_flag = lo_lustrefilesystemconfigu->get_copytagstobackups( ).
                        lv_drivecachetype = lo_lustrefilesystemconfigu->get_drivecachetype( ).
                        lv_datacompressiontype = lo_lustrefilesystemconfigu->get_datacompressiontype( ).
                        lo_lustrelogconfiguration = lo_lustrefilesystemconfigu->get_logconfiguration( ).
                        IF lo_lustrelogconfiguration IS NOT INITIAL.
                          lv_lustreaccessauditloglev = lo_lustrelogconfiguration->get_level( ).
                          lv_generalarn = lo_lustrelogconfiguration->get_destination( ).
                        ENDIF.
                        lo_lustrerootsquashconfigu = lo_lustrefilesystemconfigu->get_rootsquashconfiguration( ).
                        IF lo_lustrerootsquashconfigu IS NOT INITIAL.
                          lv_lustrerootsquash = lo_lustrerootsquashconfigu->get_rootsquash( ).
                          LOOP AT lo_lustrerootsquashconfigu->get_nosquashnids( ) into lo_row_12.
                            lo_row_13 = lo_row_12.
                            IF lo_row_13 IS NOT INITIAL.
                              lv_lustrenosquashnid = lo_row_13->get_value( ).
                            ENDIF.
                          ENDLOOP.
                        ENDIF.
                        lo_filesystemlustremetadat = lo_lustrefilesystemconfigu->get_metadataconfiguration( ).
                        IF lo_filesystemlustremetadat IS NOT INITIAL.
                          lv_metadataiops = lo_filesystemlustremetadat->get_iops( ).
                          lv_metadataconfigurationmo = lo_filesystemlustremetadat->get_mode( ).
                        ENDIF.
                        lv_flag = lo_lustrefilesystemconfigu->get_efaenabled( ).
                      ENDIF.
                      " Skipping lo_row_25->get_targetfilesystemvalues( ) to avoid recursion
                      lo_ontapfilesystemconfigur = lo_filesystem_1->get_ontapconfiguration( ).
                      IF lo_ontapfilesystemconfigur IS NOT INITIAL.
                        lv_automaticbackupretentio = lo_ontapfilesystemconfigur->get_automaticbackupretdays( ).
                        lv_dailytime = lo_ontapfilesystemconfigur->get_dailyautomaticbackupst00( ).
                        lv_ontapdeploymenttype = lo_ontapfilesystemconfigur->get_deploymenttype( ).
                        lv_ipaddressrange = lo_ontapfilesystemconfigur->get_endpointipaddressrange( ).
                        lo_filesystemendpoints = lo_ontapfilesystemconfigur->get_endpoints( ).
                        IF lo_filesystemendpoints IS NOT INITIAL.
                          lo_filesystemendpoint = lo_filesystemendpoints->get_intercluster( ).
                          IF lo_filesystemendpoint IS NOT INITIAL.
                            lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                            LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                              lo_row_17 = lo_row_16.
                              IF lo_row_17 IS NOT INITIAL.
                                lv_ipaddress = lo_row_17->get_value( ).
                              ENDIF.
                            ENDLOOP.
                          ENDIF.
                          lo_filesystemendpoint = lo_filesystemendpoints->get_management( ).
                          IF lo_filesystemendpoint IS NOT INITIAL.
                            lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                            LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                              lo_row_17 = lo_row_16.
                              IF lo_row_17 IS NOT INITIAL.
                                lv_ipaddress = lo_row_17->get_value( ).
                              ENDIF.
                            ENDLOOP.
                          ENDIF.
                        ENDIF.
                        lo_diskiopsconfiguration = lo_ontapfilesystemconfigur->get_diskiopsconfiguration( ).
                        IF lo_diskiopsconfiguration IS NOT INITIAL.
                          lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                          lv_iops = lo_diskiopsconfiguration->get_iops( ).
                        ENDIF.
                        lv_subnetid = lo_ontapfilesystemconfigur->get_preferredsubnetid( ).
                        LOOP AT lo_ontapfilesystemconfigur->get_routetableids( ) into lo_row_18.
                          lo_row_19 = lo_row_18.
                          IF lo_row_19 IS NOT INITIAL.
                            lv_routetableid = lo_row_19->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lv_megabytespersecond = lo_ontapfilesystemconfigur->get_throughputcapacity( ).
                        lv_weeklytime = lo_ontapfilesystemconfigur->get_weeklymaintenancestrtt00( ).
                        lv_adminpassword = lo_ontapfilesystemconfigur->get_fsxadminpassword( ).
                        lv_hapairs = lo_ontapfilesystemconfigur->get_hapairs( ).
                        lv_throughputcapacityperha = lo_ontapfilesystemconfigur->get_thruputcapacityperhapair( ).
                      ENDIF.
                      lv_filesystemtypeversion = lo_filesystem_1->get_filesystemtypeversion( ).
                      lo_openzfsfilesystemconfig = lo_filesystem_1->get_openzfsconfiguration( ).
                      IF lo_openzfsfilesystemconfig IS NOT INITIAL.
                        lv_automaticbackupretentio = lo_openzfsfilesystemconfig->get_automaticbackupretdays( ).
                        lv_flag = lo_openzfsfilesystemconfig->get_copytagstobackups( ).
                        lv_flag = lo_openzfsfilesystemconfig->get_copytagstovolumes( ).
                        lv_dailytime = lo_openzfsfilesystemconfig->get_dailyautomaticbackupst00( ).
                        lv_openzfsdeploymenttype = lo_openzfsfilesystemconfig->get_deploymenttype( ).
                        lv_megabytespersecond = lo_openzfsfilesystemconfig->get_throughputcapacity( ).
                        lv_weeklytime = lo_openzfsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                        lo_diskiopsconfiguration = lo_openzfsfilesystemconfig->get_diskiopsconfiguration( ).
                        IF lo_diskiopsconfiguration IS NOT INITIAL.
                          lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                          lv_iops = lo_diskiopsconfiguration->get_iops( ).
                        ENDIF.
                        lv_volumeid = lo_openzfsfilesystemconfig->get_rootvolumeid( ).
                        lv_subnetid = lo_openzfsfilesystemconfig->get_preferredsubnetid( ).
                        lv_ipaddressrange = lo_openzfsfilesystemconfig->get_endpointipaddressrange( ).
                        LOOP AT lo_openzfsfilesystemconfig->get_routetableids( ) into lo_row_18.
                          lo_row_19 = lo_row_18.
                          IF lo_row_19 IS NOT INITIAL.
                            lv_routetableid = lo_row_19->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipaddress( ).
                        lo_openzfsreadcacheconfigu = lo_openzfsfilesystemconfig->get_readcacheconfiguration( ).
                        IF lo_openzfsreadcacheconfigu IS NOT INITIAL.
                          lv_openzfsreadcachesizingm = lo_openzfsreadcacheconfigu->get_sizingmode( ).
                          lv_storagecapacity = lo_openzfsreadcacheconfigu->get_sizegib( ).
                        ENDIF.
                      ENDIF.
                    ENDIF.
                    lo_administrativeactionfai = lo_row_25->get_failuredetails( ).
                    IF lo_administrativeactionfai IS NOT INITIAL.
                      lv_errormessage = lo_administrativeactionfai->get_message( ).
                    ENDIF.
                    " Skipping lo_row_24 to avoid recursion
                    " Skipping lo_row_24 to avoid recursion
                    lv_totaltransferbytes = lo_row_25->get_totaltransferbytes( ).
                    lv_remainingtransferbytes = lo_row_25->get_remainingtransferbytes( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
              lv_totaltransferbytes = lo_row_23->get_totaltransferbytes( ).
              lv_remainingtransferbytes = lo_row_23->get_remainingtransferbytes( ).
            ENDIF.
          ENDLOOP.
          lo_openzfsvolumeconfigurat = lo_volume->get_openzfsconfiguration( ).
          IF lo_openzfsvolumeconfigurat IS NOT INITIAL.
            lv_volumeid = lo_openzfsvolumeconfigurat->get_parentvolumeid( ).
            lv_volumepath = lo_openzfsvolumeconfigurat->get_volumepath( ).
            lv_integernomax = lo_openzfsvolumeconfigurat->get_storagecapreservationgib( ).
            lv_integernomax = lo_openzfsvolumeconfigurat->get_storagecapacityquotagib( ).
            lv_integerrecordsizekib = lo_openzfsvolumeconfigurat->get_recordsizekib( ).
            lv_openzfsdatacompressiont = lo_openzfsvolumeconfigurat->get_datacompressiontype( ).
            lv_flag = lo_openzfsvolumeconfigurat->get_copytagstosnapshots( ).
            lo_openzfsoriginsnapshotco = lo_openzfsvolumeconfigurat->get_originsnapshot( ).
            IF lo_openzfsoriginsnapshotco IS NOT INITIAL.
              lv_resourcearn = lo_openzfsoriginsnapshotco->get_snapshotarn( ).
              lv_openzfscopystrategy = lo_openzfsoriginsnapshotco->get_copystrategy( ).
            ENDIF.
            lv_readonly = lo_openzfsvolumeconfigurat->get_readonly( ).
            LOOP AT lo_openzfsvolumeconfigurat->get_nfsexports( ) into lo_row_26.
              lo_row_27 = lo_row_26.
              IF lo_row_27 IS NOT INITIAL.
                LOOP AT lo_row_27->get_clientconfigurations( ) into lo_row_28.
                  lo_row_29 = lo_row_28.
                  IF lo_row_29 IS NOT INITIAL.
                    lv_openzfsclients = lo_row_29->get_clients( ).
                    LOOP AT lo_row_29->get_options( ) into lo_row_30.
                      lo_row_31 = lo_row_30.
                      IF lo_row_31 IS NOT INITIAL.
                        lv_openzfsnfsexportoption = lo_row_31->get_value( ).
                      ENDIF.
                    ENDLOOP.
                  ENDIF.
                ENDLOOP.
              ENDIF.
            ENDLOOP.
            LOOP AT lo_openzfsvolumeconfigurat->get_userandgroupquotas( ) into lo_row_32.
              lo_row_33 = lo_row_32.
              IF lo_row_33 IS NOT INITIAL.
                lv_openzfsquotatype = lo_row_33->get_type( ).
                lv_integernomax = lo_row_33->get_id( ).
                lv_integernomax = lo_row_33->get_storagecapacityquotagib( ).
              ENDIF.
            ENDLOOP.
            lv_snapshotid = lo_openzfsvolumeconfigurat->get_restoretosnapshot( ).
            lv_flag = lo_openzfsvolumeconfigurat->get_delintermediatesnaphots( ).
            lv_flag = lo_openzfsvolumeconfigurat->get_deleteclonedvolumes( ).
            lv_flag = lo_openzfsvolumeconfigurat->get_deleteintermediatedata( ).
            lv_resourcearn = lo_openzfsvolumeconfigurat->get_sourcesnapshotarn( ).
            lv_snapshotid = lo_openzfsvolumeconfigurat->get_destinationsnapshot( ).
            lv_openzfscopystrategy = lo_openzfsvolumeconfigurat->get_copystrategy( ).
          ENDIF.
        ENDIF.
        lo_snapshot = lo_row_15->get_targetsnapshotvalues( ).
        IF lo_snapshot IS NOT INITIAL.
          lv_resourcearn = lo_snapshot->get_resourcearn( ).
          lv_snapshotid = lo_snapshot->get_snapshotid( ).
          lv_snapshotname = lo_snapshot->get_name( ).
          lv_volumeid = lo_snapshot->get_volumeid( ).
          lv_creationtime = lo_snapshot->get_creationtime( ).
          lv_snapshotlifecycle = lo_snapshot->get_lifecycle( ).
          lo_lifecycletransitionreas = lo_snapshot->get_lifecycletransreason( ).
          IF lo_lifecycletransitionreas IS NOT INITIAL.
            lv_errormessage = lo_lifecycletransitionreas->get_message( ).
          ENDIF.
          LOOP AT lo_snapshot->get_tags( ) into lo_row_4.
            lo_row_5 = lo_row_4.
            IF lo_row_5 IS NOT INITIAL.
              lv_tagkey = lo_row_5->get_key( ).
              lv_tagvalue = lo_row_5->get_value( ).
            ENDIF.
          ENDLOOP.
          LOOP AT lo_snapshot->get_administrativeactions( ) into lo_row_22.
            lo_row_23 = lo_row_22.
            IF lo_row_23 IS NOT INITIAL.
              lv_administrativeactiontyp = lo_row_23->get_administrativeactiontype( ).
              lv_progresspercent = lo_row_23->get_progresspercent( ).
              lv_requesttime = lo_row_23->get_requesttime( ).
              lv_status = lo_row_23->get_status( ).
              lo_filesystem_1 = lo_row_23->get_targetfilesystemvalues( ).
              IF lo_filesystem_1 IS NOT INITIAL.
                lv_awsaccountid = lo_filesystem_1->get_ownerid( ).
                lv_creationtime = lo_filesystem_1->get_creationtime( ).
                lv_filesystemid = lo_filesystem_1->get_filesystemid( ).
                lv_filesystemtype = lo_filesystem_1->get_filesystemtype( ).
                lv_filesystemlifecycle = lo_filesystem_1->get_lifecycle( ).
                lo_filesystemfailuredetail = lo_filesystem_1->get_failuredetails( ).
                IF lo_filesystemfailuredetail IS NOT INITIAL.
                  lv_errormessage = lo_filesystemfailuredetail->get_message( ).
                ENDIF.
                lv_storagecapacity = lo_filesystem_1->get_storagecapacity( ).
                lv_storagetype = lo_filesystem_1->get_storagetype( ).
                lv_vpcid = lo_filesystem_1->get_vpcid( ).
                LOOP AT lo_filesystem_1->get_subnetids( ) into lo_row.
                  lo_row_1 = lo_row.
                  IF lo_row_1 IS NOT INITIAL.
                    lv_subnetid = lo_row_1->get_value( ).
                  ENDIF.
                ENDLOOP.
                LOOP AT lo_filesystem_1->get_networkinterfaceids( ) into lo_row_2.
                  lo_row_3 = lo_row_2.
                  IF lo_row_3 IS NOT INITIAL.
                    lv_networkinterfaceid = lo_row_3->get_value( ).
                  ENDIF.
                ENDLOOP.
                lv_dnsname = lo_filesystem_1->get_dnsname( ).
                lv_kmskeyid = lo_filesystem_1->get_kmskeyid( ).
                lv_resourcearn = lo_filesystem_1->get_resourcearn( ).
                LOOP AT lo_filesystem_1->get_tags( ) into lo_row_4.
                  lo_row_5 = lo_row_4.
                  IF lo_row_5 IS NOT INITIAL.
                    lv_tagkey = lo_row_5->get_key( ).
                    lv_tagvalue = lo_row_5->get_value( ).
                  ENDIF.
                ENDLOOP.
                lo_windowsfilesystemconfig = lo_filesystem_1->get_windowsconfiguration( ).
                IF lo_windowsfilesystemconfig IS NOT INITIAL.
                  lv_directoryid = lo_windowsfilesystemconfig->get_activedirectoryid( ).
                  lo_selfmanagedactivedirect = lo_windowsfilesystemconfig->get_selfmanagedactdirector00( ).
                  IF lo_selfmanagedactivedirect IS NOT INITIAL.
                    lv_activedirectoryfullyqua = lo_selfmanagedactivedirect->get_domainname( ).
                    lv_organizationalunitdisti = lo_selfmanagedactivedirect->get_orgalunitdistinguished00( ).
                    lv_filesystemadministrator = lo_selfmanagedactivedirect->get_filesystemadministrato00( ).
                    lv_directoryusername = lo_selfmanagedactivedirect->get_username( ).
                    LOOP AT lo_selfmanagedactivedirect->get_dnsips( ) into lo_row_6.
                      lo_row_7 = lo_row_6.
                      IF lo_row_7 IS NOT INITIAL.
                        lv_ipaddress = lo_row_7->get_value( ).
                      ENDIF.
                    ENDLOOP.
                  ENDIF.
                  lv_windowsdeploymenttype = lo_windowsfilesystemconfig->get_deploymenttype( ).
                  lv_dnsname = lo_windowsfilesystemconfig->get_remoteadministrationen00( ).
                  lv_subnetid = lo_windowsfilesystemconfig->get_preferredsubnetid( ).
                  lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserverip( ).
                  lv_megabytespersecond = lo_windowsfilesystemconfig->get_throughputcapacity( ).
                  LOOP AT lo_windowsfilesystemconfig->get_maintenanceopsinprogress( ) into lo_row_8.
                    lo_row_9 = lo_row_8.
                    IF lo_row_9 IS NOT INITIAL.
                      lv_filesystemmaintenanceop = lo_row_9->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lv_weeklytime = lo_windowsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                  lv_dailytime = lo_windowsfilesystemconfig->get_dailyautomaticbackupst00( ).
                  lv_automaticbackupretentio = lo_windowsfilesystemconfig->get_automaticbackupretdays( ).
                  lv_flag = lo_windowsfilesystemconfig->get_copytagstobackups( ).
                  LOOP AT lo_windowsfilesystemconfig->get_aliases( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lv_alternatednsname = lo_row_11->get_name( ).
                      lv_aliaslifecycle = lo_row_11->get_lifecycle( ).
                    ENDIF.
                  ENDLOOP.
                  lo_windowsauditlogconfigur = lo_windowsfilesystemconfig->get_auditlogconfiguration( ).
                  IF lo_windowsauditlogconfigur IS NOT INITIAL.
                    lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileaccessauditloglevel( ).
                    lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileshareaccaudloglevel( ).
                    lv_generalarn = lo_windowsauditlogconfigur->get_auditlogdestination( ).
                  ENDIF.
                  lo_diskiopsconfiguration = lo_windowsfilesystemconfig->get_diskiopsconfiguration( ).
                  IF lo_diskiopsconfiguration IS NOT INITIAL.
                    lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                    lv_iops = lo_diskiopsconfiguration->get_iops( ).
                  ENDIF.
                ENDIF.
                lo_lustrefilesystemconfigu = lo_filesystem_1->get_lustreconfiguration( ).
                IF lo_lustrefilesystemconfigu IS NOT INITIAL.
                  lv_weeklytime = lo_lustrefilesystemconfigu->get_weeklymaintenancestrtt00( ).
                  lo_datarepositoryconfigura = lo_lustrefilesystemconfigu->get_datarepositoryconf( ).
                  IF lo_datarepositoryconfigura IS NOT INITIAL.
                    lv_datarepositorylifecycle = lo_datarepositoryconfigura->get_lifecycle( ).
                    lv_archivepath = lo_datarepositoryconfigura->get_importpath( ).
                    lv_archivepath = lo_datarepositoryconfigura->get_exportpath( ).
                    lv_megabytes = lo_datarepositoryconfigura->get_importedfilechunksize( ).
                    lv_autoimportpolicytype = lo_datarepositoryconfigura->get_autoimportpolicy( ).
                    lo_datarepositoryfailurede = lo_datarepositoryconfigura->get_failuredetails( ).
                    IF lo_datarepositoryfailurede IS NOT INITIAL.
                      lv_errormessage = lo_datarepositoryfailurede->get_message( ).
                    ENDIF.
                  ENDIF.
                  lv_lustredeploymenttype = lo_lustrefilesystemconfigu->get_deploymenttype( ).
                  lv_perunitstoragethroughpu = lo_lustrefilesystemconfigu->get_perunitstoragethroughput( ).
                  lv_lustrefilesystemmountna = lo_lustrefilesystemconfigu->get_mountname( ).
                  lv_dailytime = lo_lustrefilesystemconfigu->get_dailyautomaticbackupst00( ).
                  lv_automaticbackupretentio = lo_lustrefilesystemconfigu->get_automaticbackupretdays( ).
                  lv_flag = lo_lustrefilesystemconfigu->get_copytagstobackups( ).
                  lv_drivecachetype = lo_lustrefilesystemconfigu->get_drivecachetype( ).
                  lv_datacompressiontype = lo_lustrefilesystemconfigu->get_datacompressiontype( ).
                  lo_lustrelogconfiguration = lo_lustrefilesystemconfigu->get_logconfiguration( ).
                  IF lo_lustrelogconfiguration IS NOT INITIAL.
                    lv_lustreaccessauditloglev = lo_lustrelogconfiguration->get_level( ).
                    lv_generalarn = lo_lustrelogconfiguration->get_destination( ).
                  ENDIF.
                  lo_lustrerootsquashconfigu = lo_lustrefilesystemconfigu->get_rootsquashconfiguration( ).
                  IF lo_lustrerootsquashconfigu IS NOT INITIAL.
                    lv_lustrerootsquash = lo_lustrerootsquashconfigu->get_rootsquash( ).
                    LOOP AT lo_lustrerootsquashconfigu->get_nosquashnids( ) into lo_row_12.
                      lo_row_13 = lo_row_12.
                      IF lo_row_13 IS NOT INITIAL.
                        lv_lustrenosquashnid = lo_row_13->get_value( ).
                      ENDIF.
                    ENDLOOP.
                  ENDIF.
                  lo_filesystemlustremetadat = lo_lustrefilesystemconfigu->get_metadataconfiguration( ).
                  IF lo_filesystemlustremetadat IS NOT INITIAL.
                    lv_metadataiops = lo_filesystemlustremetadat->get_iops( ).
                    lv_metadataconfigurationmo = lo_filesystemlustremetadat->get_mode( ).
                  ENDIF.
                  lv_flag = lo_lustrefilesystemconfigu->get_efaenabled( ).
                ENDIF.
                " Skipping lo_row_23->get_targetfilesystemvalues( ) to avoid recursion
                lo_ontapfilesystemconfigur = lo_filesystem_1->get_ontapconfiguration( ).
                IF lo_ontapfilesystemconfigur IS NOT INITIAL.
                  lv_automaticbackupretentio = lo_ontapfilesystemconfigur->get_automaticbackupretdays( ).
                  lv_dailytime = lo_ontapfilesystemconfigur->get_dailyautomaticbackupst00( ).
                  lv_ontapdeploymenttype = lo_ontapfilesystemconfigur->get_deploymenttype( ).
                  lv_ipaddressrange = lo_ontapfilesystemconfigur->get_endpointipaddressrange( ).
                  lo_filesystemendpoints = lo_ontapfilesystemconfigur->get_endpoints( ).
                  IF lo_filesystemendpoints IS NOT INITIAL.
                    lo_filesystemendpoint = lo_filesystemendpoints->get_intercluster( ).
                    IF lo_filesystemendpoint IS NOT INITIAL.
                      lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                      LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                        lo_row_17 = lo_row_16.
                        IF lo_row_17 IS NOT INITIAL.
                          lv_ipaddress = lo_row_17->get_value( ).
                        ENDIF.
                      ENDLOOP.
                    ENDIF.
                    lo_filesystemendpoint = lo_filesystemendpoints->get_management( ).
                    IF lo_filesystemendpoint IS NOT INITIAL.
                      lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                      LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                        lo_row_17 = lo_row_16.
                        IF lo_row_17 IS NOT INITIAL.
                          lv_ipaddress = lo_row_17->get_value( ).
                        ENDIF.
                      ENDLOOP.
                    ENDIF.
                  ENDIF.
                  lo_diskiopsconfiguration = lo_ontapfilesystemconfigur->get_diskiopsconfiguration( ).
                  IF lo_diskiopsconfiguration IS NOT INITIAL.
                    lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                    lv_iops = lo_diskiopsconfiguration->get_iops( ).
                  ENDIF.
                  lv_subnetid = lo_ontapfilesystemconfigur->get_preferredsubnetid( ).
                  LOOP AT lo_ontapfilesystemconfigur->get_routetableids( ) into lo_row_18.
                    lo_row_19 = lo_row_18.
                    IF lo_row_19 IS NOT INITIAL.
                      lv_routetableid = lo_row_19->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lv_megabytespersecond = lo_ontapfilesystemconfigur->get_throughputcapacity( ).
                  lv_weeklytime = lo_ontapfilesystemconfigur->get_weeklymaintenancestrtt00( ).
                  lv_adminpassword = lo_ontapfilesystemconfigur->get_fsxadminpassword( ).
                  lv_hapairs = lo_ontapfilesystemconfigur->get_hapairs( ).
                  lv_throughputcapacityperha = lo_ontapfilesystemconfigur->get_thruputcapacityperhapair( ).
                ENDIF.
                lv_filesystemtypeversion = lo_filesystem_1->get_filesystemtypeversion( ).
                lo_openzfsfilesystemconfig = lo_filesystem_1->get_openzfsconfiguration( ).
                IF lo_openzfsfilesystemconfig IS NOT INITIAL.
                  lv_automaticbackupretentio = lo_openzfsfilesystemconfig->get_automaticbackupretdays( ).
                  lv_flag = lo_openzfsfilesystemconfig->get_copytagstobackups( ).
                  lv_flag = lo_openzfsfilesystemconfig->get_copytagstovolumes( ).
                  lv_dailytime = lo_openzfsfilesystemconfig->get_dailyautomaticbackupst00( ).
                  lv_openzfsdeploymenttype = lo_openzfsfilesystemconfig->get_deploymenttype( ).
                  lv_megabytespersecond = lo_openzfsfilesystemconfig->get_throughputcapacity( ).
                  lv_weeklytime = lo_openzfsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                  lo_diskiopsconfiguration = lo_openzfsfilesystemconfig->get_diskiopsconfiguration( ).
                  IF lo_diskiopsconfiguration IS NOT INITIAL.
                    lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                    lv_iops = lo_diskiopsconfiguration->get_iops( ).
                  ENDIF.
                  lv_volumeid = lo_openzfsfilesystemconfig->get_rootvolumeid( ).
                  lv_subnetid = lo_openzfsfilesystemconfig->get_preferredsubnetid( ).
                  lv_ipaddressrange = lo_openzfsfilesystemconfig->get_endpointipaddressrange( ).
                  LOOP AT lo_openzfsfilesystemconfig->get_routetableids( ) into lo_row_18.
                    lo_row_19 = lo_row_18.
                    IF lo_row_19 IS NOT INITIAL.
                      lv_routetableid = lo_row_19->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipaddress( ).
                  lo_openzfsreadcacheconfigu = lo_openzfsfilesystemconfig->get_readcacheconfiguration( ).
                  IF lo_openzfsreadcacheconfigu IS NOT INITIAL.
                    lv_openzfsreadcachesizingm = lo_openzfsreadcacheconfigu->get_sizingmode( ).
                    lv_storagecapacity = lo_openzfsreadcacheconfigu->get_sizegib( ).
                  ENDIF.
                ENDIF.
              ENDIF.
              lo_administrativeactionfai = lo_row_23->get_failuredetails( ).
              IF lo_administrativeactionfai IS NOT INITIAL.
                lv_errormessage = lo_administrativeactionfai->get_message( ).
              ENDIF.
              lo_volume = lo_row_23->get_targetvolumevalues( ).
              IF lo_volume IS NOT INITIAL.
                lv_creationtime = lo_volume->get_creationtime( ).
                lv_filesystemid = lo_volume->get_filesystemid( ).
                lv_volumelifecycle = lo_volume->get_lifecycle( ).
                lv_volumename = lo_volume->get_name( ).
                lo_ontapvolumeconfiguratio = lo_volume->get_ontapconfiguration( ).
                IF lo_ontapvolumeconfiguratio IS NOT INITIAL.
                  lv_flexcacheendpointtype = lo_ontapvolumeconfiguratio->get_flexcacheendpointtype( ).
                  lv_junctionpath = lo_ontapvolumeconfiguratio->get_junctionpath( ).
                  lv_securitystyle = lo_ontapvolumeconfiguratio->get_securitystyle( ).
                  lv_volumecapacity = lo_ontapvolumeconfiguratio->get_sizeinmegabytes( ).
                  lv_flag = lo_ontapvolumeconfiguratio->get_storageefficiencyenabled( ).
                  lv_storagevirtualmachineid = lo_ontapvolumeconfiguratio->get_storagevirtualmachineid( ).
                  lv_flag = lo_ontapvolumeconfiguratio->get_strgvirtualmachineroot( ).
                  lo_tieringpolicy = lo_ontapvolumeconfiguratio->get_tieringpolicy( ).
                  IF lo_tieringpolicy IS NOT INITIAL.
                    lv_coolingperiod = lo_tieringpolicy->get_coolingperiod( ).
                    lv_tieringpolicyname = lo_tieringpolicy->get_name( ).
                  ENDIF.
                  lv_uuid = lo_ontapvolumeconfiguratio->get_uuid( ).
                  lv_ontapvolumetype = lo_ontapvolumeconfiguratio->get_ontapvolumetype( ).
                  lv_snapshotpolicy = lo_ontapvolumeconfiguratio->get_snapshotpolicy( ).
                  lv_flag = lo_ontapvolumeconfiguratio->get_copytagstobackups( ).
                  lo_snaplockconfiguration = lo_ontapvolumeconfiguratio->get_snaplockconfiguration( ).
                  IF lo_snaplockconfiguration IS NOT INITIAL.
                    lv_flag = lo_snaplockconfiguration->get_auditlogvolume( ).
                    lo_autocommitperiod = lo_snaplockconfiguration->get_autocommitperiod( ).
                    IF lo_autocommitperiod IS NOT INITIAL.
                      lv_autocommitperiodtype = lo_autocommitperiod->get_type( ).
                      lv_autocommitperiodvalue = lo_autocommitperiod->get_value( ).
                    ENDIF.
                    lv_privilegeddelete = lo_snaplockconfiguration->get_privilegeddelete( ).
                    lo_snaplockretentionperiod = lo_snaplockconfiguration->get_retentionperiod( ).
                    IF lo_snaplockretentionperiod IS NOT INITIAL.
                      lo_retentionperiod = lo_snaplockretentionperiod->get_defaultretention( ).
                      IF lo_retentionperiod IS NOT INITIAL.
                        lv_retentionperiodtype = lo_retentionperiod->get_type( ).
                        lv_retentionperiodvalue = lo_retentionperiod->get_value( ).
                      ENDIF.
                      lo_retentionperiod = lo_snaplockretentionperiod->get_minimumretention( ).
                      IF lo_retentionperiod IS NOT INITIAL.
                        lv_retentionperiodtype = lo_retentionperiod->get_type( ).
                        lv_retentionperiodvalue = lo_retentionperiod->get_value( ).
                      ENDIF.
                      lo_retentionperiod = lo_snaplockretentionperiod->get_maximumretention( ).
                      IF lo_retentionperiod IS NOT INITIAL.
                        lv_retentionperiodtype = lo_retentionperiod->get_type( ).
                        lv_retentionperiodvalue = lo_retentionperiod->get_value( ).
                      ENDIF.
                    ENDIF.
                    lv_snaplocktype = lo_snaplockconfiguration->get_snaplocktype( ).
                    lv_flag = lo_snaplockconfiguration->get_volumeappendmodeenabled( ).
                  ENDIF.
                  lv_volumestyle = lo_ontapvolumeconfiguratio->get_volumestyle( ).
                  lo_aggregateconfiguration = lo_ontapvolumeconfiguratio->get_aggregateconfiguration( ).
                  IF lo_aggregateconfiguration IS NOT INITIAL.
                    LOOP AT lo_aggregateconfiguration->get_aggregates( ) into lo_row_20.
                      lo_row_21 = lo_row_20.
                      IF lo_row_21 IS NOT INITIAL.
                        lv_aggregate = lo_row_21->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lv_totalconstituents = lo_aggregateconfiguration->get_totalconstituents( ).
                  ENDIF.
                  lv_volumecapacitybytes = lo_ontapvolumeconfiguratio->get_sizeinbytes( ).
                ENDIF.
                lv_resourcearn = lo_volume->get_resourcearn( ).
                LOOP AT lo_volume->get_tags( ) into lo_row_4.
                  lo_row_5 = lo_row_4.
                  IF lo_row_5 IS NOT INITIAL.
                    lv_tagkey = lo_row_5->get_key( ).
                    lv_tagvalue = lo_row_5->get_value( ).
                  ENDIF.
                ENDLOOP.
                lv_volumeid = lo_volume->get_volumeid( ).
                lv_volumetype = lo_volume->get_volumetype( ).
                lo_lifecycletransitionreas = lo_volume->get_lifecycletransreason( ).
                IF lo_lifecycletransitionreas IS NOT INITIAL.
                  lv_errormessage = lo_lifecycletransitionreas->get_message( ).
                ENDIF.
                LOOP AT lo_volume->get_administrativeactions( ) into lo_row_24.
                  lo_row_25 = lo_row_24.
                  IF lo_row_25 IS NOT INITIAL.
                    lv_administrativeactiontyp = lo_row_25->get_administrativeactiontype( ).
                    lv_progresspercent = lo_row_25->get_progresspercent( ).
                    lv_requesttime = lo_row_25->get_requesttime( ).
                    lv_status = lo_row_25->get_status( ).
                    lo_filesystem_1 = lo_row_25->get_targetfilesystemvalues( ).
                    IF lo_filesystem_1 IS NOT INITIAL.
                      lv_awsaccountid = lo_filesystem_1->get_ownerid( ).
                      lv_creationtime = lo_filesystem_1->get_creationtime( ).
                      lv_filesystemid = lo_filesystem_1->get_filesystemid( ).
                      lv_filesystemtype = lo_filesystem_1->get_filesystemtype( ).
                      lv_filesystemlifecycle = lo_filesystem_1->get_lifecycle( ).
                      lo_filesystemfailuredetail = lo_filesystem_1->get_failuredetails( ).
                      IF lo_filesystemfailuredetail IS NOT INITIAL.
                        lv_errormessage = lo_filesystemfailuredetail->get_message( ).
                      ENDIF.
                      lv_storagecapacity = lo_filesystem_1->get_storagecapacity( ).
                      lv_storagetype = lo_filesystem_1->get_storagetype( ).
                      lv_vpcid = lo_filesystem_1->get_vpcid( ).
                      LOOP AT lo_filesystem_1->get_subnetids( ) into lo_row.
                        lo_row_1 = lo_row.
                        IF lo_row_1 IS NOT INITIAL.
                          lv_subnetid = lo_row_1->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      LOOP AT lo_filesystem_1->get_networkinterfaceids( ) into lo_row_2.
                        lo_row_3 = lo_row_2.
                        IF lo_row_3 IS NOT INITIAL.
                          lv_networkinterfaceid = lo_row_3->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lv_dnsname = lo_filesystem_1->get_dnsname( ).
                      lv_kmskeyid = lo_filesystem_1->get_kmskeyid( ).
                      lv_resourcearn = lo_filesystem_1->get_resourcearn( ).
                      LOOP AT lo_filesystem_1->get_tags( ) into lo_row_4.
                        lo_row_5 = lo_row_4.
                        IF lo_row_5 IS NOT INITIAL.
                          lv_tagkey = lo_row_5->get_key( ).
                          lv_tagvalue = lo_row_5->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lo_windowsfilesystemconfig = lo_filesystem_1->get_windowsconfiguration( ).
                      IF lo_windowsfilesystemconfig IS NOT INITIAL.
                        lv_directoryid = lo_windowsfilesystemconfig->get_activedirectoryid( ).
                        lo_selfmanagedactivedirect = lo_windowsfilesystemconfig->get_selfmanagedactdirector00( ).
                        IF lo_selfmanagedactivedirect IS NOT INITIAL.
                          lv_activedirectoryfullyqua = lo_selfmanagedactivedirect->get_domainname( ).
                          lv_organizationalunitdisti = lo_selfmanagedactivedirect->get_orgalunitdistinguished00( ).
                          lv_filesystemadministrator = lo_selfmanagedactivedirect->get_filesystemadministrato00( ).
                          lv_directoryusername = lo_selfmanagedactivedirect->get_username( ).
                          LOOP AT lo_selfmanagedactivedirect->get_dnsips( ) into lo_row_6.
                            lo_row_7 = lo_row_6.
                            IF lo_row_7 IS NOT INITIAL.
                              lv_ipaddress = lo_row_7->get_value( ).
                            ENDIF.
                          ENDLOOP.
                        ENDIF.
                        lv_windowsdeploymenttype = lo_windowsfilesystemconfig->get_deploymenttype( ).
                        lv_dnsname = lo_windowsfilesystemconfig->get_remoteadministrationen00( ).
                        lv_subnetid = lo_windowsfilesystemconfig->get_preferredsubnetid( ).
                        lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserverip( ).
                        lv_megabytespersecond = lo_windowsfilesystemconfig->get_throughputcapacity( ).
                        LOOP AT lo_windowsfilesystemconfig->get_maintenanceopsinprogress( ) into lo_row_8.
                          lo_row_9 = lo_row_8.
                          IF lo_row_9 IS NOT INITIAL.
                            lv_filesystemmaintenanceop = lo_row_9->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lv_weeklytime = lo_windowsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                        lv_dailytime = lo_windowsfilesystemconfig->get_dailyautomaticbackupst00( ).
                        lv_automaticbackupretentio = lo_windowsfilesystemconfig->get_automaticbackupretdays( ).
                        lv_flag = lo_windowsfilesystemconfig->get_copytagstobackups( ).
                        LOOP AT lo_windowsfilesystemconfig->get_aliases( ) into lo_row_10.
                          lo_row_11 = lo_row_10.
                          IF lo_row_11 IS NOT INITIAL.
                            lv_alternatednsname = lo_row_11->get_name( ).
                            lv_aliaslifecycle = lo_row_11->get_lifecycle( ).
                          ENDIF.
                        ENDLOOP.
                        lo_windowsauditlogconfigur = lo_windowsfilesystemconfig->get_auditlogconfiguration( ).
                        IF lo_windowsauditlogconfigur IS NOT INITIAL.
                          lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileaccessauditloglevel( ).
                          lv_windowsaccessauditlogle = lo_windowsauditlogconfigur->get_fileshareaccaudloglevel( ).
                          lv_generalarn = lo_windowsauditlogconfigur->get_auditlogdestination( ).
                        ENDIF.
                        lo_diskiopsconfiguration = lo_windowsfilesystemconfig->get_diskiopsconfiguration( ).
                        IF lo_diskiopsconfiguration IS NOT INITIAL.
                          lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                          lv_iops = lo_diskiopsconfiguration->get_iops( ).
                        ENDIF.
                      ENDIF.
                      lo_lustrefilesystemconfigu = lo_filesystem_1->get_lustreconfiguration( ).
                      IF lo_lustrefilesystemconfigu IS NOT INITIAL.
                        lv_weeklytime = lo_lustrefilesystemconfigu->get_weeklymaintenancestrtt00( ).
                        lo_datarepositoryconfigura = lo_lustrefilesystemconfigu->get_datarepositoryconf( ).
                        IF lo_datarepositoryconfigura IS NOT INITIAL.
                          lv_datarepositorylifecycle = lo_datarepositoryconfigura->get_lifecycle( ).
                          lv_archivepath = lo_datarepositoryconfigura->get_importpath( ).
                          lv_archivepath = lo_datarepositoryconfigura->get_exportpath( ).
                          lv_megabytes = lo_datarepositoryconfigura->get_importedfilechunksize( ).
                          lv_autoimportpolicytype = lo_datarepositoryconfigura->get_autoimportpolicy( ).
                          lo_datarepositoryfailurede = lo_datarepositoryconfigura->get_failuredetails( ).
                          IF lo_datarepositoryfailurede IS NOT INITIAL.
                            lv_errormessage = lo_datarepositoryfailurede->get_message( ).
                          ENDIF.
                        ENDIF.
                        lv_lustredeploymenttype = lo_lustrefilesystemconfigu->get_deploymenttype( ).
                        lv_perunitstoragethroughpu = lo_lustrefilesystemconfigu->get_perunitstoragethroughput( ).
                        lv_lustrefilesystemmountna = lo_lustrefilesystemconfigu->get_mountname( ).
                        lv_dailytime = lo_lustrefilesystemconfigu->get_dailyautomaticbackupst00( ).
                        lv_automaticbackupretentio = lo_lustrefilesystemconfigu->get_automaticbackupretdays( ).
                        lv_flag = lo_lustrefilesystemconfigu->get_copytagstobackups( ).
                        lv_drivecachetype = lo_lustrefilesystemconfigu->get_drivecachetype( ).
                        lv_datacompressiontype = lo_lustrefilesystemconfigu->get_datacompressiontype( ).
                        lo_lustrelogconfiguration = lo_lustrefilesystemconfigu->get_logconfiguration( ).
                        IF lo_lustrelogconfiguration IS NOT INITIAL.
                          lv_lustreaccessauditloglev = lo_lustrelogconfiguration->get_level( ).
                          lv_generalarn = lo_lustrelogconfiguration->get_destination( ).
                        ENDIF.
                        lo_lustrerootsquashconfigu = lo_lustrefilesystemconfigu->get_rootsquashconfiguration( ).
                        IF lo_lustrerootsquashconfigu IS NOT INITIAL.
                          lv_lustrerootsquash = lo_lustrerootsquashconfigu->get_rootsquash( ).
                          LOOP AT lo_lustrerootsquashconfigu->get_nosquashnids( ) into lo_row_12.
                            lo_row_13 = lo_row_12.
                            IF lo_row_13 IS NOT INITIAL.
                              lv_lustrenosquashnid = lo_row_13->get_value( ).
                            ENDIF.
                          ENDLOOP.
                        ENDIF.
                        lo_filesystemlustremetadat = lo_lustrefilesystemconfigu->get_metadataconfiguration( ).
                        IF lo_filesystemlustremetadat IS NOT INITIAL.
                          lv_metadataiops = lo_filesystemlustremetadat->get_iops( ).
                          lv_metadataconfigurationmo = lo_filesystemlustremetadat->get_mode( ).
                        ENDIF.
                        lv_flag = lo_lustrefilesystemconfigu->get_efaenabled( ).
                      ENDIF.
                      " Skipping lo_row_25->get_targetfilesystemvalues( ) to avoid recursion
                      lo_ontapfilesystemconfigur = lo_filesystem_1->get_ontapconfiguration( ).
                      IF lo_ontapfilesystemconfigur IS NOT INITIAL.
                        lv_automaticbackupretentio = lo_ontapfilesystemconfigur->get_automaticbackupretdays( ).
                        lv_dailytime = lo_ontapfilesystemconfigur->get_dailyautomaticbackupst00( ).
                        lv_ontapdeploymenttype = lo_ontapfilesystemconfigur->get_deploymenttype( ).
                        lv_ipaddressrange = lo_ontapfilesystemconfigur->get_endpointipaddressrange( ).
                        lo_filesystemendpoints = lo_ontapfilesystemconfigur->get_endpoints( ).
                        IF lo_filesystemendpoints IS NOT INITIAL.
                          lo_filesystemendpoint = lo_filesystemendpoints->get_intercluster( ).
                          IF lo_filesystemendpoint IS NOT INITIAL.
                            lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                            LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                              lo_row_17 = lo_row_16.
                              IF lo_row_17 IS NOT INITIAL.
                                lv_ipaddress = lo_row_17->get_value( ).
                              ENDIF.
                            ENDLOOP.
                          ENDIF.
                          lo_filesystemendpoint = lo_filesystemendpoints->get_management( ).
                          IF lo_filesystemendpoint IS NOT INITIAL.
                            lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
                            LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
                              lo_row_17 = lo_row_16.
                              IF lo_row_17 IS NOT INITIAL.
                                lv_ipaddress = lo_row_17->get_value( ).
                              ENDIF.
                            ENDLOOP.
                          ENDIF.
                        ENDIF.
                        lo_diskiopsconfiguration = lo_ontapfilesystemconfigur->get_diskiopsconfiguration( ).
                        IF lo_diskiopsconfiguration IS NOT INITIAL.
                          lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                          lv_iops = lo_diskiopsconfiguration->get_iops( ).
                        ENDIF.
                        lv_subnetid = lo_ontapfilesystemconfigur->get_preferredsubnetid( ).
                        LOOP AT lo_ontapfilesystemconfigur->get_routetableids( ) into lo_row_18.
                          lo_row_19 = lo_row_18.
                          IF lo_row_19 IS NOT INITIAL.
                            lv_routetableid = lo_row_19->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lv_megabytespersecond = lo_ontapfilesystemconfigur->get_throughputcapacity( ).
                        lv_weeklytime = lo_ontapfilesystemconfigur->get_weeklymaintenancestrtt00( ).
                        lv_adminpassword = lo_ontapfilesystemconfigur->get_fsxadminpassword( ).
                        lv_hapairs = lo_ontapfilesystemconfigur->get_hapairs( ).
                        lv_throughputcapacityperha = lo_ontapfilesystemconfigur->get_thruputcapacityperhapair( ).
                      ENDIF.
                      lv_filesystemtypeversion = lo_filesystem_1->get_filesystemtypeversion( ).
                      lo_openzfsfilesystemconfig = lo_filesystem_1->get_openzfsconfiguration( ).
                      IF lo_openzfsfilesystemconfig IS NOT INITIAL.
                        lv_automaticbackupretentio = lo_openzfsfilesystemconfig->get_automaticbackupretdays( ).
                        lv_flag = lo_openzfsfilesystemconfig->get_copytagstobackups( ).
                        lv_flag = lo_openzfsfilesystemconfig->get_copytagstovolumes( ).
                        lv_dailytime = lo_openzfsfilesystemconfig->get_dailyautomaticbackupst00( ).
                        lv_openzfsdeploymenttype = lo_openzfsfilesystemconfig->get_deploymenttype( ).
                        lv_megabytespersecond = lo_openzfsfilesystemconfig->get_throughputcapacity( ).
                        lv_weeklytime = lo_openzfsfilesystemconfig->get_weeklymaintenancestrtt00( ).
                        lo_diskiopsconfiguration = lo_openzfsfilesystemconfig->get_diskiopsconfiguration( ).
                        IF lo_diskiopsconfiguration IS NOT INITIAL.
                          lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
                          lv_iops = lo_diskiopsconfiguration->get_iops( ).
                        ENDIF.
                        lv_volumeid = lo_openzfsfilesystemconfig->get_rootvolumeid( ).
                        lv_subnetid = lo_openzfsfilesystemconfig->get_preferredsubnetid( ).
                        lv_ipaddressrange = lo_openzfsfilesystemconfig->get_endpointipaddressrange( ).
                        LOOP AT lo_openzfsfilesystemconfig->get_routetableids( ) into lo_row_18.
                          lo_row_19 = lo_row_18.
                          IF lo_row_19 IS NOT INITIAL.
                            lv_routetableid = lo_row_19->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipaddress( ).
                        lo_openzfsreadcacheconfigu = lo_openzfsfilesystemconfig->get_readcacheconfiguration( ).
                        IF lo_openzfsreadcacheconfigu IS NOT INITIAL.
                          lv_openzfsreadcachesizingm = lo_openzfsreadcacheconfigu->get_sizingmode( ).
                          lv_storagecapacity = lo_openzfsreadcacheconfigu->get_sizegib( ).
                        ENDIF.
                      ENDIF.
                    ENDIF.
                    lo_administrativeactionfai = lo_row_25->get_failuredetails( ).
                    IF lo_administrativeactionfai IS NOT INITIAL.
                      lv_errormessage = lo_administrativeactionfai->get_message( ).
                    ENDIF.
                    " Skipping lo_row_24 to avoid recursion
                    " Skipping lo_row_24 to avoid recursion
                    lv_totaltransferbytes = lo_row_25->get_totaltransferbytes( ).
                    lv_remainingtransferbytes = lo_row_25->get_remainingtransferbytes( ).
                  ENDIF.
                ENDLOOP.
                lo_openzfsvolumeconfigurat = lo_volume->get_openzfsconfiguration( ).
                IF lo_openzfsvolumeconfigurat IS NOT INITIAL.
                  lv_volumeid = lo_openzfsvolumeconfigurat->get_parentvolumeid( ).
                  lv_volumepath = lo_openzfsvolumeconfigurat->get_volumepath( ).
                  lv_integernomax = lo_openzfsvolumeconfigurat->get_storagecapreservationgib( ).
                  lv_integernomax = lo_openzfsvolumeconfigurat->get_storagecapacityquotagib( ).
                  lv_integerrecordsizekib = lo_openzfsvolumeconfigurat->get_recordsizekib( ).
                  lv_openzfsdatacompressiont = lo_openzfsvolumeconfigurat->get_datacompressiontype( ).
                  lv_flag = lo_openzfsvolumeconfigurat->get_copytagstosnapshots( ).
                  lo_openzfsoriginsnapshotco = lo_openzfsvolumeconfigurat->get_originsnapshot( ).
                  IF lo_openzfsoriginsnapshotco IS NOT INITIAL.
                    lv_resourcearn = lo_openzfsoriginsnapshotco->get_snapshotarn( ).
                    lv_openzfscopystrategy = lo_openzfsoriginsnapshotco->get_copystrategy( ).
                  ENDIF.
                  lv_readonly = lo_openzfsvolumeconfigurat->get_readonly( ).
                  LOOP AT lo_openzfsvolumeconfigurat->get_nfsexports( ) into lo_row_26.
                    lo_row_27 = lo_row_26.
                    IF lo_row_27 IS NOT INITIAL.
                      LOOP AT lo_row_27->get_clientconfigurations( ) into lo_row_28.
                        lo_row_29 = lo_row_28.
                        IF lo_row_29 IS NOT INITIAL.
                          lv_openzfsclients = lo_row_29->get_clients( ).
                          LOOP AT lo_row_29->get_options( ) into lo_row_30.
                            lo_row_31 = lo_row_30.
                            IF lo_row_31 IS NOT INITIAL.
                              lv_openzfsnfsexportoption = lo_row_31->get_value( ).
                            ENDIF.
                          ENDLOOP.
                        ENDIF.
                      ENDLOOP.
                    ENDIF.
                  ENDLOOP.
                  LOOP AT lo_openzfsvolumeconfigurat->get_userandgroupquotas( ) into lo_row_32.
                    lo_row_33 = lo_row_32.
                    IF lo_row_33 IS NOT INITIAL.
                      lv_openzfsquotatype = lo_row_33->get_type( ).
                      lv_integernomax = lo_row_33->get_id( ).
                      lv_integernomax = lo_row_33->get_storagecapacityquotagib( ).
                    ENDIF.
                  ENDLOOP.
                  lv_snapshotid = lo_openzfsvolumeconfigurat->get_restoretosnapshot( ).
                  lv_flag = lo_openzfsvolumeconfigurat->get_delintermediatesnaphots( ).
                  lv_flag = lo_openzfsvolumeconfigurat->get_deleteclonedvolumes( ).
                  lv_flag = lo_openzfsvolumeconfigurat->get_deleteintermediatedata( ).
                  lv_resourcearn = lo_openzfsvolumeconfigurat->get_sourcesnapshotarn( ).
                  lv_snapshotid = lo_openzfsvolumeconfigurat->get_destinationsnapshot( ).
                  lv_openzfscopystrategy = lo_openzfsvolumeconfigurat->get_copystrategy( ).
                ENDIF.
              ENDIF.
              " Skipping lo_row_22 to avoid recursion
              lv_totaltransferbytes = lo_row_23->get_totaltransferbytes( ).
              lv_remainingtransferbytes = lo_row_23->get_remainingtransferbytes( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
        lv_totaltransferbytes = lo_row_15->get_totaltransferbytes( ).
        lv_remainingtransferbytes = lo_row_15->get_remainingtransferbytes( ).
      ENDIF.
    ENDLOOP.
    lo_ontapfilesystemconfigur = lo_filesystem->get_ontapconfiguration( ).
    IF lo_ontapfilesystemconfigur IS NOT INITIAL.
      lv_automaticbackupretentio = lo_ontapfilesystemconfigur->get_automaticbackupretdays( ).
      lv_dailytime = lo_ontapfilesystemconfigur->get_dailyautomaticbackupst00( ).
      lv_ontapdeploymenttype = lo_ontapfilesystemconfigur->get_deploymenttype( ).
      lv_ipaddressrange = lo_ontapfilesystemconfigur->get_endpointipaddressrange( ).
      lo_filesystemendpoints = lo_ontapfilesystemconfigur->get_endpoints( ).
      IF lo_filesystemendpoints IS NOT INITIAL.
        lo_filesystemendpoint = lo_filesystemendpoints->get_intercluster( ).
        IF lo_filesystemendpoint IS NOT INITIAL.
          lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
          LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
            lo_row_17 = lo_row_16.
            IF lo_row_17 IS NOT INITIAL.
              lv_ipaddress = lo_row_17->get_value( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
        lo_filesystemendpoint = lo_filesystemendpoints->get_management( ).
        IF lo_filesystemendpoint IS NOT INITIAL.
          lv_dnsname = lo_filesystemendpoint->get_dnsname( ).
          LOOP AT lo_filesystemendpoint->get_ipaddresses( ) into lo_row_16.
            lo_row_17 = lo_row_16.
            IF lo_row_17 IS NOT INITIAL.
              lv_ipaddress = lo_row_17->get_value( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
      ENDIF.
      lo_diskiopsconfiguration = lo_ontapfilesystemconfigur->get_diskiopsconfiguration( ).
      IF lo_diskiopsconfiguration IS NOT INITIAL.
        lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
        lv_iops = lo_diskiopsconfiguration->get_iops( ).
      ENDIF.
      lv_subnetid = lo_ontapfilesystemconfigur->get_preferredsubnetid( ).
      LOOP AT lo_ontapfilesystemconfigur->get_routetableids( ) into lo_row_18.
        lo_row_19 = lo_row_18.
        IF lo_row_19 IS NOT INITIAL.
          lv_routetableid = lo_row_19->get_value( ).
        ENDIF.
      ENDLOOP.
      lv_megabytespersecond = lo_ontapfilesystemconfigur->get_throughputcapacity( ).
      lv_weeklytime = lo_ontapfilesystemconfigur->get_weeklymaintenancestrtt00( ).
      lv_adminpassword = lo_ontapfilesystemconfigur->get_fsxadminpassword( ).
      lv_hapairs = lo_ontapfilesystemconfigur->get_hapairs( ).
      lv_throughputcapacityperha = lo_ontapfilesystemconfigur->get_thruputcapacityperhapair( ).
    ENDIF.
    lv_filesystemtypeversion = lo_filesystem->get_filesystemtypeversion( ).
    lo_openzfsfilesystemconfig = lo_filesystem->get_openzfsconfiguration( ).
    IF lo_openzfsfilesystemconfig IS NOT INITIAL.
      lv_automaticbackupretentio = lo_openzfsfilesystemconfig->get_automaticbackupretdays( ).
      lv_flag = lo_openzfsfilesystemconfig->get_copytagstobackups( ).
      lv_flag = lo_openzfsfilesystemconfig->get_copytagstovolumes( ).
      lv_dailytime = lo_openzfsfilesystemconfig->get_dailyautomaticbackupst00( ).
      lv_openzfsdeploymenttype = lo_openzfsfilesystemconfig->get_deploymenttype( ).
      lv_megabytespersecond = lo_openzfsfilesystemconfig->get_throughputcapacity( ).
      lv_weeklytime = lo_openzfsfilesystemconfig->get_weeklymaintenancestrtt00( ).
      lo_diskiopsconfiguration = lo_openzfsfilesystemconfig->get_diskiopsconfiguration( ).
      IF lo_diskiopsconfiguration IS NOT INITIAL.
        lv_diskiopsconfigurationmo = lo_diskiopsconfiguration->get_mode( ).
        lv_iops = lo_diskiopsconfiguration->get_iops( ).
      ENDIF.
      lv_volumeid = lo_openzfsfilesystemconfig->get_rootvolumeid( ).
      lv_subnetid = lo_openzfsfilesystemconfig->get_preferredsubnetid( ).
      lv_ipaddressrange = lo_openzfsfilesystemconfig->get_endpointipaddressrange( ).
      LOOP AT lo_openzfsfilesystemconfig->get_routetableids( ) into lo_row_18.
        lo_row_19 = lo_row_18.
        IF lo_row_19 IS NOT INITIAL.
          lv_routetableid = lo_row_19->get_value( ).
        ENDIF.
      ENDLOOP.
      lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipaddress( ).
      lo_openzfsreadcacheconfigu = lo_openzfsfilesystemconfig->get_readcacheconfiguration( ).
      IF lo_openzfsreadcacheconfigu IS NOT INITIAL.
        lv_openzfsreadcachesizingm = lo_openzfsreadcacheconfigu->get_sizingmode( ).
        lv_storagecapacity = lo_openzfsreadcacheconfigu->get_sizegib( ).
      ENDIF.
    ENDIF.
  ENDIF.
ENDIF.