ReleaseFileSystemNfsV3Locks PureBasic Example
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
IncludeFile "CkAuthAws.pb"
Procedure ChilkatExample()
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
rest.i = CkRest::ckCreate()
If rest.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
authAws.i = CkAuthAws::ckCreate()
If authAws.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkAuthAws::setCkAccessKey(authAws, "AWS_ACCESS_KEY")
CkAuthAws::setCkSecretKey(authAws, "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.)
CkAuthAws::setCkRegion(authAws, "us-west-2")
CkAuthAws::setCkServiceName(authAws, "fsx")
; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
CkRest::ckSetAuthAws(rest,authAws)
; URL: https://fsx.us-west-2.amazonaws.com/
; Use the same region as specified above.
success = CkRest::ckConnect(rest,"fsx.us-west-2.amazonaws.com",443,1,1)
If success <> 1
Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
ProcedureReturn
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
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"ClientRequestToken","string")
CkJsonObject::ckUpdateString(json,"FileSystemId","string")
; The JSON request body created by the above code:
; {
; "ClientRequestToken": "string",
; "FileSystemId": "string"
; }
CkRest::ckAddHeader(rest,"Content-Type","application/x-amz-json-1.1")
CkRest::ckAddHeader(rest,"X-Amz-Target","AWSSimbaAPIService_v20180301.ReleaseFileSystemNfsV3Locks")
sbRequestBody.i = CkStringBuilder::ckCreate()
If sbRequestBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckEmitSb(json,sbRequestBody)
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkRest::ckFullRequestSb(rest,"POST","/",sbRequestBody,sbResponseBody)
If success <> 1
Debug CkRest::ckLastErrorText(rest)
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
respStatusCode.i = CkRest::ckResponseStatusCode(rest)
Debug "response status code = " + Str(respStatusCode)
If respStatusCode <> 200
Debug "Response Header:"
Debug CkRest::ckResponseHeader(rest)
Debug "Response Body:"
Debug CkStringBuilder::ckGetAsString(sbResponseBody)
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,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
AdministrativeActionType.s
ProgressPercent.i
RequestTime.i
Status.s
TargetFileSystemValues.s
TargetSnapshotValuesCreationTime.i
TargetSnapshotValuesLifecycle.s
LifecycleTransitionReasonMessage.s
Name.s
TargetSnapshotValuesResourceARN.s
SnapshotId.s
VolumeId.s
TargetVolumeValuesCreationTime.i
TargetVolumeValuesFileSystemId.s
TargetVolumeValuesLifecycle.s
TargetVolumeValuesName.s
FlexCacheEndpointType.s
JunctionPath.s
OntapVolumeType.s
SecurityStyle.s
SizeInMegabytes.i
StorageEfficiencyEnabled.i
StorageVirtualMachineId.s
StorageVirtualMachineRoot.i
CoolingPeriod.i
TieringPolicyName.s
UUID.s
CopyTagsToSnapshots.i
OpenZFSConfigurationDataCompressionType.s
CopyStrategy.s
SnapshotARN.s
ParentVolumeId.s
ReadOnly.i
RecordSizeKiB.i
StorageCapacityQuotaGiB.i
StorageCapacityReservationGiB.i
VolumePath.s
TargetVolumeValuesResourceARN.s
TargetVolumeValuesVolumeId.s
VolumeType.s
j.i
count_j.i
strVal.s
Key.s
Value.s
k.i
count_k.i
Clients.s
json1.i
i1.i
count_i1.i
Id.i
v_Type.s
CreationTime.i = CkJsonObject::ckIntOf(jResp,"FileSystem.CreationTime")
DNSName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.DNSName")
Message.s = CkJsonObject::ckStringOf(jResp,"FileSystem.FailureDetails.Message")
FileSystemId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.FileSystemId")
FileSystemType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.FileSystemType")
FileSystemTypeVersion.s = CkJsonObject::ckStringOf(jResp,"FileSystem.FileSystemTypeVersion")
KmsKeyId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.KmsKeyId")
Lifecycle.s = CkJsonObject::ckStringOf(jResp,"FileSystem.Lifecycle")
AutomaticBackupRetentionDays.i = CkJsonObject::ckIntOf(jResp,"FileSystem.LustreConfiguration.AutomaticBackupRetentionDays")
CopyTagsToBackups.i = CkJsonObject::ckIntOf(jResp,"FileSystem.LustreConfiguration.CopyTagsToBackups")
DailyAutomaticBackupStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DailyAutomaticBackupStartTime")
DataCompressionType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DataCompressionType")
AutoImportPolicy.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DataRepositoryConfiguration.AutoImportPolicy")
ExportPath.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DataRepositoryConfiguration.ExportPath")
FailureDetailsMessage.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DataRepositoryConfiguration.FailureDetails.Message")
ImportedFileChunkSize.i = CkJsonObject::ckIntOf(jResp,"FileSystem.LustreConfiguration.DataRepositoryConfiguration.ImportedFileChunkSize")
ImportPath.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DataRepositoryConfiguration.ImportPath")
DataRepositoryConfigurationLifecycle.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DataRepositoryConfiguration.Lifecycle")
DeploymentType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DeploymentType")
DriveCacheType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.DriveCacheType")
Destination.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.LogConfiguration.Destination")
Level.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.LogConfiguration.Level")
MountName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.MountName")
PerUnitStorageThroughput.i = CkJsonObject::ckIntOf(jResp,"FileSystem.LustreConfiguration.PerUnitStorageThroughput")
WeeklyMaintenanceStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.LustreConfiguration.WeeklyMaintenanceStartTime")
OntapConfigurationAutomaticBackupRetentionDays.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OntapConfiguration.AutomaticBackupRetentionDays")
OntapConfigurationDailyAutomaticBackupStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.DailyAutomaticBackupStartTime")
OntapConfigurationDeploymentType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.DeploymentType")
Iops.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OntapConfiguration.DiskIopsConfiguration.Iops")
Mode.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.DiskIopsConfiguration.Mode")
EndpointIpAddressRange.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.EndpointIpAddressRange")
InterclusterDNSName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.Endpoints.Intercluster.DNSName")
ManagementDNSName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.Endpoints.Management.DNSName")
PreferredSubnetId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.PreferredSubnetId")
ThroughputCapacity.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OntapConfiguration.ThroughputCapacity")
OntapConfigurationWeeklyMaintenanceStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.WeeklyMaintenanceStartTime")
OpenZFSConfigurationAutomaticBackupRetentionDays.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OpenZFSConfiguration.AutomaticBackupRetentionDays")
OpenZFSConfigurationCopyTagsToBackups.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OpenZFSConfiguration.CopyTagsToBackups")
CopyTagsToVolumes.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OpenZFSConfiguration.CopyTagsToVolumes")
OpenZFSConfigurationDailyAutomaticBackupStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OpenZFSConfiguration.DailyAutomaticBackupStartTime")
OpenZFSConfigurationDeploymentType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OpenZFSConfiguration.DeploymentType")
DiskIopsConfigurationIops.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OpenZFSConfiguration.DiskIopsConfiguration.Iops")
DiskIopsConfigurationMode.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OpenZFSConfiguration.DiskIopsConfiguration.Mode")
RootVolumeId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OpenZFSConfiguration.RootVolumeId")
OpenZFSConfigurationThroughputCapacity.i = CkJsonObject::ckIntOf(jResp,"FileSystem.OpenZFSConfiguration.ThroughputCapacity")
OpenZFSConfigurationWeeklyMaintenanceStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OpenZFSConfiguration.WeeklyMaintenanceStartTime")
OwnerId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.OwnerId")
ResourceARN.s = CkJsonObject::ckStringOf(jResp,"FileSystem.ResourceARN")
StorageCapacity.i = CkJsonObject::ckIntOf(jResp,"FileSystem.StorageCapacity")
StorageType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.StorageType")
VpcId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.VpcId")
ActiveDirectoryId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.ActiveDirectoryId")
AuditLogDestination.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.AuditLogConfiguration.AuditLogDestination")
FileAccessAuditLogLevel.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.AuditLogConfiguration.FileAccessAuditLogLevel")
FileShareAccessAuditLogLevel.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.AuditLogConfiguration.FileShareAccessAuditLogLevel")
WindowsConfigurationAutomaticBackupRetentionDays.i = CkJsonObject::ckIntOf(jResp,"FileSystem.WindowsConfiguration.AutomaticBackupRetentionDays")
WindowsConfigurationCopyTagsToBackups.i = CkJsonObject::ckIntOf(jResp,"FileSystem.WindowsConfiguration.CopyTagsToBackups")
WindowsConfigurationDailyAutomaticBackupStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.DailyAutomaticBackupStartTime")
WindowsConfigurationDeploymentType.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.DeploymentType")
PreferredFileServerIp.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.PreferredFileServerIp")
WindowsConfigurationPreferredSubnetId.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.PreferredSubnetId")
RemoteAdministrationEndpoint.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.RemoteAdministrationEndpoint")
DomainName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DomainName")
FileSystemAdministratorsGroup.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.FileSystemAdministratorsGroup")
OrganizationalUnitDistinguishedName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.OrganizationalUnitDistinguishedName")
UserName.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.UserName")
WindowsConfigurationThroughputCapacity.i = CkJsonObject::ckIntOf(jResp,"FileSystem.WindowsConfiguration.ThroughputCapacity")
WindowsConfigurationWeeklyMaintenanceStartTime.s = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.WeeklyMaintenanceStartTime")
i.i = 0
count_i.i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions")
While i < count_i
CkJsonObject::setCkI(jResp, i)
AdministrativeActionType = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].AdministrativeActionType")
FailureDetailsMessage = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].FailureDetails.Message")
ProgressPercent = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].ProgressPercent")
RequestTime = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].RequestTime")
Status = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].Status")
TargetFileSystemValues = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetFileSystemValues")
TargetSnapshotValuesCreationTime = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.CreationTime")
TargetSnapshotValuesLifecycle = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.Lifecycle")
LifecycleTransitionReasonMessage = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.LifecycleTransitionReason.Message")
Name = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.Name")
TargetSnapshotValuesResourceARN = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.ResourceARN")
SnapshotId = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.SnapshotId")
VolumeId = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.VolumeId")
TargetVolumeValuesCreationTime = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.CreationTime")
TargetVolumeValuesFileSystemId = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.FileSystemId")
TargetVolumeValuesLifecycle = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.Lifecycle")
LifecycleTransitionReasonMessage = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.LifecycleTransitionReason.Message")
TargetVolumeValuesName = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.Name")
FlexCacheEndpointType = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.FlexCacheEndpointType")
JunctionPath = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.JunctionPath")
OntapVolumeType = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.OntapVolumeType")
SecurityStyle = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.SecurityStyle")
SizeInMegabytes = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.SizeInMegabytes")
StorageEfficiencyEnabled = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.StorageEfficiencyEnabled")
StorageVirtualMachineId = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.StorageVirtualMachineId")
StorageVirtualMachineRoot = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.StorageVirtualMachineRoot")
CoolingPeriod = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.TieringPolicy.CoolingPeriod")
TieringPolicyName = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.TieringPolicy.Name")
UUID = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.UUID")
CopyTagsToSnapshots = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.CopyTagsToSnapshots")
OpenZFSConfigurationDataCompressionType = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.DataCompressionType")
CopyStrategy = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.OriginSnapshot.CopyStrategy")
SnapshotARN = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.OriginSnapshot.SnapshotARN")
ParentVolumeId = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.ParentVolumeId")
ReadOnly = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.ReadOnly")
RecordSizeKiB = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.RecordSizeKiB")
StorageCapacityQuotaGiB = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.StorageCapacityQuotaGiB")
StorageCapacityReservationGiB = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.StorageCapacityReservationGiB")
VolumePath = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.VolumePath")
TargetVolumeValuesResourceARN = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.ResourceARN")
TargetVolumeValuesVolumeId = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.VolumeId")
VolumeType = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.VolumeType")
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.AdministrativeActions")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.AdministrativeActions[j]")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.Tags")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
Key = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.Tags[j].Key")
Value = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetSnapshotValues.Tags[j].Value")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.AdministrativeActions")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.AdministrativeActions[j]")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
k = 0
count_k = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations")
While k < count_k
CkJsonObject::setCkK(jResp, k)
Clients = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations[k].Clients")
json1 = CkJsonObject::ckObjectOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations[k]")
i1 = 0
count_i1 = CkJsonObject::ckSizeOfArray(json1,"Options")
While i1 < count_i1
CkJsonObject::setCkI(json1, i1)
strVal = CkJsonObject::ckStringOf(json1,"Options[i]")
i1 = i1 + 1
Wend
CkJsonObject::ckDispose(json1)
k = k + 1
Wend
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
Id = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Id")
StorageCapacityQuotaGiB = CkJsonObject::ckIntOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].StorageCapacityQuotaGiB")
v_Type = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Type")
j = j + 1
Wend
j = 0
count_j = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.Tags")
While j < count_j
CkJsonObject::setCkJ(jResp, j)
Key = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.Tags[j].Key")
Value = CkJsonObject::ckStringOf(jResp,"FileSystem.AdministrativeActions[i].TargetVolumeValues.Tags[j].Value")
j = j + 1
Wend
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.NetworkInterfaceIds")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.NetworkInterfaceIds[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.OntapConfiguration.Endpoints.Intercluster.IpAddresses")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.Endpoints.Intercluster.IpAddresses[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.OntapConfiguration.Endpoints.Management.IpAddresses")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.Endpoints.Management.IpAddresses[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.OntapConfiguration.RouteTableIds")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.OntapConfiguration.RouteTableIds[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.SubnetIds")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.SubnetIds[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.Tags")
While i < count_i
CkJsonObject::setCkI(jResp, i)
Key = CkJsonObject::ckStringOf(jResp,"FileSystem.Tags[i].Key")
Value = CkJsonObject::ckStringOf(jResp,"FileSystem.Tags[i].Value")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.WindowsConfiguration.Aliases")
While i < count_i
CkJsonObject::setCkI(jResp, i)
Lifecycle = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.Aliases[i].Lifecycle")
Name = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.Aliases[i].Name")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.WindowsConfiguration.MaintenanceOperationsInProgress")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.MaintenanceOperationsInProgress[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"FileSystem.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"FileSystem.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps[i]")
i = i + 1
Wend
; A sample JSON response body parsed by the above code:
; {
; "FileSystem": {
; "AdministrativeActions": [
; {
; "AdministrativeActionType": "string",
; "FailureDetails": {
; "Message": "string"
; },
; "ProgressPercent": number,
; "RequestTime": number,
; "Status": "string",
; "TargetFileSystemValues": "FileSystem",
; "TargetSnapshotValues": {
; "AdministrativeActions": [
; "AdministrativeAction"
; ],
; "CreationTime": number,
; "Lifecycle": "string",
; "LifecycleTransitionReason": {
; "Message": "string"
; },
; "Name": "string",
; "ResourceARN": "string",
; "SnapshotId": "string",
; "Tags": [
; {
; "Key": "string",
; "Value": "string"
; }
; ],
; "VolumeId": "string"
; },
; "TargetVolumeValues": {
; "AdministrativeActions": [
; "AdministrativeAction"
; ],
; "CreationTime": number,
; "FileSystemId": "string",
; "Lifecycle": "string",
; "LifecycleTransitionReason": {
; "Message": "string"
; },
; "Name": "string",
; "OntapConfiguration": {
; "FlexCacheEndpointType": "string",
; "JunctionPath": "string",
; "OntapVolumeType": "string",
; "SecurityStyle": "string",
; "SizeInMegabytes": number,
; "StorageEfficiencyEnabled": boolean,
; "StorageVirtualMachineId": "string",
; "StorageVirtualMachineRoot": boolean,
; "TieringPolicy": {
; "CoolingPeriod": number,
; "Name": "string"
; },
; "UUID": "string"
; },
; "OpenZFSConfiguration": {
; "CopyTagsToSnapshots": boolean,
; "DataCompressionType": "string",
; "NfsExports": [
; {
; "ClientConfigurations": [
; {
; "Clients": "string",
; "Options": [
; "string"
; ]
; }
; ]
; }
; ],
; "OriginSnapshot": {
; "CopyStrategy": "string",
; "SnapshotARN": "string"
; },
; "ParentVolumeId": "string",
; "ReadOnly": boolean,
; "RecordSizeKiB": number,
; "StorageCapacityQuotaGiB": number,
; "StorageCapacityReservationGiB": number,
; "UserAndGroupQuotas": [
; {
; "Id": number,
; "StorageCapacityQuotaGiB": number,
; "Type": "string"
; }
; ],
; "VolumePath": "string"
; },
; "ResourceARN": "string",
; "Tags": [
; {
; "Key": "string",
; "Value": "string"
; }
; ],
; "VolumeId": "string",
; "VolumeType": "string"
; }
; }
; ],
; "CreationTime": number,
; "DNSName": "string",
; "FailureDetails": {
; "Message": "string"
; },
; "FileSystemId": "string",
; "FileSystemType": "string",
; "FileSystemTypeVersion": "string",
; "KmsKeyId": "string",
; "Lifecycle": "string",
; "LustreConfiguration": {
; "AutomaticBackupRetentionDays": number,
; "CopyTagsToBackups": boolean,
; "DailyAutomaticBackupStartTime": "string",
; "DataCompressionType": "string",
; "DataRepositoryConfiguration": {
; "AutoImportPolicy": "string",
; "ExportPath": "string",
; "FailureDetails": {
; "Message": "string"
; },
; "ImportedFileChunkSize": number,
; "ImportPath": "string",
; "Lifecycle": "string"
; },
; "DeploymentType": "string",
; "DriveCacheType": "string",
; "LogConfiguration": {
; "Destination": "string",
; "Level": "string"
; },
; "MountName": "string",
; "PerUnitStorageThroughput": number,
; "WeeklyMaintenanceStartTime": "string"
; },
; "NetworkInterfaceIds": [
; "string"
; ],
; "OntapConfiguration": {
; "AutomaticBackupRetentionDays": number,
; "DailyAutomaticBackupStartTime": "string",
; "DeploymentType": "string",
; "DiskIopsConfiguration": {
; "Iops": number,
; "Mode": "string"
; },
; "EndpointIpAddressRange": "string",
; "Endpoints": {
; "Intercluster": {
; "DNSName": "string",
; "IpAddresses": [
; "string"
; ]
; },
; "Management": {
; "DNSName": "string",
; "IpAddresses": [
; "string"
; ]
; }
; },
; "PreferredSubnetId": "string",
; "RouteTableIds": [
; "string"
; ],
; "ThroughputCapacity": number,
; "WeeklyMaintenanceStartTime": "string"
; },
; "OpenZFSConfiguration": {
; "AutomaticBackupRetentionDays": number,
; "CopyTagsToBackups": boolean,
; "CopyTagsToVolumes": boolean,
; "DailyAutomaticBackupStartTime": "string",
; "DeploymentType": "string",
; "DiskIopsConfiguration": {
; "Iops": number,
; "Mode": "string"
; },
; "RootVolumeId": "string",
; "ThroughputCapacity": number,
; "WeeklyMaintenanceStartTime": "string"
; },
; "OwnerId": "string",
; "ResourceARN": "string",
; "StorageCapacity": number,
; "StorageType": "string",
; "SubnetIds": [
; "string"
; ],
; "Tags": [
; {
; "Key": "string",
; "Value": "string"
; }
; ],
; "VpcId": "string",
; "WindowsConfiguration": {
; "ActiveDirectoryId": "string",
; "Aliases": [
; {
; "Lifecycle": "string",
; "Name": "string"
; }
; ],
; "AuditLogConfiguration": {
; "AuditLogDestination": "string",
; "FileAccessAuditLogLevel": "string",
; "FileShareAccessAuditLogLevel": "string"
; },
; "AutomaticBackupRetentionDays": number,
; "CopyTagsToBackups": boolean,
; "DailyAutomaticBackupStartTime": "string",
; "DeploymentType": "string",
; "MaintenanceOperationsInProgress": [
; "string"
; ],
; "PreferredFileServerIp": "string",
; "PreferredSubnetId": "string",
; "RemoteAdministrationEndpoint": "string",
; "SelfManagedActiveDirectoryConfiguration": {
; "DnsIps": [
; "string"
; ],
; "DomainName": "string",
; "FileSystemAdministratorsGroup": "string",
; "OrganizationalUnitDistinguishedName": "string",
; "UserName": "string"
; },
; "ThroughputCapacity": number,
; "WeeklyMaintenanceStartTime": "string"
; }
; }
; }
CkRest::ckDispose(rest)
CkAuthAws::ckDispose(authAws)
CkJsonObject::ckDispose(json)
CkStringBuilder::ckDispose(sbRequestBody)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure