Chilkat Online Tools

UpdateVolume VB6 Example

Amazon FSx

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

Dim rest As New ChilkatRest
Dim success As Long

Dim authAws As New ChilkatAuthAws
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.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.)
authAws.Region = "us-west-2"
authAws.ServiceName = "fsx"
' SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
success = rest.SetAuthAws(authAws)

' URL: https://fsx.us-west-2.amazonaws.com/
' Use the same region as specified above.
success = rest.Connect("fsx.us-west-2.amazonaws.com",443,1,1)
If (success <> 1) Then
    Debug.Print "ConnectFailReason: " & rest.ConnectFailReason
    Debug.Print rest.LastErrorText
    Exit Sub
End If

' 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

Dim json As New ChilkatJsonObject
success = json.UpdateString("ClientRequestToken","string")
success = json.UpdateString("Name","string")
success = json.UpdateString("OntapConfiguration.JunctionPath","string")
success = json.UpdateString("OntapConfiguration.SecurityStyle","string")
success = json.UpdateInt("OntapConfiguration.SizeInMegabytes",123)
success = json.UpdateInt("OntapConfiguration.StorageEfficiencyEnabled",123)
success = json.UpdateInt("OntapConfiguration.TieringPolicy.CoolingPeriod",123)
success = json.UpdateString("OntapConfiguration.TieringPolicy.Name","string")
success = json.UpdateString("OpenZFSConfiguration.DataCompressionType","string")
success = json.UpdateString("OpenZFSConfiguration.NfsExports[0].ClientConfigurations[0].Clients","string")
success = json.UpdateString("OpenZFSConfiguration.NfsExports[0].ClientConfigurations[0].Options[0]","string")
success = json.UpdateInt("OpenZFSConfiguration.ReadOnly",123)
success = json.UpdateInt("OpenZFSConfiguration.RecordSizeKiB",123)
success = json.UpdateInt("OpenZFSConfiguration.StorageCapacityQuotaGiB",123)
success = json.UpdateInt("OpenZFSConfiguration.StorageCapacityReservationGiB",123)
success = json.UpdateInt("OpenZFSConfiguration.UserAndGroupQuotas[0].Id",123)
success = json.UpdateInt("OpenZFSConfiguration.UserAndGroupQuotas[0].StorageCapacityQuotaGiB",123)
success = json.UpdateString("OpenZFSConfiguration.UserAndGroupQuotas[0].Type","string")
success = json.UpdateString("VolumeId","string")

' The JSON request body created by the above code:

' {
'   "ClientRequestToken": "string",
'   "Name": "string",
'   "OntapConfiguration": {
'     "JunctionPath": "string",
'     "SecurityStyle": "string",
'     "SizeInMegabytes": number,
'     "StorageEfficiencyEnabled": boolean,
'     "TieringPolicy": {
'       "CoolingPeriod": number,
'       "Name": "string"
'     }
'   },
'   "OpenZFSConfiguration": {
'     "DataCompressionType": "string",
'     "NfsExports": [
'       {
'         "ClientConfigurations": [
'           {
'             "Clients": "string",
'             "Options": [
'               "string"
'             ]
'           }
'         ]
'       }
'     ],
'     "ReadOnly": boolean,
'     "RecordSizeKiB": number,
'     "StorageCapacityQuotaGiB": number,
'     "StorageCapacityReservationGiB": number,
'     "UserAndGroupQuotas": [
'       {
'         "Id": number,
'         "StorageCapacityQuotaGiB": number,
'         "Type": "string"
'       }
'     ]
'   },
'   "VolumeId": "string"
' }

success = rest.AddHeader("Content-Type","application/x-amz-json-1.1")
success = rest.AddHeader("X-Amz-Target","AWSSimbaAPIService_v20180301.UpdateVolume")

Dim sbRequestBody As New ChilkatStringBuilder
success = json.EmitSb(sbRequestBody)
Dim sbResponseBody As New ChilkatStringBuilder
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

Dim respStatusCode As Long
respStatusCode = rest.ResponseStatusCode
Debug.Print "response status code = " & respStatusCode
If (respStatusCode <> 200) Then
    Debug.Print "Response Header:"
    Debug.Print rest.ResponseHeader
    Debug.Print "Response Body:"
    Debug.Print sbResponseBody.GetAsString()
    Exit Sub
End If

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)

' 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

Dim AdministrativeActionType As String
Dim FailureDetailsMessage As String
Dim ProgressPercent As Long
Dim RequestTime As Long
Dim Status As String
Dim TargetFileSystemValuesCreationTime As Long
Dim DNSName As String
Dim TargetFileSystemValuesFileSystemId As String
Dim FileSystemType As String
Dim FileSystemTypeVersion As String
Dim KmsKeyId As String
Dim TargetFileSystemValuesLifecycle As String
Dim AutomaticBackupRetentionDays As Long
Dim CopyTagsToBackups As Long
Dim DailyAutomaticBackupStartTime As String
Dim LustreConfigurationDataCompressionType As String
Dim AutoImportPolicy As String
Dim ExportPath As String
Dim ImportedFileChunkSize As Long
Dim ImportPath As String
Dim DataRepositoryConfigurationLifecycle As String
Dim DeploymentType As String
Dim DriveCacheType As String
Dim Destination As String
Dim Level As String
Dim MountName As String
Dim PerUnitStorageThroughput As Long
Dim WeeklyMaintenanceStartTime As String
Dim OntapConfigurationAutomaticBackupRetentionDays As Long
Dim OntapConfigurationDailyAutomaticBackupStartTime As String
Dim OntapConfigurationDeploymentType As String
Dim Iops As Long
Dim Mode As String
Dim EndpointIpAddressRange As String
Dim InterclusterDNSName As String
Dim ManagementDNSName As String
Dim PreferredSubnetId As String
Dim ThroughputCapacity As Long
Dim OntapConfigurationWeeklyMaintenanceStartTime As String
Dim OpenZFSConfigurationAutomaticBackupRetentionDays As Long
Dim OpenZFSConfigurationCopyTagsToBackups As Long
Dim CopyTagsToVolumes As Long
Dim OpenZFSConfigurationDailyAutomaticBackupStartTime As String
Dim OpenZFSConfigurationDeploymentType As String
Dim DiskIopsConfigurationIops As Long
Dim DiskIopsConfigurationMode As String
Dim RootVolumeId As String
Dim OpenZFSConfigurationThroughputCapacity As Long
Dim OpenZFSConfigurationWeeklyMaintenanceStartTime As String
Dim OwnerId As String
Dim TargetFileSystemValuesResourceARN As String
Dim StorageCapacity As Long
Dim StorageType As String
Dim VpcId As String
Dim ActiveDirectoryId As String
Dim AuditLogDestination As String
Dim FileAccessAuditLogLevel As String
Dim FileShareAccessAuditLogLevel As String
Dim WindowsConfigurationAutomaticBackupRetentionDays As Long
Dim WindowsConfigurationCopyTagsToBackups As Long
Dim WindowsConfigurationDailyAutomaticBackupStartTime As String
Dim WindowsConfigurationDeploymentType As String
Dim PreferredFileServerIp As String
Dim WindowsConfigurationPreferredSubnetId As String
Dim RemoteAdministrationEndpoint As String
Dim DomainName As String
Dim FileSystemAdministratorsGroup As String
Dim OrganizationalUnitDistinguishedName As String
Dim UserName As String
Dim WindowsConfigurationThroughputCapacity As Long
Dim WindowsConfigurationWeeklyMaintenanceStartTime As String
Dim TargetSnapshotValuesCreationTime As Long
Dim TargetSnapshotValuesLifecycle As String
Dim LifecycleTransitionReasonMessage As String
Dim TargetSnapshotValuesName As String
Dim TargetSnapshotValuesResourceARN As String
Dim SnapshotId As String
Dim TargetSnapshotValuesVolumeId As String
Dim TargetVolumeValues As String
Dim j As Long
Dim count_j As Long
Dim strVal As String
Dim Key As String
Dim Value As String
Dim Clients As String
Dim k As Long
Dim count_k As Long
Dim Id As Long
Dim v_Type As String

