Chilkat Online Tools

DescribeFileSystems autoit Example

Amazon FSx

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oRest = ObjCreate("Chilkat_9_5_0.Rest")
Local $bSuccess

$oAuthAws = ObjCreate("Chilkat_9_5_0.AuthAws")
$oAuthAws.AccessKey = "AWS_ACCESS_KEY"
$oAuthAws.SecretKey = "AWS_SECRET_KEY"

; Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
$oAuthAws.Region = "us-west-2"
$oAuthAws.ServiceName = "fsx"
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
$oRest.SetAuthAws($oAuthAws)

; URL: https://fsx.us-west-2.amazonaws.com/
; Use the same region as specified above.
$bSuccess = $oRest.Connect("fsx.us-west-2.amazonaws.com",443,True,True)
If ($bSuccess <> True) Then
    ConsoleWrite("ConnectFailReason: " & $oRest.ConnectFailReason & @CRLF)
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

; The following code creates the JSON request body.
; The JSON created by this code is shown below.

; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON

$oJson = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJson.UpdateString("FileSystemIds[0]","string")
$oJson.UpdateInt("MaxResults",123)
$oJson.UpdateString("NextToken","string")

; The JSON request body created by the above code:

; {
;   "FileSystemIds": [
;     "string"
;   ],
;   "MaxResults": number,
;   "NextToken": "string"
; }

$oRest.AddHeader("Content-Type","application/x-amz-json-1.1")
$oRest.AddHeader("X-Amz-Target","AWSSimbaAPIService_v20180301.DescribeFileSystems")

$oSbRequestBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$oJson.EmitSb($oSbRequestBody)
$oSbResponseBody = ObjCreate("Chilkat_9_5_0.StringBuilder")
$bSuccess = $oRest.FullRequestSb("POST","/",$oSbRequestBody,$oSbResponseBody)
If ($bSuccess <> True) Then
    ConsoleWrite($oRest.LastErrorText & @CRLF)
    Exit
EndIf

