Chilkat Online Tools

UpdateSnapshot 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("ClientRequestToken","string")
$oJson.UpdateString("Name","string")
$oJson.UpdateString("SnapshotId","string")

; The JSON request body created by the above code:

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

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

$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 $sAdministrativeActionType
Local $sFailureDetailsMessage
Local $iProgressPercent
Local $iRequestTime
Local $sStatus
Local $iTargetFileSystemValuesCreationTime
Local $sDNSName
Local $sFileSystemId
Local $sFileSystemType
Local $sFileSystemTypeVersion
Local $sKmsKeyId
Local $sTargetFileSystemValuesLifecycle
Local $iAutomaticBackupRetentionDays
Local $iCopyTagsToBackups
Local $sDailyAutomaticBackupStartTime
Local $sDataCompressionType
Local $sAutoImportPolicy
Local $sExportPath
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 $sTargetFileSystemValuesResourceARN
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 $sTargetSnapshotValues
Local $iTargetVolumeValuesCreationTime
Local $sTargetVolumeValuesFileSystemId
Local $sTargetVolumeValuesLifecycle
Local $sLifecycleTransitionReasonMessage
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 $iJ
Local $iCount_j
Local $strVal
Local $sKey
Local $sValue
Local $iK
Local $iCount_k
Local $sClients
Local $oJson1
Local $i1
Local $iCount_i1
Local $iId
Local $sV_Type

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

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

            $iK = $iK + 1
        Wend
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $iId = $oJResp.IntOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Id")
        $iStorageCapacityQuotaGiB = $oJResp.IntOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].StorageCapacityQuotaGiB")
        $sV_Type = $oJResp.StringOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Type")
        $iJ = $iJ + 1
    Wend
    $iJ = 0
    $iCount_j = $oJResp.SizeOfArray("Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags")
    While $iJ < $iCount_j
        $oJResp.J = $iJ
        $sKey = $oJResp.StringOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags[j].Key")
        $sValue = $oJResp.StringOf("Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags[j].Value")
        $iJ = $iJ + 1
    Wend
    $i = $i + 1
Wend
$i = 0
$iCount_i = $oJResp.SizeOfArray("Snapshot.Tags")
While $i < $iCount_i
    $oJResp.I = $i
    $sKey = $oJResp.StringOf("Snapshot.Tags[i].Key")
    $sValue = $oJResp.StringOf("Snapshot.Tags[i].Value")
    $i = $i + 1
Wend

; 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"
;   }
; }