Chilkat Online Tools

DescribeSnapshots SQL Server Example

Amazon FSx

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    DECLARE @sTmp0 nvarchar(max)
    -- This example requires the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @rest int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    DECLARE @authAws int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.AuthAws', @authAws OUT

    EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY'
    EXEC sp_OASetProperty @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.)
    EXEC sp_OASetProperty @authAws, 'Region', 'us-west-2'
    EXEC sp_OASetProperty @authAws, 'ServiceName', 'fsx'
    -- SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, @authAws

    -- URL: https://fsx.us-west-2.amazonaws.com/
    -- Use the same region as specified above.
    EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'fsx.us-west-2.amazonaws.com', 443, 1, 1
    IF @success <> 1
      BEGIN

        EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT
        PRINT 'ConnectFailReason: ' + @iTmp0
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        RETURN
      END

    -- 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

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @json OUT

    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'Filters[0].Name', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'Filters[0].Values[0]', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'MaxResults', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'NextToken', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SnapshotIds[0]', 'string'

    -- The JSON request body created by the above code:

    -- {
    --   "Filters": [
    --     {
    --       "Name": "string",
    --       "Values": [
    --         "string"
    --       ]
    --     }
    --   ],
    --   "MaxResults": number,
    --   "NextToken": "string",
    --   "SnapshotIds": [
    --     "string"
    --   ]
    -- }

    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/x-amz-json-1.1'
    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'X-Amz-Target', 'AWSSimbaAPIService_v20180301.DescribeSnapshots'

    DECLARE @sbRequestBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbRequestBody OUT

    EXEC sp_OAMethod @json, 'EmitSb', @success OUT, @sbRequestBody
    DECLARE @sbResponseBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT

    EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/', @sbRequestBody, @sbResponseBody
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END
    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT

    PRINT 'response status code = ' + @respStatusCode
    IF @respStatusCode <> 200
      BEGIN

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Response Body:'
        EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END

    DECLARE @jResp int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @jResp OUT

    EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @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

    DECLARE @CreationTime int

    DECLARE @Lifecycle nvarchar(max)

    DECLARE @Message nvarchar(max)

    DECLARE @Name nvarchar(max)

    DECLARE @ResourceARN nvarchar(max)

    DECLARE @SnapshotId nvarchar(max)

    DECLARE @VolumeId nvarchar(max)

    DECLARE @j int

    DECLARE @count_j int

    DECLARE @AdministrativeActionType nvarchar(max)

    DECLARE @FailureDetailsMessage nvarchar(max)

    DECLARE @ProgressPercent int

    DECLARE @RequestTime int

    DECLARE @Status nvarchar(max)

    DECLARE @TargetFileSystemValuesCreationTime int

    DECLARE @DNSName nvarchar(max)

    DECLARE @FileSystemId nvarchar(max)

    DECLARE @FileSystemType nvarchar(max)

    DECLARE @FileSystemTypeVersion nvarchar(max)

    DECLARE @KmsKeyId nvarchar(max)

    DECLARE @TargetFileSystemValuesLifecycle nvarchar(max)

    DECLARE @AutomaticBackupRetentionDays int

    DECLARE @CopyTagsToBackups int

    DECLARE @DailyAutomaticBackupStartTime nvarchar(max)

    DECLARE @DataCompressionType nvarchar(max)

    DECLARE @AutoImportPolicy nvarchar(max)

    DECLARE @ExportPath nvarchar(max)

    DECLARE @ImportedFileChunkSize int

    DECLARE @ImportPath nvarchar(max)

    DECLARE @DataRepositoryConfigurationLifecycle nvarchar(max)

    DECLARE @DeploymentType nvarchar(max)

    DECLARE @DriveCacheType nvarchar(max)

    DECLARE @Destination nvarchar(max)

    DECLARE @Level nvarchar(max)

    DECLARE @MountName nvarchar(max)

    DECLARE @PerUnitStorageThroughput int

    DECLARE @WeeklyMaintenanceStartTime nvarchar(max)

    DECLARE @OntapConfigurationAutomaticBackupRetentionDays int

    DECLARE @OntapConfigurationDailyAutomaticBackupStartTime nvarchar(max)

    DECLARE @OntapConfigurationDeploymentType nvarchar(max)

    DECLARE @Iops int

    DECLARE @Mode nvarchar(max)

    DECLARE @EndpointIpAddressRange nvarchar(max)

    DECLARE @InterclusterDNSName nvarchar(max)

    DECLARE @ManagementDNSName nvarchar(max)

    DECLARE @PreferredSubnetId nvarchar(max)

    DECLARE @ThroughputCapacity int

    DECLARE @OntapConfigurationWeeklyMaintenanceStartTime nvarchar(max)

    DECLARE @OpenZFSConfigurationAutomaticBackupRetentionDays int

    DECLARE @OpenZFSConfigurationCopyTagsToBackups int

    DECLARE @CopyTagsToVolumes int

    DECLARE @OpenZFSConfigurationDailyAutomaticBackupStartTime nvarchar(max)

    DECLARE @OpenZFSConfigurationDeploymentType nvarchar(max)

    DECLARE @DiskIopsConfigurationIops int

    DECLARE @DiskIopsConfigurationMode nvarchar(max)

    DECLARE @RootVolumeId nvarchar(max)

    DECLARE @OpenZFSConfigurationThroughputCapacity int

    DECLARE @OpenZFSConfigurationWeeklyMaintenanceStartTime nvarchar(max)

    DECLARE @OwnerId nvarchar(max)

    DECLARE @TargetFileSystemValuesResourceARN nvarchar(max)

    DECLARE @StorageCapacity int

    DECLARE @StorageType nvarchar(max)

    DECLARE @VpcId nvarchar(max)

    DECLARE @ActiveDirectoryId nvarchar(max)

    DECLARE @AuditLogDestination nvarchar(max)

    DECLARE @FileAccessAuditLogLevel nvarchar(max)

    DECLARE @FileShareAccessAuditLogLevel nvarchar(max)

    DECLARE @WindowsConfigurationAutomaticBackupRetentionDays int

    DECLARE @WindowsConfigurationCopyTagsToBackups int

    DECLARE @WindowsConfigurationDailyAutomaticBackupStartTime nvarchar(max)

    DECLARE @WindowsConfigurationDeploymentType nvarchar(max)

    DECLARE @PreferredFileServerIp nvarchar(max)

    DECLARE @WindowsConfigurationPreferredSubnetId nvarchar(max)

    DECLARE @RemoteAdministrationEndpoint nvarchar(max)

    DECLARE @DomainName nvarchar(max)

    DECLARE @FileSystemAdministratorsGroup nvarchar(max)

    DECLARE @OrganizationalUnitDistinguishedName nvarchar(max)

    DECLARE @UserName nvarchar(max)

    DECLARE @WindowsConfigurationThroughputCapacity int

    DECLARE @WindowsConfigurationWeeklyMaintenanceStartTime nvarchar(max)

    DECLARE @TargetSnapshotValues nvarchar(max)

    DECLARE @TargetVolumeValuesCreationTime int

    DECLARE @TargetVolumeValuesFileSystemId nvarchar(max)

    DECLARE @TargetVolumeValuesLifecycle nvarchar(max)

    DECLARE @LifecycleTransitionReasonMessage nvarchar(max)

    DECLARE @TargetVolumeValuesName nvarchar(max)

    DECLARE @FlexCacheEndpointType nvarchar(max)

    DECLARE @JunctionPath nvarchar(max)

    DECLARE @OntapVolumeType nvarchar(max)

    DECLARE @SecurityStyle nvarchar(max)

    DECLARE @SizeInMegabytes int

    DECLARE @StorageEfficiencyEnabled int

    DECLARE @StorageVirtualMachineId nvarchar(max)

    DECLARE @StorageVirtualMachineRoot int

    DECLARE @CoolingPeriod int

    DECLARE @TieringPolicyName nvarchar(max)

    DECLARE @UUID nvarchar(max)

    DECLARE @CopyTagsToSnapshots int

    DECLARE @OpenZFSConfigurationDataCompressionType nvarchar(max)

    DECLARE @CopyStrategy nvarchar(max)

    DECLARE @SnapshotARN nvarchar(max)

    DECLARE @ParentVolumeId nvarchar(max)

    DECLARE @ReadOnly int

    DECLARE @RecordSizeKiB int

    DECLARE @StorageCapacityQuotaGiB int

    DECLARE @StorageCapacityReservationGiB int

    DECLARE @VolumePath nvarchar(max)

    DECLARE @TargetVolumeValuesResourceARN nvarchar(max)

    DECLARE @TargetVolumeValuesVolumeId nvarchar(max)

    DECLARE @VolumeType nvarchar(max)

    DECLARE @k int

    DECLARE @count_k int

    DECLARE @strVal nvarchar(max)

    DECLARE @Key nvarchar(max)

    DECLARE @Value nvarchar(max)

    DECLARE @json1 int

    DECLARE @i1 int

    DECLARE @count_i1 int

    DECLARE @Clients nvarchar(max)

    DECLARE @j1 int

    DECLARE @count_j1 int

    DECLARE @Id int

    DECLARE @v_Type nvarchar(max)

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

                EXEC sp_OAMethod @jResp, 'ObjectOf', @json1 OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.NfsExports[k]'
                SELECT @i1 = 0
                EXEC sp_OAMethod @json1, 'SizeOfArray', @count_i1 OUT, 'ClientConfigurations'
                WHILE @i1 < @count_i1
                  BEGIN
                    EXEC sp_OASetProperty @json1, 'I', @i1
                    EXEC sp_OAMethod @json1, 'StringOf', @Clients OUT, 'ClientConfigurations[i].Clients'
                    SELECT @j1 = 0
                    EXEC sp_OAMethod @json1, 'SizeOfArray', @count_j1 OUT, 'ClientConfigurations[i].Options'
                    WHILE @j1 < @count_j1
                      BEGIN
                        EXEC sp_OASetProperty @json1, 'J', @j1
                        EXEC sp_OAMethod @json1, 'StringOf', @strVal OUT, 'ClientConfigurations[i].Options[j]'
                        SELECT @j1 = @j1 + 1
                      END
                    SELECT @i1 = @i1 + 1
                  END
                EXEC @hr = sp_OADestroy @json1

                SELECT @k = @k + 1
              END
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'IntOf', @Id OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[k].Id'
                EXEC sp_OAMethod @jResp, 'IntOf', @StorageCapacityQuotaGiB OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[k].StorageCapacityQuotaGiB'
                EXEC sp_OAMethod @jResp, 'StringOf', @v_Type OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[k].Type'
                SELECT @k = @k + 1
              END
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.Tags'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @Key OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.Tags[k].Key'
                EXEC sp_OAMethod @jResp, 'StringOf', @Value OUT, 'Snapshots[i].AdministrativeActions[j].TargetVolumeValues.Tags[k].Value'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'Snapshots[i].Tags'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @Key OUT, 'Snapshots[i].Tags[j].Key'
            EXEC sp_OAMethod @jResp, 'StringOf', @Value OUT, 'Snapshots[i].Tags[j].Value'
            SELECT @j = @j + 1
          END
        SELECT @i = @i + 1
      END

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

    -- {
    --   "NextToken": "string",
    --   "Snapshots": [
    --     {
    --       "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"
    --     }
    --   ]
    -- }

    EXEC @hr = sp_OADestroy @rest
    EXEC @hr = sp_OADestroy @authAws
    EXEC @hr = sp_OADestroy @json
    EXEC @hr = sp_OADestroy @sbRequestBody
    EXEC @hr = sp_OADestroy @sbResponseBody
    EXEC @hr = sp_OADestroy @jResp


END
GO