Local $iRespStatusCode = $oRest.ResponseStatusCode
ConsoleWrite("response status code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode <> 200) Then
    ConsoleWrite("Response Header:" & @CRLF)
    ConsoleWrite($oRest.ResponseHeader & @CRLF)
    ConsoleWrite("Response Body:" & @CRLF)
    ConsoleWrite($oSbResponseBody.GetAsString() & @CRLF)
    Exit
EndIf

$oJResp = ObjCreate("Chilkat_9_5_0.JsonObject")
$oJResp.LoadSb($oSbResponseBody)

; The following code parses the JSON response.
; A sample JSON response is shown below the sample code.

; Use this online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON

Local $iCreationTime
Local $sDNSName
Local $sMessage
Local $sFileSystemId
Local $sFileSystemType
Local $sFileSystemTypeVersion
Local $sKmsKeyId
Local $sLifecycle
Local $iAutomaticBackupRetentionDays
Local $iCopyTagsToBackups
Local $sDailyAutomaticBackupStartTime
Local $sDataCompressionType
Local $sAutoImportPolicy
Local $sExportPath
Local $sFailureDetailsMessage
Local $iImportedFileChunkSize
Local $sImportPath
Local $sDataRepositoryConfigurationLifecycle
Local $sDeploymentType
Local $sDriveCacheType
Local $sDestination
Local $sLevel
Local $sMountName
Local $iPerUnitStorageThroughput
Local $sWeeklyMaintenanceStartTime
Local $iOntapConfigurationAutomaticBackupRetentionDays
Local $sOntapConfigurationDailyAutomaticBackupStartTime
Local $sOntapConfigurationDeploymentType
Local $iIops
Local $sMode
Local $sEndpointIpAddressRange
Local $sInterclusterDNSName
Local $sManagementDNSName
Local $sPreferredSubnetId
Local $iThroughputCapacity
Local $sOntapConfigurationWeeklyMaintenanceStartTime
Local $iOpenZFSConfigurationAutomaticBackupRetentionDays
Local $iOpenZFSConfigurationCopyTagsToBackups
Local $iCopyTagsToVolumes
Local $sOpenZFSConfigurationDailyAutomaticBackupStartTime
Local $sOpenZFSConfigurationDeploymentType
Local $iDiskIopsConfigurationIops
Local $sDiskIopsConfigurationMode
Local $sRootVolumeId
Local $iOpenZFSConfigurationThroughputCapacity
Local $sOpenZFSConfigurationWeeklyMaintenanceStartTime
Local $sOwnerId
Local $sResourceARN
Local $iStorageCapacity
Local $sStorageType
Local $sVpcId
Local $sActiveDirectoryId
Local $sAuditLogDestination
Local $sFileAccessAuditLogLevel
Local $sFileShareAccessAuditLogLevel
Local $iWindowsConfigurationAutomaticBackupRetentionDays
Local $iWindowsConfigurationCopyTagsToBackups
Local $sWindowsConfigurationDailyAutomaticBackupStartTime
Local $sWindowsConfigurationDeploymentType
Local $sPreferredFileServerIp
Local $sWindowsConfigurationPreferredSubnetId
Local $sRemoteAdministrationEndpoint
Local $sDomainName
Local $sFileSystemAdministratorsGroup
Local $sOrganizationalUnitDistinguishedName
Local $sUserName
Local $iWindowsConfigurationThroughputCapacity
Local $sWindowsConfigurationWeeklyMaintenanceStartTime
Local $iJ
Local $iCount_j
Local $sAdministrativeActionType
Local $iProgressPercent
Local $iRequestTime
Local $sStatus
Local $sTargetFileSystemValues
Local $iTargetSnapshotValuesCreationTime
Local $sTargetSnapshotValuesLifecycle
Local $sLifecycleTransitionReasonMessage
Local $sName
Local $sTargetSnapshotValuesResourceARN
Local $sSnapshotId
Local $sVolumeId
Local $iTargetVolumeValuesCreationTime
Local $sTargetVolumeValuesFileSystemId
Local $sTargetVolumeValuesLifecycle
Local $sTargetVolumeValuesName
Local $sFlexCacheEndpointType
Local $sJunctionPath
Local $sOntapVolumeType
Local $sSecurityStyle
Local $iSizeInMegabytes
Local $iStorageEfficiencyEnabled
Local $sStorageVirtualMachineId
Local $iStorageVirtualMachineRoot
Local $iCoolingPeriod
Local $sTieringPolicyName
Local $sUUID
Local $iCopyTagsToSnapshots
Local $sOpenZFSConfigurationDataCompressionType
Local $sCopyStrategy
Local $sSnapshotARN
Local $sParentVolumeId
Local $iReadOnly
Local $iRecordSizeKiB
Local $iStorageCapacityQuotaGiB
Local $iStorageCapacityReservationGiB
Local $sVolumePath
Local $sTargetVolumeValuesResourceARN
Local $sTargetVolumeValuesVolumeId
Local $sVolumeType
Local $iK
Local $iCount_k
Local $strVal
Local $sKey
Local $sValue
Local $oJson1
Local $i1
Local $iCount_i1
Local $sClients
Local $iJ1
Local $iCount_j1
Local $iId
Local $sV_Type

Local $sNextToken = $oJResp.StringOf("NextToken")
Local $i = 0
Local $iCount_i = $oJResp.SizeOfArray("FileSystems")
While $i < $iCount_i
    $oJResp.I = $i
    $iCreationTime = $oJResp.IntOf("FileSystems[i].CreationTime")
    $sDNSName = $oJResp.StringOf("FileSystems[i].DNSName")
    $sMessage = $oJResp.StringOf("FileSystems[i].FailureDetails.Message")
    $sFileSystemId = $oJResp.StringOf("FileSystems[i].FileSystemId")
    $sFileSystemType = $oJResp.StringOf("FileSystems[i].FileSystemType")
    $sFileSystemTypeVersion = $oJResp.StringOf("FileSystems[i].FileSystemTypeVersion")
    $sKmsKeyId = $oJResp.StringOf("FileSystems[i].KmsKeyId")
    $sLifecycle = $oJResp.StringOf("FileSystems[i].Lifecycle")
    $iAutomaticBackupRetentionDays = $oJResp.IntOf("FileSystems[i].LustreConfiguration.AutomaticBackupRetentionDays")
    $iCopyTagsToBackups = $oJResp.IntOf("FileSystems[i].LustreConfiguration.CopyTagsToBackups")
    $sDailyAutomaticBackupStartTime = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DailyAutomaticBackupStartTime")
    $sDataCompressionType = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DataCompressionType")
    $sAutoImportPolicy = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DataRepositoryConfiguration.AutoImportPolicy")
    $sExportPath = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DataRepositoryConfiguration.ExportPath")
    $sFailureDetailsMessage = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DataRepositoryConfiguration.FailureDetails.Message")
    $iImportedFileChunkSize = $oJResp.IntOf("FileSystems[i].LustreConfiguration.DataRepositoryConfiguration.ImportedFileChunkSize")
    $sImportPath = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DataRepositoryConfiguration.ImportPath")
    $sDataRepositoryConfigurationLifecycle = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DataRepositoryConfiguration.Lifecycle")
    $sDeploymentType = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DeploymentType")
    $sDriveCacheType = $oJResp.StringOf("FileSystems[i].LustreConfiguration.DriveCacheType")
    $sDestination = $oJResp.StringOf("FileSystems[i].LustreConfiguration.LogConfiguration.Destination")
    $sLevel = $oJResp.StringOf("FileSystems[i].LustreConfiguration.LogConfiguration.Level")
    $sMountName = $oJResp.StringOf("FileSystems[i].LustreConfiguration.MountName")
    $iPerUnitStorageThroughput = $oJResp.IntOf("FileSystems[i].LustreConfiguration.PerUnitStorageThroughput")
    $sWeeklyMaintenanceStartTime = $oJResp.StringOf("FileSystems[i].LustreConfiguration.WeeklyMaintenanceStartTime")
    $iOntapConfigurationAutomaticBackupRetentionDays = $oJResp.IntOf("FileSystems[i].OntapConfiguration.AutomaticBackupRetentionDays")
    $sOntapConfigurationDailyAutomaticBackupStartTime = $oJResp.StringOf("FileSystems[i].OntapConfiguration.DailyAutomaticBackupStartTime")
    $sOntapConfigurationDeploymentType = $oJResp.StringOf("FileSystems[i].OntapConfiguration.DeploymentType")
    $iIops = $oJResp.IntOf("FileSystems[i].OntapConfiguration.DiskIopsConfiguration.Iops")
    $sMode = $oJResp.StringOf("FileSystems[i].OntapConfiguration.DiskIopsConfiguration.Mode")
    $sEndpointIpAddressRange = $oJResp.StringOf("FileSystems[i].OntapConfiguration.EndpointIpAddressRange")
    $sInterclusterDNSName = $oJResp.StringOf("FileSystems[i].OntapConfiguration.Endpoints.Intercluster.DNSName")
    $sManagementDNSName = $oJResp.StringOf("FileSystems[i].OntapConfiguration.Endpoints.Management.DNSName")
    $sPreferredSubnetId = $oJResp.StringOf("FileSystems[i].OntapConfiguration.PreferredSubnetId")
    $iThroughputCapacity = $oJResp.IntOf("FileSystems[i].OntapConfiguration.ThroughputCapacity")
    $sOntapConfigurationWeeklyMaintenanceStartTime = $oJResp.StringOf("FileSystems[i].OntapConfiguration.WeeklyMaintenanceStartTime")
    $iOpenZFSConfigurationAutomaticBackupRetentionDays = $oJResp.IntOf("FileSystems[i].OpenZFSConfiguration.AutomaticBackupRetentionDays")
    $iOpenZFSConfigurationCopyTagsToBackups = $oJResp.IntOf("FileSystems[i].OpenZFSConfiguration.CopyTagsToBackups")
    $iCopyTagsToVolumes = $oJResp.IntOf("FileSystems[i].OpenZFSConfiguration.CopyTagsToVolumes")
    $sOpenZFSConfigurationDailyAutomaticBackupStartTime = $oJResp.StringOf("FileSystems[i].OpenZFSConfiguration.DailyAutomaticBackupStartTime")
    $sOpenZFSConfigurationDeploymentType = $oJResp.StringOf("FileSystems[i].OpenZFSConfiguration.DeploymentType")
    $iDiskIopsConfigurationIops = $oJResp.IntOf("FileSystems[i].OpenZFSConfiguration.DiskIopsConfiguration.Iops")
    $sDiskIopsConfigurationMode = $oJResp.StringOf("FileSystems[i].OpenZFSConfiguration.DiskIopsConfiguration.Mode")
    $sRootVolumeId = $oJResp.StringOf("FileSystems[i].OpenZFSConfiguration.RootVolumeId")
    $iOpenZFSConfigurationThroughputCapacity = $oJResp.IntOf("FileSystems[i].OpenZFSConfiguration.ThroughputCapacity")
    $sOpenZFSConfigurationWeeklyMaintenanceStartTime = $oJResp.StringOf("FileSystems[i].OpenZFSConfiguration.WeeklyMaintenanceStartTime")
    $sOwnerId = $oJResp.StringOf("FileSystems[i].OwnerId")
    $sResourceARN = $oJResp.StringOf("FileSystems[i].ResourceARN")
    $iStorageCapacity = $oJResp.IntOf("FileSystems[i].StorageCapacity")
    $sStorageType = $oJResp.StringOf("FileSystems[i].StorageType")
    $sVpcId = $oJResp.StringOf("FileSystems[i].VpcId")
    $sActiveDirectoryId = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.ActiveDirectoryId")
    $sAuditLogDestination = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.AuditLogConfiguration.AuditLogDestination")
    $sFileAccessAuditLogLevel = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.AuditLogConfiguration.FileAccessAuditLogLevel")
    $sFileShareAccessAuditLogLevel = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.AuditLogConfiguration.FileShareAccessAuditLogLevel")
    $iWindowsConfigurationAutomaticBackupRetentionDays = $oJResp.IntOf("FileSystems[i].WindowsConfiguration.AutomaticBackupRetentionDays")
    $iWindowsConfigurationCopyTagsToBackups = $oJResp.IntOf("FileSystems[i].WindowsConfiguration.CopyTagsToBackups")
    $sWindowsConfigurationDailyAutomaticBackupStartTime = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.DailyAutomaticBackupStartTime")
    $sWindowsConfigurationDeploymentType = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.DeploymentType")
    $sPreferredFileServerIp = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.PreferredFileServerIp")
    $sWindowsConfigurationPreferredSubnetId = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.PreferredSubnetId")
    $sRemoteAdministrationEndpoint = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.RemoteAdministrationEndpoint")
    $sDomainName = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DomainName")
    $sFileSystemAdministratorsGroup = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.FileSystemAdministratorsGroup")
    $sOrganizationalUnitDistinguishedName = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.OrganizationalUnitDistinguishedName")
    $sUserName = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.UserName")
    $iWindowsConfigurationThroughputCapacity = $oJResp.IntOf("FileSystems[i].WindowsConfiguration.ThroughputCapacity")
    $sWindowsConfigurationWeeklyMaintenanceStartTime = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.WeeklyMaintenanceStartTime")
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sAdministrativeActionType = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].AdministrativeActionType")
        $sFailureDetailsMessage = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].FailureDetails.Message")
        $iProgressPercent = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].ProgressPercent")
        $iRequestTime = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].RequestTime")
        $sStatus = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].Status")
        $sTargetFileSystemValues = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetFileSystemValues")
        $iTargetSnapshotValuesCreationTime = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.CreationTime")
        $sTargetSnapshotValuesLifecycle = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.Lifecycle")
        $sLifecycleTransitionReasonMessage = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.LifecycleTransitionReason.Message")
        $sName = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.Name")
        $sTargetSnapshotValuesResourceARN = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.ResourceARN")
        $sSnapshotId = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.SnapshotId")
        $sVolumeId = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.VolumeId")
        $iTargetVolumeValuesCreationTime = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.CreationTime")
        $sTargetVolumeValuesFileSystemId = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.FileSystemId")
        $sTargetVolumeValuesLifecycle = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.Lifecycle")
        $sLifecycleTransitionReasonMessage = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.LifecycleTransitionReason.Message")
        $sTargetVolumeValuesName = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.Name")
        $sFlexCacheEndpointType = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.FlexCacheEndpointType")
        $sJunctionPath = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.JunctionPath")
        $sOntapVolumeType = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.OntapVolumeType")
        $sSecurityStyle = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.SecurityStyle")
        $iSizeInMegabytes = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.SizeInMegabytes")
        $iStorageEfficiencyEnabled = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.StorageEfficiencyEnabled")
        $sStorageVirtualMachineId = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.StorageVirtualMachineId")
        $iStorageVirtualMachineRoot = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.StorageVirtualMachineRoot")
        $iCoolingPeriod = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.TieringPolicy.CoolingPeriod")
        $sTieringPolicyName = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.TieringPolicy.Name")
        $sUUID = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OntapConfiguration.UUID")
        $iCopyTagsToSnapshots = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.CopyTagsToSnapshots")
        $sOpenZFSConfigurationDataCompressionType = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.DataCompressionType")
        $sCopyStrategy = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.OriginSnapshot.CopyStrategy")
        $sSnapshotARN = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.OriginSnapshot.SnapshotARN")
        $sParentVolumeId = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.ParentVolumeId")
        $iReadOnly = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.ReadOnly")
        $iRecordSizeKiB = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.RecordSizeKiB")
        $iStorageCapacityQuotaGiB = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.StorageCapacityQuotaGiB")
        $iStorageCapacityReservationGiB = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.StorageCapacityReservationGiB")
        $sVolumePath = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.VolumePath")
        $sTargetVolumeValuesResourceARN = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.ResourceARN")
        $sTargetVolumeValuesVolumeId = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.VolumeId")
        $sVolumeType = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.VolumeType")
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.AdministrativeActions")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $strVal = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.AdministrativeActions[k]")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.Tags")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sKey = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.Tags[k].Key")
            $sValue = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetSnapshotValues.Tags[k].Value")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.AdministrativeActions")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $strVal = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.AdministrativeActions[k]")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.NfsExports")
        While $iK < $iCount_k
            $oJResp.K = $iK

            $oJson1 = $oJResp.ObjectOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.NfsExports[k]")
            $i1 = 0
            $iCount_i1 = $oJson1.SizeOfArray("ClientConfigurations")
            While $i1 < $iCount_i1
                $oJson1.I = $i1
                $sClients = $oJson1.StringOf("ClientConfigurations[i].Clients")
                $iJ1 = 0
                $iCount_j1 = $oJson1.SizeOfArray("ClientConfigurations[i].Options")
                While $iJ1 < $iCount_j1
                    $oJson1.J = $iJ1
                    $strVal = $oJson1.StringOf("ClientConfigurations[i].Options[j]")
                    $iJ1 = $iJ1 + 1
                Wend
                $i1 = $i1 + 1
            Wend

            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $iId = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[k].Id")
            $iStorageCapacityQuotaGiB = $oJResp.IntOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[k].StorageCapacityQuotaGiB")
            $sV_Type = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[k].Type")
            $iK = $iK + 1
        Wend
        $iK = 0
        $iCount_k = $oJResp.SizeOfArray("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.Tags")
        While $iK < $iCount_k
            $oJResp.K = $iK
            $sKey = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.Tags[k].Key")
            $sValue = $oJResp.StringOf("FileSystems[i].AdministrativeActions[j].TargetVolumeValues.Tags[k].Value")
            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].NetworkInterfaceIds")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].NetworkInterfaceIds[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].OntapConfiguration.Endpoints.Intercluster.IpAddresses")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].OntapConfiguration.Endpoints.Intercluster.IpAddresses[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].OntapConfiguration.Endpoints.Management.IpAddresses")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].OntapConfiguration.Endpoints.Management.IpAddresses[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].OntapConfiguration.RouteTableIds")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].OntapConfiguration.RouteTableIds[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].SubnetIds")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].SubnetIds[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].Tags")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sKey = $oJResp.StringOf("FileSystems[i].Tags[j].Key")
        $sValue = $oJResp.StringOf("FileSystems[i].Tags[j].Value")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].WindowsConfiguration.Aliases")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sLifecycle = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.Aliases[j].Lifecycle")
        $sName = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.Aliases[j].Name")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].WindowsConfiguration.MaintenanceOperationsInProgress")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.MaintenanceOperationsInProgress[j]")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("FileSystems[i].WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $strVal = $oJResp.StringOf("FileSystems[i].WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps[j]")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend

