CreateSnapshot Swift3 Example
func chilkatTest() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let rest = CkoRest()!
var success: Bool
let authAws = CkoAuthAws()!
authAws.accessKey = "AWS_ACCESS_KEY"
authAws.secretKey = "AWS_SECRET_KEY"
// Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.region = "us-west-2"
authAws.serviceName = "fsx"
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.setAuthAws(authAws)
// URL: https://fsx.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = rest.connect("fsx.us-west-2.amazonaws.com", port: 443, tls: true, autoReconnect: true)
if success != true {
print("ConnectFailReason: \(rest.connectFailReason.intValue)")
print("\(rest.lastErrorText!)")
return
}
// 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
let json = CkoJsonObject()!
json.update("ClientRequestToken", value: "string")
json.update("Name", value: "string")
json.update("Tags[0].Key", value: "string")
json.update("Tags[0].Value", value: "string")
json.update("VolumeId", value: "string")
// The JSON request body created by the above code:
// {
// "ClientRequestToken": "string",
// "Name": "string",
// "Tags": [
// {
// "Key": "string",
// "Value": "string"
// }
// ],
// "VolumeId": "string"
// }
rest.addHeader("Content-Type", value: "application/x-amz-json-1.1")
rest.addHeader("X-Amz-Target", value: "AWSSimbaAPIService_v20180301.CreateSnapshot")
let sbRequestBody = CkoStringBuilder()!
json.emitSb(sbRequestBody)
let sbResponseBody = CkoStringBuilder()!
success = rest.fullRequestSb("POST", uriPath: "/", requestBody: sbRequestBody, responseBody: sbResponseBody)
if success != true {
print("\(rest.lastErrorText!)")
return
}
var respStatusCode: Int = rest.responseStatusCode.intValue
print("response status code = \(respStatusCode)")
if respStatusCode != 200 {
print("Response Header:")
print("\(rest.responseHeader!)")
print("Response Body:")
print("\(sbResponseBody.getAsString()!)")
return
}
let jResp = CkoJsonObject()!
jResp.loadSb(sbResponseBody)
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
var AdministrativeActionType: String?
var FailureDetailsMessage: String?
var ProgressPercent: Int
var RequestTime: Int
var Status: String?
var TargetFileSystemValuesCreationTime: Int
var DNSName: String?
var FileSystemId: String?
var FileSystemType: String?
var FileSystemTypeVersion: String?
var KmsKeyId: String?
var TargetFileSystemValuesLifecycle: String?
var AutomaticBackupRetentionDays: Int
var CopyTagsToBackups: Int
var DailyAutomaticBackupStartTime: String?
var DataCompressionType: String?
var AutoImportPolicy: String?
var ExportPath: String?
var ImportedFileChunkSize: Int
var ImportPath: String?
var DataRepositoryConfigurationLifecycle: String?
var DeploymentType: String?
var DriveCacheType: String?
var Destination: String?
var Level: String?
var MountName: String?
var PerUnitStorageThroughput: Int
var WeeklyMaintenanceStartTime: String?
var OntapConfigurationAutomaticBackupRetentionDays: Int
var OntapConfigurationDailyAutomaticBackupStartTime: String?
var OntapConfigurationDeploymentType: String?
var Iops: Int
var Mode: String?
var EndpointIpAddressRange: String?
var InterclusterDNSName: String?
var ManagementDNSName: String?
var PreferredSubnetId: String?
var ThroughputCapacity: Int
var OntapConfigurationWeeklyMaintenanceStartTime: String?
var OpenZFSConfigurationAutomaticBackupRetentionDays: Int
var OpenZFSConfigurationCopyTagsToBackups: Int
var CopyTagsToVolumes: Int
var OpenZFSConfigurationDailyAutomaticBackupStartTime: String?
var OpenZFSConfigurationDeploymentType: String?
var DiskIopsConfigurationIops: Int
var DiskIopsConfigurationMode: String?
var RootVolumeId: String?
var OpenZFSConfigurationThroughputCapacity: Int
var OpenZFSConfigurationWeeklyMaintenanceStartTime: String?
var OwnerId: String?
var TargetFileSystemValuesResourceARN: String?
var StorageCapacity: Int
var StorageType: String?
var VpcId: String?
var ActiveDirectoryId: String?
var AuditLogDestination: String?
var FileAccessAuditLogLevel: String?
var FileShareAccessAuditLogLevel: String?
var WindowsConfigurationAutomaticBackupRetentionDays: Int
var WindowsConfigurationCopyTagsToBackups: Int
var WindowsConfigurationDailyAutomaticBackupStartTime: String?
var WindowsConfigurationDeploymentType: String?
var PreferredFileServerIp: String?
var WindowsConfigurationPreferredSubnetId: String?
var RemoteAdministrationEndpoint: String?
var DomainName: String?
var FileSystemAdministratorsGroup: String?
var OrganizationalUnitDistinguishedName: String?
var UserName: String?
var WindowsConfigurationThroughputCapacity: Int
var WindowsConfigurationWeeklyMaintenanceStartTime: String?
var TargetSnapshotValues: String?
var TargetVolumeValuesCreationTime: Int
var TargetVolumeValuesFileSystemId: String?
var TargetVolumeValuesLifecycle: String?
var LifecycleTransitionReasonMessage: String?
var TargetVolumeValuesName: String?
var FlexCacheEndpointType: String?
var JunctionPath: String?
var OntapVolumeType: String?
var SecurityStyle: String?
var SizeInMegabytes: Int
var StorageEfficiencyEnabled: Int
var StorageVirtualMachineId: String?
var StorageVirtualMachineRoot: Int
var CoolingPeriod: Int
var TieringPolicyName: String?
var UUID: String?
var CopyTagsToSnapshots: Int
var OpenZFSConfigurationDataCompressionType: String?
var CopyStrategy: String?
var SnapshotARN: String?
var ParentVolumeId: String?
var ReadOnly: Int
var RecordSizeKiB: Int
var StorageCapacityQuotaGiB: Int
var StorageCapacityReservationGiB: Int
var VolumePath: String?
var TargetVolumeValuesResourceARN: String?
var TargetVolumeValuesVolumeId: String?
var VolumeType: String?
var j: Int
var count_j: Int
var strVal: String?
var Key: String?
var Value: String?
var k: Int
var count_k: Int
var Clients: String?
var json1: CkoJsonObject?
var i1: Int
var count_i1: Int
var Id: Int
var v_Type: String?
var CreationTime: Int = jResp.int(of: "Snapshot.CreationTime").intValue
var Lifecycle: String? = jResp.string(of: "Snapshot.Lifecycle")
var Message: String? = jResp.string(of: "Snapshot.LifecycleTransitionReason.Message")
var Name: String? = jResp.string(of: "Snapshot.Name")
var ResourceARN: String? = jResp.string(of: "Snapshot.ResourceARN")
var SnapshotId: String? = jResp.string(of: "Snapshot.SnapshotId")
var VolumeId: String? = jResp.string(of: "Snapshot.VolumeId")
var i: Int = 0
var count_i: Int = jResp.size(ofArray: "Snapshot.AdministrativeActions").intValue
while i < count_i {
jResp.i = i
AdministrativeActionType = jResp.string(of: "Snapshot.AdministrativeActions[i].AdministrativeActionType")
FailureDetailsMessage = jResp.string(of: "Snapshot.AdministrativeActions[i].FailureDetails.Message")
ProgressPercent = jResp.int(of: "Snapshot.AdministrativeActions[i].ProgressPercent").intValue
RequestTime = jResp.int(of: "Snapshot.AdministrativeActions[i].RequestTime").intValue
Status = jResp.string(of: "Snapshot.AdministrativeActions[i].Status")
TargetFileSystemValuesCreationTime = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.CreationTime").intValue
DNSName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.DNSName")
FailureDetailsMessage = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.FailureDetails.Message")
FileSystemId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.FileSystemId")
FileSystemType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.FileSystemType")
FileSystemTypeVersion = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.FileSystemTypeVersion")
KmsKeyId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.KmsKeyId")
TargetFileSystemValuesLifecycle = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.Lifecycle")
AutomaticBackupRetentionDays = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.AutomaticBackupRetentionDays").intValue
CopyTagsToBackups = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.CopyTagsToBackups").intValue
DailyAutomaticBackupStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DailyAutomaticBackupStartTime")
DataCompressionType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataCompressionType")
AutoImportPolicy = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.AutoImportPolicy")
ExportPath = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.ExportPath")
FailureDetailsMessage = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.FailureDetails.Message")
ImportedFileChunkSize = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.ImportedFileChunkSize").intValue
ImportPath = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.ImportPath")
DataRepositoryConfigurationLifecycle = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DataRepositoryConfiguration.Lifecycle")
DeploymentType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DeploymentType")
DriveCacheType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.DriveCacheType")
Destination = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.LogConfiguration.Destination")
Level = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.LogConfiguration.Level")
MountName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.MountName")
PerUnitStorageThroughput = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.PerUnitStorageThroughput").intValue
WeeklyMaintenanceStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.LustreConfiguration.WeeklyMaintenanceStartTime")
OntapConfigurationAutomaticBackupRetentionDays = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.AutomaticBackupRetentionDays").intValue
OntapConfigurationDailyAutomaticBackupStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DailyAutomaticBackupStartTime")
OntapConfigurationDeploymentType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DeploymentType")
Iops = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DiskIopsConfiguration.Iops").intValue
Mode = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.DiskIopsConfiguration.Mode")
EndpointIpAddressRange = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.EndpointIpAddressRange")
InterclusterDNSName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Intercluster.DNSName")
ManagementDNSName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Management.DNSName")
PreferredSubnetId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.PreferredSubnetId")
ThroughputCapacity = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.ThroughputCapacity").intValue
OntapConfigurationWeeklyMaintenanceStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.WeeklyMaintenanceStartTime")
OpenZFSConfigurationAutomaticBackupRetentionDays = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.AutomaticBackupRetentionDays").intValue
OpenZFSConfigurationCopyTagsToBackups = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.CopyTagsToBackups").intValue
CopyTagsToVolumes = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.CopyTagsToVolumes").intValue
OpenZFSConfigurationDailyAutomaticBackupStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DailyAutomaticBackupStartTime")
OpenZFSConfigurationDeploymentType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DeploymentType")
DiskIopsConfigurationIops = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DiskIopsConfiguration.Iops").intValue
DiskIopsConfigurationMode = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.DiskIopsConfiguration.Mode")
RootVolumeId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.RootVolumeId")
OpenZFSConfigurationThroughputCapacity = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.ThroughputCapacity").intValue
OpenZFSConfigurationWeeklyMaintenanceStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OpenZFSConfiguration.WeeklyMaintenanceStartTime")
OwnerId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OwnerId")
TargetFileSystemValuesResourceARN = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.ResourceARN")
StorageCapacity = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.StorageCapacity").intValue
StorageType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.StorageType")
VpcId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.VpcId")
ActiveDirectoryId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.ActiveDirectoryId")
AuditLogDestination = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AuditLogConfiguration.AuditLogDestination")
FileAccessAuditLogLevel = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AuditLogConfiguration.FileAccessAuditLogLevel")
FileShareAccessAuditLogLevel = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AuditLogConfiguration.FileShareAccessAuditLogLevel")
WindowsConfigurationAutomaticBackupRetentionDays = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.AutomaticBackupRetentionDays").intValue
WindowsConfigurationCopyTagsToBackups = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.CopyTagsToBackups").intValue
WindowsConfigurationDailyAutomaticBackupStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.DailyAutomaticBackupStartTime")
WindowsConfigurationDeploymentType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.DeploymentType")
PreferredFileServerIp = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.PreferredFileServerIp")
WindowsConfigurationPreferredSubnetId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.PreferredSubnetId")
RemoteAdministrationEndpoint = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.RemoteAdministrationEndpoint")
DomainName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DomainName")
FileSystemAdministratorsGroup = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.FileSystemAdministratorsGroup")
OrganizationalUnitDistinguishedName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.OrganizationalUnitDistinguishedName")
UserName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.UserName")
WindowsConfigurationThroughputCapacity = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.ThroughputCapacity").intValue
WindowsConfigurationWeeklyMaintenanceStartTime = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.WeeklyMaintenanceStartTime")
TargetSnapshotValues = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetSnapshotValues")
TargetVolumeValuesCreationTime = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.CreationTime").intValue
TargetVolumeValuesFileSystemId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.FileSystemId")
TargetVolumeValuesLifecycle = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.Lifecycle")
LifecycleTransitionReasonMessage = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.LifecycleTransitionReason.Message")
TargetVolumeValuesName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.Name")
FlexCacheEndpointType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.FlexCacheEndpointType")
JunctionPath = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.JunctionPath")
OntapVolumeType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.OntapVolumeType")
SecurityStyle = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.SecurityStyle")
SizeInMegabytes = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.SizeInMegabytes").intValue
StorageEfficiencyEnabled = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.StorageEfficiencyEnabled").intValue
StorageVirtualMachineId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.StorageVirtualMachineId")
StorageVirtualMachineRoot = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.StorageVirtualMachineRoot").intValue
CoolingPeriod = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.TieringPolicy.CoolingPeriod").intValue
TieringPolicyName = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.TieringPolicy.Name")
UUID = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OntapConfiguration.UUID")
CopyTagsToSnapshots = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.CopyTagsToSnapshots").intValue
OpenZFSConfigurationDataCompressionType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.DataCompressionType")
CopyStrategy = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.OriginSnapshot.CopyStrategy")
SnapshotARN = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.OriginSnapshot.SnapshotARN")
ParentVolumeId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.ParentVolumeId")
ReadOnly = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.ReadOnly").intValue
RecordSizeKiB = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.RecordSizeKiB").intValue
StorageCapacityQuotaGiB = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.StorageCapacityQuotaGiB").intValue
StorageCapacityReservationGiB = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.StorageCapacityReservationGiB").intValue
VolumePath = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.VolumePath")
TargetVolumeValuesResourceARN = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.ResourceARN")
TargetVolumeValuesVolumeId = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.VolumeId")
VolumeType = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.VolumeType")
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.AdministrativeActions").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.AdministrativeActions[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.NetworkInterfaceIds").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.NetworkInterfaceIds[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Intercluster.IpAddresses").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Intercluster.IpAddresses[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Management.IpAddresses").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.Endpoints.Management.IpAddresses[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.RouteTableIds").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.OntapConfiguration.RouteTableIds[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.SubnetIds").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.SubnetIds[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.Tags").intValue
while j < count_j {
jResp.j = j
Key = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.Tags[j].Key")
Value = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.Tags[j].Value")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.Aliases").intValue
while j < count_j {
jResp.j = j
Lifecycle = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.Aliases[j].Lifecycle")
Name = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.Aliases[j].Name")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.MaintenanceOperationsInProgress").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.MaintenanceOperationsInProgress[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetFileSystemValues.WindowsConfiguration.SelfManagedActiveDirectoryConfiguration.DnsIps[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetVolumeValues.AdministrativeActions").intValue
while j < count_j {
jResp.j = j
strVal = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.AdministrativeActions[j]")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports").intValue
while j < count_j {
jResp.j = j
k = 0
count_k = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations").intValue
while k < count_k {
jResp.k = k
Clients = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations[k].Clients")
json1 = jResp.object(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.NfsExports[j].ClientConfigurations[k]")
i1 = 0
count_i1 = json1!.size(ofArray: "Options").intValue
while i1 < count_i1 {
json1.i = i1
strVal = json1!.string(of: "Options[i]")
i1 = i1 + 1
}
json1 = nil
k = k + 1
}
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas").intValue
while j < count_j {
jResp.j = j
Id = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Id").intValue
StorageCapacityQuotaGiB = jResp.int(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].StorageCapacityQuotaGiB").intValue
v_Type = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.OpenZFSConfiguration.UserAndGroupQuotas[j].Type")
j = j + 1
}
j = 0
count_j = jResp.size(ofArray: "Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags").intValue
while j < count_j {
jResp.j = j
Key = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags[j].Key")
Value = jResp.string(of: "Snapshot.AdministrativeActions[i].TargetVolumeValues.Tags[j].Value")
j = j + 1
}
i = i + 1
}
i = 0
count_i = jResp.size(ofArray: "Snapshot.Tags").intValue
while i < count_i {
jResp.i = i
Key = jResp.string(of: "Snapshot.Tags[i].Key")
Value = jResp.string(of: "Snapshot.Tags[i].Value")
i = i + 1
}
// 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"
// }
// }
}