Dim CreationTime As Long
CreationTime = jResp.IntOf("Volume.CreationTime")
Dim FileSystemId As String
FileSystemId = jResp.StringOf("Volume.FileSystemId")
Dim Lifecycle As String
Lifecycle = jResp.StringOf("Volume.Lifecycle")
Dim Message As String
Message = jResp.StringOf("Volume.LifecycleTransitionReason.Message")
Dim Name As String
Name = jResp.StringOf("Volume.Name")
Dim FlexCacheEndpointType As String
FlexCacheEndpointType = jResp.StringOf("Volume.OntapConfiguration.FlexCacheEndpointType")
Dim JunctionPath As String
JunctionPath = jResp.StringOf("Volume.OntapConfiguration.JunctionPath")
Dim OntapVolumeType As String
OntapVolumeType = jResp.StringOf("Volume.OntapConfiguration.OntapVolumeType")
Dim SecurityStyle As String
SecurityStyle = jResp.StringOf("Volume.OntapConfiguration.SecurityStyle")
Dim SizeInMegabytes As Long
SizeInMegabytes = jResp.IntOf("Volume.OntapConfiguration.SizeInMegabytes")
Dim StorageEfficiencyEnabled As Long
StorageEfficiencyEnabled = jResp.IntOf("Volume.OntapConfiguration.StorageEfficiencyEnabled")
Dim StorageVirtualMachineId As String
StorageVirtualMachineId = jResp.StringOf("Volume.OntapConfiguration.StorageVirtualMachineId")
Dim StorageVirtualMachineRoot As Long
StorageVirtualMachineRoot = jResp.IntOf("Volume.OntapConfiguration.StorageVirtualMachineRoot")
Dim CoolingPeriod As Long
CoolingPeriod = jResp.IntOf("Volume.OntapConfiguration.TieringPolicy.CoolingPeriod")
Dim TieringPolicyName As String
TieringPolicyName = jResp.StringOf("Volume.OntapConfiguration.TieringPolicy.Name")
Dim UUID As String
UUID = jResp.StringOf("Volume.OntapConfiguration.UUID")
Dim CopyTagsToSnapshots As Long
CopyTagsToSnapshots = jResp.IntOf("Volume.OpenZFSConfiguration.CopyTagsToSnapshots")
Dim DataCompressionType As String
DataCompressionType = jResp.StringOf("Volume.OpenZFSConfiguration.DataCompressionType")
Dim CopyStrategy As String
CopyStrategy = jResp.StringOf("Volume.OpenZFSConfiguration.OriginSnapshot.CopyStrategy")
Dim SnapshotARN As String
SnapshotARN = jResp.StringOf("Volume.OpenZFSConfiguration.OriginSnapshot.SnapshotARN")
Dim ParentVolumeId As String
ParentVolumeId = jResp.StringOf("Volume.OpenZFSConfiguration.ParentVolumeId")
Dim ReadOnly As Long
ReadOnly = jResp.IntOf("Volume.OpenZFSConfiguration.ReadOnly")
Dim RecordSizeKiB As Long
RecordSizeKiB = jResp.IntOf("Volume.OpenZFSConfiguration.RecordSizeKiB")
Dim StorageCapacityQuotaGiB As Long
StorageCapacityQuotaGiB = jResp.IntOf("Volume.OpenZFSConfiguration.StorageCapacityQuotaGiB")
Dim StorageCapacityReservationGiB As Long
StorageCapacityReservationGiB = jResp.IntOf("Volume.OpenZFSConfiguration.StorageCapacityReservationGiB")
Dim VolumePath As String
VolumePath = jResp.StringOf("Volume.OpenZFSConfiguration.VolumePath")
Dim ResourceARN As String
ResourceARN = jResp.StringOf("Volume.ResourceARN")
Dim VolumeId As String
VolumeId = jResp.StringOf("Volume.VolumeId")
Dim VolumeType As String
VolumeType = jResp.StringOf("Volume.VolumeType")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("Volume.AdministrativeActions")
Do While i < count_i
    jResp.I = i
    AdministrativeActionType = jResp.StringOf("Volume.AdministrativeActions[i].AdministrativeActionType")
    FailureDetailsMessage = jResp.StringOf("Volume.AdministrativeActions[i].FailureDetails.Message")
    ProgressPercent = jResp.IntOf("Volume.AdministrativeActions[i].ProgressPercent")
    RequestTime = jResp.IntOf("Volume.AdministrativeActions[i].RequestTime")
    Status = jResp.StringOf("Volume.AdministrativeActions[i].Status")
    TargetFileSystemValuesCreationTime = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.CreationTime")
    DNSName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.DNSName")
    FailureDetailsMessage = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.FailureDetails.Message")
    TargetFileSystemValuesFileSystemId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.FileSystemId")
    FileSystemType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.FileSystemType")
    FileSystemTypeVersion = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.FileSystemTypeVersion")
    KmsKeyId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.KmsKeyId")
    TargetFileSystemValuesLifecycle = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.Lifecycle")
    AutomaticBackupRetentionDays = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.AutomaticBackupRetentionDays")
    CopyTagsToBackups = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.CopyTagsToBackups")
    DailyAutomaticBackupStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DailyAutomaticBackupStartTime")
    LustreConfigurationDataCompressionType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataCompressionType")
    AutoImportPolicy = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.AutoImportPolicy")
    ExportPath = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.ExportPath")
    FailureDetailsMessage = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.FailureDetails.Message")
    ImportedFileChunkSize = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.ImportedFileChunkSize")
    ImportPath = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.ImportPath")
    DataRepositoryConfigurationLifecycle = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.Lifecycle")
    DeploymentType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DeploymentType")
    DriveCacheType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DriveCacheType")
    Destination = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.LogConfiguration.Destination")
    Level = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.LogConfiguration.Level")
    MountName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.MountName")
    PerUnitStorageThroughput = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.PerUnitStorageThroughput")
    WeeklyMaintenanceStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.WeeklyMaintenanceStartTime")
    OntapConfigurationAutomaticBackupRetentionDays = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.AutomaticBackupRetentionDays")
    OntapConfigurationDailyAutomaticBackupStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DailyAutomaticBackupStartTime")
    OntapConfigurationDeploymentType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DeploymentType")
    Iops = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DiskIopsConfiguration.Iops")
    Mode = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DiskIopsConfiguration.Mode")
    EndpointIpAddressRange = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.EndpointIpAddressRange")
    InterclusterDNSName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Intercluster.DNSName")
    ManagementDNSName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Management.DNSName")
    PreferredSubnetId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.PreferredSubnetId")
    ThroughputCapacity = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.ThroughputCapacity")
    OntapConfigurationWeeklyMaintenanceStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.WeeklyMaintenanceStartTime")
    OpenZFSConfigurationAutomaticBackupRetentionDays = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.AutomaticBackupRetentionDays")
    OpenZFSConfigurationCopyTagsToBackups = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.CopyTagsToBackups")
    CopyTagsToVolumes = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.CopyTagsToVolumes")
    OpenZFSConfigurationDailyAutomaticBackupStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DailyAutomaticBackupStartTime")
    OpenZFSConfigurationDeploymentType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DeploymentType")
    DiskIopsConfigurationIops = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DiskIopsConfiguration.Iops")
    DiskIopsConfigurationMode = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DiskIopsConfiguration.Mode")
    RootVolumeId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.RootVolumeId")
    OpenZFSConfigurationThroughputCapacity = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.ThroughputCapacity")
    OpenZFSConfigurationWeeklyMaintenanceStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.WeeklyMaintenanceStartTime")
    OwnerId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OwnerId")
    TargetFileSystemValuesResourceARN = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.ResourceARN")
    StorageCapacity = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.StorageCapacity")
    StorageType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.StorageType")
    VpcId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.VpcId")
    ActiveDirectoryId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.ActiveDirectoryId")
    AuditLogDestination = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AuditLogConfiguration.AuditLogDestination")
    FileAccessAuditLogLevel = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AuditLogConfiguration.FileAccessAuditLogLevel")
    FileShareAccessAuditLogLevel = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AuditLogConfiguration.FileShareAccessAuditLogLevel")
    WindowsConfigurationAutomaticBackupRetentionDays = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AutomaticBackupRetentionDays")
    WindowsConfigurationCopyTagsToBackups = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.CopyTagsToBackups")
    WindowsConfigurationDailyAutomaticBackupStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.DailyAutomaticBackupStartTime")
    WindowsConfigurationDeploymentType = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.DeploymentType")
    PreferredFileServerIp = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.PreferredFileServerIp")
    WindowsConfigurationPreferredSubnetId = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.PreferredSubnetId")
    RemoteAdministrationEndpoint = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.RemoteAdministrationEndpoint")
    DomainName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DomainName")
    FileSystemAdministratorsGroup = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.FileSystemAdministratorsGroup")
    OrganizationalUnitDistinguishedName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.OrganizationalUnitDistinguishedName")
    UserName = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.UserName")
    WindowsConfigurationThroughputCapacity = jResp.IntOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.ThroughputCapacity")
    WindowsConfigurationWeeklyMaintenanceStartTime = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.WeeklyMaintenanceStartTime")
    TargetSnapshotValuesCreationTime = jResp.IntOf("Volume.AdministrativeActions[i].TargetSnapshotValues.CreationTime")
    TargetSnapshotValuesLifecycle = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.Lifecycle")
    LifecycleTransitionReasonMessage = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.LifecycleTransitionReason.Message")
    TargetSnapshotValuesName = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.Name")
    TargetSnapshotValuesResourceARN = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.ResourceARN")
    SnapshotId = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.SnapshotId")
    TargetSnapshotValuesVolumeId = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.VolumeId")
    TargetVolumeValues = jResp.StringOf("Volume.AdministrativeActions[i].TargetVolumeValues")
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.AdministrativeActions")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.AdministrativeActions[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.NetworkInterfaceIds")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.NetworkInterfaceIds[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Intercluster.IpAddresses")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Intercluster.IpAddresses[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Management.IpAddresses")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Management.IpAddresses[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.RouteTableIds")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.RouteTableIds[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.SubnetIds")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.SubnetIds[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.Tags")
    Do While j < count_j
        jResp.J = j
        Key = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.Tags[j].Key")
        Value = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.Tags[j].Value")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.Aliases")
    Do While j < count_j
        jResp.J = j
        Lifecycle = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.Aliases[j].Lifecycle")
        Name = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.Aliases[j].Name")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.MaintenanceOperationsInProgress")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.MaintenanceOperationsInProgress[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetSnapshotValues.AdministrativeActions")
    Do While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.AdministrativeActions[j]")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Volume.AdministrativeActions[i].TargetSnapshotValues.Tags")
    Do While j < count_j
        jResp.J = j
        Key = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.Tags[j].Key")
        Value = jResp.StringOf("Volume.AdministrativeActions[i].TargetSnapshotValues.Tags[j].Value")
        j = j + 1
    Loop
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("Volume.OpenZFSConfiguration.NfsExports")
Do While i < count_i
    jResp.I = i
    j = 0
    count_j = jResp.SizeOfArray("Volume.OpenZFSConfiguration.NfsExports[i].ClientConfigurations")
    Do While j < count_j
        jResp.J = j
        Clients = jResp.StringOf("Volume.OpenZFSConfiguration.NfsExports[i].ClientConfigurations[j].Clients")
        k = 0
        count_k = jResp.SizeOfArray("Volume.OpenZFSConfiguration.NfsExports[i].ClientConfigurations[j].Options")
        Do While k < count_k
            jResp.K = k
            strVal = jResp.StringOf("Volume.OpenZFSConfiguration.NfsExports[i].ClientConfigurations[j].Options[k]")
            k = k + 1
        Loop
        j = j + 1
    Loop
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("Volume.OpenZFSConfiguration.UserAndGroupQuotas")
Do While i < count_i
    jResp.I = i
    Id = jResp.IntOf("Volume.OpenZFSConfiguration.UserAndGroupQuotas[i].Id")
    StorageCapacityQuotaGiB = jResp.IntOf("Volume.OpenZFSConfiguration.UserAndGroupQuotas[i].StorageCapacityQuotaGiB")
    v_Type = jResp.StringOf("Volume.OpenZFSConfiguration.UserAndGroupQuotas[i].Type")
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("Volume.Tags")
Do While i < count_i
    jResp.I = i
    Key = jResp.StringOf("Volume.Tags[i].Key")
    Value = jResp.StringOf("Volume.Tags[i].Value")
    i = i + 1
Loop

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

' {
'   "Volume": {
'     "AdministrativeActions": [
'       {
'         "AdministrativeActionType": "string",
'         "FailureDetails": {
'           "Message": "string"
'         },
'         "ProgressPercent": number,
'         "RequestTime": number,
'         "Status": "string",
'         "TargetFileSystemValues": {
'           "AdministrativeActions": [
'             "AdministrativeAction"
'           ],
'           "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"
'           }
'         },
'         "TargetSnapshotValues": {
'           "AdministrativeActions": [
'             "AdministrativeAction"
'           ],
'           "CreationTime": number,
'           "Lifecycle": "string",
'           "LifecycleTransitionReason": {
'             "Message": "string"
'           },
'           "Name": "string",
'           "ResourceARN": "string",
'           "SnapshotId": "string",
'           "Tags": [
'             {
'               "Key": "string",
'               "Value": "string"
'             }
'           ],
'           "VolumeId": "string"
'         },
'         "TargetVolumeValues": "Volume"
'       }
'     ],
'     "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"
'   }
' }