/AWS1/IF_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¶
METHODS /AWS1/IF_FSX~CREATEFILESYSTEMFROMBACKUP
  IMPORTING
    !IV_BACKUPID TYPE /AWS1/FSXBACKUPID OPTIONAL
    !IV_CLIENTREQUESTTOKEN TYPE /AWS1/FSXCLIENTREQUESTTOKEN OPTIONAL
    !IT_SUBNETIDS TYPE /AWS1/CL_FSXSUBNETIDS_W=>TT_SUBNETIDS OPTIONAL
    !IT_SECURITYGROUPIDS TYPE /AWS1/CL_FSXSECURITYGROUPIDS_W=>TT_SECURITYGROUPIDS OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_FSXTAG=>TT_TAGS OPTIONAL
    !IO_WINDOWSCONFIGURATION TYPE REF TO /AWS1/CL_FSXCREFILESYSTEMWIN00 OPTIONAL
    !IO_LUSTRECONFIGURATION TYPE REF TO /AWS1/CL_FSXCREFILESYSTEMLUS00 OPTIONAL
    !IV_STORAGETYPE TYPE /AWS1/FSXSTORAGETYPE OPTIONAL
    !IV_KMSKEYID TYPE /AWS1/FSXKMSKEYID OPTIONAL
    !IV_FILESYSTEMTYPEVERSION TYPE /AWS1/FSXFILESYSTEMTYPEVERSION OPTIONAL
    !IO_OPENZFSCONFIGURATION TYPE REF TO /AWS1/CL_FSXCREFILESYSTEMOPE00 OPTIONAL
    !IV_STORAGECAPACITY TYPE /AWS1/FSXSTORAGECAPACITY OPTIONAL
    !IV_NETWORKTYPE TYPE /AWS1/FSXNETWORKTYPE OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_fsxcrefilesystemfrm01
  RAISING
    /AWS1/CX_FSXACTDIRECTORYERROR
    /AWS1/CX_FSXBACKUPNOTFOUND
    /AWS1/CX_FSXBADREQUEST
    /AWS1/CX_FSXINCOMPATIBLEPRMERR
    /AWS1/CX_FSXINTERNALSERVERERR
    /AWS1/CX_FSXINVALIDNETWORKSTGS
    /AWS1/CX_FSXINVPERUNITSTRGTPUT
    /AWS1/CX_FSXMISSINGFILESYSTE00
    /AWS1/CX_FSXSERVICELIMITEXCD
    /AWS1/CX_FSXCLIENTEXC
    /AWS1/CX_FSXSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.
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_1file 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 theWindowsConfiguration > PreferredSubnetIDproperty.Windows
SINGLE_AZ_1andSINGLE_AZ_2file 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
DescribeFileSystemrequests.
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
Nametag 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, OpenZFS, or Lustre file system that you're creating from a backup. Valid values are
SSD,HDD, andINTELLIGENT_TIERING.
Set to
SSDto use solid state drive storage. SSD is supported on all Windows and OpenZFS deployment types.
Set to
HDDto use hard disk drive storage. HDD is supported onSINGLE_AZ_2andMULTI_AZ_1FSx for Windows File Server file system deployment types.
Set to
INTELLIGENT_TIERINGto use fully elastic, intelligently-tiered storage. Intelligent-Tiering is only available for OpenZFS file systems with the Multi-AZ deployment type and for Lustre file systems with the Persistent_2 deployment type.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, and2.15.You can enter a Lustre version that is newer than the backup's
FileSystemTypeVersionsetting. 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
StorageCapacityparameter, the default is the backup'sStorageCapacityvalue.If used to create a file system other than OpenZFS, you must provide a value that matches the backup's
StorageCapacityvalue. If you provide any other value, Amazon FSx responds with an HTTP status code 400 Bad Request.
iv_networktype TYPE /AWS1/FSXNETWORKTYPE /AWS1/FSXNETWORKTYPE¶
Sets the network type for the Amazon FSx for OpenZFS file system that you're creating from a backup.
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->createfilesystemfrombackup(
  io_lustreconfiguration = new /aws1/cl_fsxcrefilesystemlus00(
    io_datareadcacheconf = new /aws1/cl_fsxlustrereadcachec00(
      iv_sizegib = 123
      iv_sizingmode = |string|
    )
    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_throughputcapacity = 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_endpointipv6addressrange = |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_networktype = |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.
      lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserveripv6( ).
    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( ).
      lv_throughputcapacitymbps = lo_lustrefilesystemconfigu->get_throughputcapacity( ).
      lo_lustrereadcacheconfigur = lo_lustrefilesystemconfigu->get_datareadcacheconf( ).
      IF lo_lustrereadcacheconfigur IS NOT INITIAL.
        lv_lustrereadcachesizingmo = lo_lustrereadcacheconfigur->get_sizingmode( ).
        lv_storagecapacity = lo_lustrereadcacheconfigur->get_sizegib( ).
      ENDIF.
    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.
            lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserveripv6( ).
          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( ).
            lv_throughputcapacitymbps = lo_lustrefilesystemconfigu->get_throughputcapacity( ).
            lo_lustrereadcacheconfigur = lo_lustrefilesystemconfigu->get_datareadcacheconf( ).
            IF lo_lustrereadcacheconfigur IS NOT INITIAL.
              lv_lustrereadcachesizingmo = lo_lustrereadcacheconfigur->get_sizingmode( ).
              lv_storagecapacity = lo_lustrereadcacheconfigur->get_sizegib( ).
            ENDIF.
          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.
                LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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.
                LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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( ).
            lv_ipv6addressrange = lo_ontapfilesystemconfigur->get_endpointipv6addressrange( ).
          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( ).
            lv_ipv6addressrange = lo_openzfsfilesystemconfig->get_endpointipv6addressrange( ).
            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( ).
            lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipv6address( ).
            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.
          lv_networktype = lo_filesystem_1->get_networktype( ).
        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.
                  lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserveripv6( ).
                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( ).
                  lv_throughputcapacitymbps = lo_lustrefilesystemconfigu->get_throughputcapacity( ).
                  lo_lustrereadcacheconfigur = lo_lustrefilesystemconfigu->get_datareadcacheconf( ).
                  IF lo_lustrereadcacheconfigur IS NOT INITIAL.
                    lv_lustrereadcachesizingmo = lo_lustrereadcacheconfigur->get_sizingmode( ).
                    lv_storagecapacity = lo_lustrereadcacheconfigur->get_sizegib( ).
                  ENDIF.
                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.
                      LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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.
                      LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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( ).
                  lv_ipv6addressrange = lo_ontapfilesystemconfigur->get_endpointipv6addressrange( ).
                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( ).
                  lv_ipv6addressrange = lo_openzfsfilesystemconfig->get_endpointipv6addressrange( ).
                  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( ).
                  lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipv6address( ).
                  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.
                lv_networktype = lo_filesystem_1->get_networktype( ).
              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.
                        lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserveripv6( ).
                      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( ).
                        lv_throughputcapacitymbps = lo_lustrefilesystemconfigu->get_throughputcapacity( ).
                        lo_lustrereadcacheconfigur = lo_lustrefilesystemconfigu->get_datareadcacheconf( ).
                        IF lo_lustrereadcacheconfigur IS NOT INITIAL.
                          lv_lustrereadcachesizingmo = lo_lustrereadcacheconfigur->get_sizingmode( ).
                          lv_storagecapacity = lo_lustrereadcacheconfigur->get_sizegib( ).
                        ENDIF.
                      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.
                            LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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.
                            LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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( ).
                        lv_ipv6addressrange = lo_ontapfilesystemconfigur->get_endpointipv6addressrange( ).
                      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( ).
                        lv_ipv6addressrange = lo_openzfsfilesystemconfig->get_endpointipv6addressrange( ).
                        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( ).
                        lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipv6address( ).
                        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.
                      lv_networktype = lo_filesystem_1->get_networktype( ).
                    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( ).
                    lv_errormessage = lo_row_25->get_message( ).
                  ENDIF.
                ENDLOOP.
              ENDIF.
              lv_totaltransferbytes = lo_row_23->get_totaltransferbytes( ).
              lv_remainingtransferbytes = lo_row_23->get_remainingtransferbytes( ).
              lv_errormessage = lo_row_23->get_message( ).
            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.
                  lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserveripv6( ).
                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( ).
                  lv_throughputcapacitymbps = lo_lustrefilesystemconfigu->get_throughputcapacity( ).
                  lo_lustrereadcacheconfigur = lo_lustrefilesystemconfigu->get_datareadcacheconf( ).
                  IF lo_lustrereadcacheconfigur IS NOT INITIAL.
                    lv_lustrereadcachesizingmo = lo_lustrereadcacheconfigur->get_sizingmode( ).
                    lv_storagecapacity = lo_lustrereadcacheconfigur->get_sizegib( ).
                  ENDIF.
                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.
                      LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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.
                      LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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( ).
                  lv_ipv6addressrange = lo_ontapfilesystemconfigur->get_endpointipv6addressrange( ).
                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( ).
                  lv_ipv6addressrange = lo_openzfsfilesystemconfig->get_endpointipv6addressrange( ).
                  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( ).
                  lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipv6address( ).
                  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.
                lv_networktype = lo_filesystem_1->get_networktype( ).
              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.
                        lv_ipaddress = lo_windowsfilesystemconfig->get_preferredfileserveripv6( ).
                      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( ).
                        lv_throughputcapacitymbps = lo_lustrefilesystemconfigu->get_throughputcapacity( ).
                        lo_lustrereadcacheconfigur = lo_lustrefilesystemconfigu->get_datareadcacheconf( ).
                        IF lo_lustrereadcacheconfigur IS NOT INITIAL.
                          lv_lustrereadcachesizingmo = lo_lustrereadcacheconfigur->get_sizingmode( ).
                          lv_storagecapacity = lo_lustrereadcacheconfigur->get_sizegib( ).
                        ENDIF.
                      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.
                            LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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.
                            LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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( ).
                        lv_ipv6addressrange = lo_ontapfilesystemconfigur->get_endpointipv6addressrange( ).
                      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( ).
                        lv_ipv6addressrange = lo_openzfsfilesystemconfig->get_endpointipv6addressrange( ).
                        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( ).
                        lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipv6address( ).
                        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.
                      lv_networktype = lo_filesystem_1->get_networktype( ).
                    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( ).
                    lv_errormessage = lo_row_25->get_message( ).
                  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( ).
              lv_errormessage = lo_row_23->get_message( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
        lv_totaltransferbytes = lo_row_15->get_totaltransferbytes( ).
        lv_remainingtransferbytes = lo_row_15->get_remainingtransferbytes( ).
        lv_errormessage = lo_row_15->get_message( ).
      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.
          LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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.
          LOOP AT lo_filesystemendpoint->get_ipv6addresses( ) 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( ).
      lv_ipv6addressrange = lo_ontapfilesystemconfigur->get_endpointipv6addressrange( ).
    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( ).
      lv_ipv6addressrange = lo_openzfsfilesystemconfig->get_endpointipv6addressrange( ).
      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( ).
      lv_ipaddress = lo_openzfsfilesystemconfig->get_endpointipv6address( ).
      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.
    lv_networktype = lo_filesystem->get_networktype( ).
  ENDIF.
ENDIF.