Chilkat Online Tools

UpdateSnapshot 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("SnapshotId","string")

' The JSON request body created by the above code:

' {
'   "ClientRequestToken": "string",
'   "Name": "string",
'   "SnapshotId": "string"
' }

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

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 FileSystemId 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 DataCompressionType 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 TargetSnapshotValues As String
Dim TargetVolumeValuesCreationTime As Long
Dim TargetVolumeValuesFileSystemId As String
Dim TargetVolumeValuesLifecycle As String
Dim LifecycleTransitionReasonMessage As String
Dim TargetVolumeValuesName As String
Dim FlexCacheEndpointType As String
Dim JunctionPath As String
Dim OntapVolumeType As String
Dim SecurityStyle As String
Dim SizeInMegabytes As Long
Dim StorageEfficiencyEnabled As Long
Dim StorageVirtualMachineId As String
Dim StorageVirtualMachineRoot As Long
Dim CoolingPeriod As Long
Dim TieringPolicyName As String
Dim UUID As String
Dim CopyTagsToSnapshots As Long
Dim OpenZFSConfigurationDataCompressionType As String
Dim CopyStrategy As String
Dim SnapshotARN As String
Dim ParentVolumeId As String
Dim ReadOnly As Long
Dim RecordSizeKiB As Long
Dim StorageCapacityQuotaGiB As Long
Dim StorageCapacityReservationGiB As Long
Dim VolumePath As String
Dim TargetVolumeValuesResourceARN As String
Dim TargetVolumeValuesVolumeId As String
Dim VolumeType As String
Dim j As Long
Dim count_j As Long
Dim strVal As String
Dim Key As String
Dim Value As String
Dim k As Long
Dim count_k As Long
Dim Clients As String
Dim json1 As ChilkatJsonObject
Dim i1 As Long
Dim count_i1 As Long
Dim Id As Long
Dim v_Type As String

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

            Set json1 = jResp.ObjectOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations[k]")
            i1 = 0
            count_i1 = json1.SizeOfArray("Options")
            Do While i1 < count_i1
                json1.I = i1
                strVal = json1.StringOf("Options[i]")
                i1 = i1 + 1
            Loop

            k = k + 1
        Loop
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas")
    Do While j < count_j
        jResp.J = j
        Id = jResp.IntOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Id")
        StorageCapacityQuotaGiB = jResp.IntOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].StorageCapacityQuotaGiB")
        v_Type = jResp.StringOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Type")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags")
    Do While j < count_j
        jResp.J = j
        Key = jResp.StringOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags[j].Key")
        Value = jResp.StringOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags[j].Value")
        j = j + 1
    Loop
    i = i + 1
Loop
i = 0
count_i = jResp.SizeOfArray("Snapshot.Tags")
Do While i < count_i
    jResp.I = i
    Key = jResp.StringOf("Snapshot.Tags[i].Key")
    Value = jResp.StringOf("Snapshot.Tags[i].Value")
    i = i + 1
Loop

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

' {
'   "Snapshot": {
'     "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": "Snapshot",
'         "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,
'     "Lifecycle": "string",
'     "LifecycleTransitionReason": {
'       "Message": "string"
'     },
'     "Name": "string",
'     "ResourceARN": "string",
'     "SnapshotId": "string",
'     "Tags": [
'       {
'         "Key": "string",
'         "Value": "string"
'       }
'     ],
'     "VolumeId": "string"
'   }
' }