; A sample JSON response body parsed by the above code:

; {
;   "FileSystems": [
;     {
;       "AdministrativeActions": [
;         {
;           "AdministrativeActionType": "string",
;           "FailureDetails": {
;             "Message": "string"
;           },
;           "ProgressPercent": number,
;           "RequestTime": number,
;           "Status": "string",
;           "TargetFileSystemValues": "FileSystem",
;           "TargetSnapshotValues": {
;             "AdministrativeActions": [
;               "AdministrativeAction"
;             ],
;             "CreationTime": number,
;             "Lifecycle": "string",
;             "LifecycleTransitionReason": {
;               "Message": "string"
;             },
;             "Name": "string",
;             "ResourceARN": "string",
;             "SnapshotId": "string",
;             "Tags": [
;               {
;                 "Key": "string",
;                 "Value": "string"
;               }
;             ],
;             "VolumeId": "string"
;           },
;           "TargetVolumeValues": {
;             "AdministrativeActions": [
;               "AdministrativeAction"
;             ],
;             "CreationTime": number,
;             "FileSystemId": "string",
;             "Lifecycle": "string",
;             "LifecycleTransitionReason": {
;               "Message": "string"
;             },
;             "Name": "string",
;             "OntapConfiguration": {
;               "FlexCacheEndpointType": "string",
;               "JunctionPath": "string",
;               "OntapVolumeType": "string",
;               "SecurityStyle": "string",
;               "SizeInMegabytes": number,
;               "StorageEfficiencyEnabled": boolean,
;               "StorageVirtualMachineId": "string",
;               "StorageVirtualMachineRoot": boolean,
;               "TieringPolicy": {
;                 "CoolingPeriod": number,
;                 "Name": "string"
;               },
;               "UUID": "string"
;             },
;             "OpenZFSConfiguration": {
;               "CopyTagsToSnapshots": boolean,
;               "DataCompressionType": "string",
;               "NfsExports": [
;                 {
;                   "ClientConfigurations": [
;                     {
;                       "Clients": "string",
;                       "Options": [
;                         "string"
;                       ]
;                     }
;                   ]
;                 }
;               ],
;               "OriginSnapshot": {
;                 "CopyStrategy": "string",
;                 "SnapshotARN": "string"
;               },
;               "ParentVolumeId": "string",
;               "ReadOnly": boolean,
;               "RecordSizeKiB": number,
;               "StorageCapacityQuotaGiB": number,
;               "StorageCapacityReservationGiB": number,
;               "UserAndGroupQuotas": [
;                 {
;                   "Id": number,
;                   "StorageCapacityQuotaGiB": number,
;                   "Type": "string"
;                 }
;               ],
;               "VolumePath": "string"
;             },
;             "ResourceARN": "string",
;             "Tags": [
;               {
;                 "Key": "string",
;                 "Value": "string"
;               }
;             ],
;             "VolumeId": "string",
;             "VolumeType": "string"
;           }
;         }
;       ],
;       "CreationTime": number,
;       "DNSName": "string",
;       "FailureDetails": {
;         "Message": "string"
;       },
;       "FileSystemId": "string",
;       "FileSystemType": "string",
;       "FileSystemTypeVersion": "string",
;       "KmsKeyId": "string",
;       "Lifecycle": "string",
;       "LustreConfiguration": {
;         "AutomaticBackupRetentionDays": number,
;         "CopyTagsToBackups": boolean,
;         "DailyAutomaticBackupStartTime": "string",
;         "DataCompressionType": "string",
;         "DataRepositoryConfiguration": {
;           "AutoImportPolicy": "string",
;           "ExportPath": "string",
;           "FailureDetails": {
;             "Message": "string"
;           },
;           "ImportedFileChunkSize": number,
;           "ImportPath": "string",
;           "Lifecycle": "string"
;         },
;         "DeploymentType": "string",
;         "DriveCacheType": "string",
;         "LogConfiguration": {
;           "Destination": "string",
;           "Level": "string"
;         },
;         "MountName": "string",
;         "PerUnitStorageThroughput": number,
;         "WeeklyMaintenanceStartTime": "string"
;       },
;       "NetworkInterfaceIds": [
;         "string"
;       ],
;       "OntapConfiguration": {
;         "AutomaticBackupRetentionDays": number,
;         "DailyAutomaticBackupStartTime": "string",
;         "DeploymentType": "string",
;         "DiskIopsConfiguration": {
;           "Iops": number,
;           "Mode": "string"
;         },
;         "EndpointIpAddressRange": "string",
;         "Endpoints": {
;           "Intercluster": {
;             "DNSName": "string",
;             "IpAddresses": [
;               "string"
;             ]
;           },
;           "Management": {
;             "DNSName": "string",
;             "IpAddresses": [
;               "string"
;             ]
;           }
;         },
;         "PreferredSubnetId": "string",
;         "RouteTableIds": [
;           "string"
;         ],
;         "ThroughputCapacity": number,
;         "WeeklyMaintenanceStartTime": "string"
;       },
;       "OpenZFSConfiguration": {
;         "AutomaticBackupRetentionDays": number,
;         "CopyTagsToBackups": boolean,
;         "CopyTagsToVolumes": boolean,
;         "DailyAutomaticBackupStartTime": "string",
;         "DeploymentType": "string",
;         "DiskIopsConfiguration": {
;           "Iops": number,
;           "Mode": "string"
;         },
;         "RootVolumeId": "string",
;         "ThroughputCapacity": number,
;         "WeeklyMaintenanceStartTime": "string"
;       },
;       "OwnerId": "string",
;       "ResourceARN": "string",
;       "StorageCapacity": number,
;       "StorageType": "string",
;       "SubnetIds": [
;         "string"
;       ],
;       "Tags": [
;         {
;           "Key": "string",
;           "Value": "string"
;         }
;       ],
;       "VpcId": "string",
;       "WindowsConfiguration": {
;         "ActiveDirectoryId": "string",
;         "Aliases": [
;           {
;             "Lifecycle": "string",
;             "Name": "string"
;           }
;         ],
;         "AuditLogConfiguration": {
;           "AuditLogDestination": "string",
;           "FileAccessAuditLogLevel": "string",
;           "FileShareAccessAuditLogLevel": "string"
;         },
;         "AutomaticBackupRetentionDays": number,
;         "CopyTagsToBackups": boolean,
;         "DailyAutomaticBackupStartTime": "string",
;         "DeploymentType": "string",
;         "MaintenanceOperationsInProgress": [
;           "string"
;         ],
;         "PreferredFileServerIp": "string",
;         "PreferredSubnetId": "string",
;         "RemoteAdministrationEndpoint": "string",
;         "SelfManagedActiveDirectoryConfiguration": {
;           "DnsIps": [
;             "string"
;           ],
;           "DomainName": "string",
;           "FileSystemAdministratorsGroup": "string",
;           "OrganizationalUnitDistinguishedName": "string",
;           "UserName": "string"
;         },
;         "ThroughputCapacity": number,
;         "WeeklyMaintenanceStartTime": "string"
;       }
;     }
;   ],
;   "NextToken": "string"
; }