Chilkat Online Tools

GetImage PowerBuilder Example

EC2 Image Builder

integer li_rc
oleobject loo_Rest
integer li_Success
oleobject loo_AuthAws
oleobject loo_SbResponseBody
integer li_RespStatusCode
oleobject loo_JResp
string ls_ComponentArn
integer j
integer li_Count_j
string ls_Name
integer k
integer li_Count_k
string ls_StrVal
string ls_DeviceName
integer li_DeleteOnTermination
integer li_EbsEncrypted
integer li_Iops
string ls_EbsKmsKeyId
string ls_SnapshotId
integer li_Throughput
integer li_VolumeSize
string ls_VolumeType
string ls_NoDevice
string ls_VirtualName
string ls_AmiTagsString
string ls_AmiDistributionConfigurationDescription
string ls_AmiDistributionConfigurationKmsKeyId
string ls_AmiDistributionConfigurationName
string ls_ContainerDistributionConfigurationDescription
string ls_TargetRepositoryRepositoryName
string ls_TargetRepositoryService
string ls_Region
string ls_DiskImageFormat
string ls_RoleName
string ls_S3Bucket
string ls_S3Prefix
string ls_AccountId
integer li_Enabled
string ls_LaunchTemplateId
string ls_LaunchTemplateName
string ls_LaunchTemplateVersion
integer li_MaxParallelLaunches
integer li_TargetResourceCount
string ls_LaunchTemplateId
integer li_SetDefaultVersion
integer li_EbsDeleteOnTermination
integer li_EbsIops
string ls_EbsSnapshotId
integer li_EbsThroughput
integer li_EbsVolumeSize
string ls_EbsVolumeType
string ls_Description
string ls_Image
string ls_StateReason
string ls_StateStatus
string ls_Arn
string ls_BuildType
string ls_ContainerRecipeArn
string ls_ContainerType
string ls_DateCreated
string ls_Description
string ls_DockerfileTemplateData
integer li_Encrypted
string ls_Image
string ls_KmsKeyId
string ls_Name
string ls_Owner
string ls_ParentImage
string ls_Platform
string ls_V_String
string ls_RepositoryName
string ls_Service
string ls_Version
string ls_WorkingDirectory
string ls_ImageDateCreated
string ls_DistributionConfigurationArn
string ls_DistributionConfigurationDateCreated
string ls_DateUpdated
string ls_DistributionConfigurationDescription
string ls_DistributionConfigurationName
string ls_TagsString
integer li_TimeoutMinutes
integer li_EnhancedImageMetadataEnabled
integer li_UninstallAfterBuild
string ls_UserDataOverride
string ls_ImageRecipeArn
string ls_ImageRecipeDateCreated
string ls_ImageRecipeDescription
string ls_ImageRecipeName
string ls_ImageRecipeOwner
string ls_ImageRecipeParentImage
string ls_ImageRecipePlatform
string ls_V_Type
string ls_ImageRecipeVersion
string ls_ImageRecipeWorkingDirectory
integer li_ImageTestsEnabled
integer li_ImageTestsConfigurationTimeoutMinutes
string ls_InfrastructureConfigurationArn
string ls_InfrastructureConfigurationDateCreated
string ls_InfrastructureConfigurationDateUpdated
string ls_InfrastructureConfigurationDescription
integer li_HttpPutResponseHopLimit
string ls_HttpTokens
string ls_InstanceProfileName
string ls_KeyPair
string ls_S3BucketName
string ls_S3KeyPrefix
string ls_InfrastructureConfigurationName
string ls_ResourceTagsString
string ls_SnsTopicArn
string ls_SubnetId
integer li_TerminateInstanceOnFailure
string ls_ImageName
string ls_OsVersion
string ls_ImagePlatform
string ls_SourcePipelineArn
string ls_SourcePipelineName
string ls_Reason
string ls_Status
string ls_ImageType
string ls_ImageVersion
string ls_RequestId
integer i
integer li_Count_i

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Rest = create oleobject
li_rc = loo_Rest.ConnectToNewObject("Chilkat_9_5_0.Rest")
if li_rc < 0 then
    destroy loo_Rest
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_AuthAws = create oleobject
li_rc = loo_AuthAws.ConnectToNewObject("Chilkat_9_5_0.AuthAws")

loo_AuthAws.AccessKey = "AWS_ACCESS_KEY"
loo_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.)
loo_AuthAws.Region = "us-west-2"
loo_AuthAws.ServiceName = "imagebuilder"
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
loo_Rest.SetAuthAws(loo_AuthAws)

// URL: https://imagebuilder.us-west-2.amazonaws.com/
// Use the same region as specified above.
li_Success = loo_Rest.Connect("imagebuilder.us-west-2.amazonaws.com",443,1,1)
if li_Success <> 1 then
    Write-Debug "ConnectFailReason: " + string(loo_Rest.ConnectFailReason)
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    destroy loo_AuthAws
    return
end if

loo_Rest.AddHeader("Content-Type","application/x-amz-json-1.1")
loo_Rest.AddHeader("X-Amz-Target","GetImage")

loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat_9_5_0.StringBuilder")

li_Success = loo_Rest.FullRequestNoBodySb("GET","/GetImage",loo_SbResponseBody)
if li_Success <> 1 then
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    destroy loo_AuthAws
    destroy loo_SbResponseBody
    return
end if

li_RespStatusCode = loo_Rest.ResponseStatusCode
Write-Debug "response status code = " + string(li_RespStatusCode)
if li_RespStatusCode <> 200 then
    Write-Debug "Response Header:"
    Write-Debug loo_Rest.ResponseHeader
    Write-Debug "Response Body:"
    Write-Debug loo_SbResponseBody.GetAsString()
    destroy loo_Rest
    destroy loo_AuthAws
    destroy loo_SbResponseBody
    return
end if

loo_JResp = create oleobject
li_rc = loo_JResp.ConnectToNewObject("Chilkat_9_5_0.JsonObject")

loo_JResp.LoadSb(loo_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

ls_Arn = loo_JResp.StringOf("image.arn")
ls_BuildType = loo_JResp.StringOf("image.buildType")
ls_ContainerRecipeArn = loo_JResp.StringOf("image.containerRecipe.arn")
ls_ContainerType = loo_JResp.StringOf("image.containerRecipe.containerType")
ls_DateCreated = loo_JResp.StringOf("image.containerRecipe.dateCreated")
ls_Description = loo_JResp.StringOf("image.containerRecipe.description")
ls_DockerfileTemplateData = loo_JResp.StringOf("image.containerRecipe.dockerfileTemplateData")
li_Encrypted = loo_JResp.IntOf("image.containerRecipe.encrypted")
ls_Image = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.image")
ls_KmsKeyId = loo_JResp.StringOf("image.containerRecipe.kmsKeyId")
ls_Name = loo_JResp.StringOf("image.containerRecipe.name")
ls_Owner = loo_JResp.StringOf("image.containerRecipe.owner")
ls_ParentImage = loo_JResp.StringOf("image.containerRecipe.parentImage")
ls_Platform = loo_JResp.StringOf("image.containerRecipe.platform")
ls_V_String = loo_JResp.StringOf("image.containerRecipe.tags.string")
ls_RepositoryName = loo_JResp.StringOf("image.containerRecipe.targetRepository.repositoryName")
ls_Service = loo_JResp.StringOf("image.containerRecipe.targetRepository.service")
ls_Version = loo_JResp.StringOf("image.containerRecipe.version")
ls_WorkingDirectory = loo_JResp.StringOf("image.containerRecipe.workingDirectory")
ls_ImageDateCreated = loo_JResp.StringOf("image.dateCreated")
ls_DistributionConfigurationArn = loo_JResp.StringOf("image.distributionConfiguration.arn")
ls_DistributionConfigurationDateCreated = loo_JResp.StringOf("image.distributionConfiguration.dateCreated")
ls_DateUpdated = loo_JResp.StringOf("image.distributionConfiguration.dateUpdated")
ls_DistributionConfigurationDescription = loo_JResp.StringOf("image.distributionConfiguration.description")
ls_DistributionConfigurationName = loo_JResp.StringOf("image.distributionConfiguration.name")
ls_TagsString = loo_JResp.StringOf("image.distributionConfiguration.tags.string")
li_TimeoutMinutes = loo_JResp.IntOf("image.distributionConfiguration.timeoutMinutes")
li_EnhancedImageMetadataEnabled = loo_JResp.IntOf("image.enhancedImageMetadataEnabled")
li_UninstallAfterBuild = loo_JResp.IntOf("image.imageRecipe.additionalInstanceConfiguration.systemsManagerAgent.uninstallAfterBuild")
ls_UserDataOverride = loo_JResp.StringOf("image.imageRecipe.additionalInstanceConfiguration.userDataOverride")
ls_ImageRecipeArn = loo_JResp.StringOf("image.imageRecipe.arn")
ls_ImageRecipeDateCreated = loo_JResp.StringOf("image.imageRecipe.dateCreated")
ls_ImageRecipeDescription = loo_JResp.StringOf("image.imageRecipe.description")
ls_ImageRecipeName = loo_JResp.StringOf("image.imageRecipe.name")
ls_ImageRecipeOwner = loo_JResp.StringOf("image.imageRecipe.owner")
ls_ImageRecipeParentImage = loo_JResp.StringOf("image.imageRecipe.parentImage")
ls_ImageRecipePlatform = loo_JResp.StringOf("image.imageRecipe.platform")
ls_TagsString = loo_JResp.StringOf("image.imageRecipe.tags.string")
ls_V_Type = loo_JResp.StringOf("image.imageRecipe.type")
ls_ImageRecipeVersion = loo_JResp.StringOf("image.imageRecipe.version")
ls_ImageRecipeWorkingDirectory = loo_JResp.StringOf("image.imageRecipe.workingDirectory")
li_ImageTestsEnabled = loo_JResp.IntOf("image.imageTestsConfiguration.imageTestsEnabled")
li_ImageTestsConfigurationTimeoutMinutes = loo_JResp.IntOf("image.imageTestsConfiguration.timeoutMinutes")
ls_InfrastructureConfigurationArn = loo_JResp.StringOf("image.infrastructureConfiguration.arn")
ls_InfrastructureConfigurationDateCreated = loo_JResp.StringOf("image.infrastructureConfiguration.dateCreated")
ls_InfrastructureConfigurationDateUpdated = loo_JResp.StringOf("image.infrastructureConfiguration.dateUpdated")
ls_InfrastructureConfigurationDescription = loo_JResp.StringOf("image.infrastructureConfiguration.description")
li_HttpPutResponseHopLimit = loo_JResp.IntOf("image.infrastructureConfiguration.instanceMetadataOptions.httpPutResponseHopLimit")
ls_HttpTokens = loo_JResp.StringOf("image.infrastructureConfiguration.instanceMetadataOptions.httpTokens")
ls_InstanceProfileName = loo_JResp.StringOf("image.infrastructureConfiguration.instanceProfileName")
ls_KeyPair = loo_JResp.StringOf("image.infrastructureConfiguration.keyPair")
ls_S3BucketName = loo_JResp.StringOf("image.infrastructureConfiguration.logging.s3Logs.s3BucketName")
ls_S3KeyPrefix = loo_JResp.StringOf("image.infrastructureConfiguration.logging.s3Logs.s3KeyPrefix")
ls_InfrastructureConfigurationName = loo_JResp.StringOf("image.infrastructureConfiguration.name")
ls_ResourceTagsString = loo_JResp.StringOf("image.infrastructureConfiguration.resourceTags.string")
ls_SnsTopicArn = loo_JResp.StringOf("image.infrastructureConfiguration.snsTopicArn")
ls_SubnetId = loo_JResp.StringOf("image.infrastructureConfiguration.subnetId")
ls_TagsString = loo_JResp.StringOf("image.infrastructureConfiguration.tags.string")
li_TerminateInstanceOnFailure = loo_JResp.IntOf("image.infrastructureConfiguration.terminateInstanceOnFailure")
ls_ImageName = loo_JResp.StringOf("image.name")
ls_OsVersion = loo_JResp.StringOf("image.osVersion")
ls_ImagePlatform = loo_JResp.StringOf("image.platform")
ls_SourcePipelineArn = loo_JResp.StringOf("image.sourcePipelineArn")
ls_SourcePipelineName = loo_JResp.StringOf("image.sourcePipelineName")
ls_Reason = loo_JResp.StringOf("image.state.reason")
ls_Status = loo_JResp.StringOf("image.state.status")
ls_TagsString = loo_JResp.StringOf("image.tags.string")
ls_ImageType = loo_JResp.StringOf("image.type")
ls_ImageVersion = loo_JResp.StringOf("image.version")
ls_RequestId = loo_JResp.StringOf("requestId")
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.containerRecipe.components")
do while i < li_Count_i
    loo_JResp.I = i
    ls_ComponentArn = loo_JResp.StringOf("image.containerRecipe.components[i].componentArn")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.containerRecipe.components[i].parameters")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Name = loo_JResp.StringOf("image.containerRecipe.components[i].parameters[j].name")
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("image.containerRecipe.components[i].parameters[j].value")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_StrVal = loo_JResp.StringOf("image.containerRecipe.components[i].parameters[j].value[k]")
            k = k + 1
        loop
        j = j + 1
    loop
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.containerRecipe.instanceConfiguration.blockDeviceMappings")
do while i < li_Count_i
    loo_JResp.I = i
    ls_DeviceName = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].deviceName")
    li_DeleteOnTermination = loo_JResp.IntOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.deleteOnTermination")
    li_EbsEncrypted = loo_JResp.IntOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.encrypted")
    li_Iops = loo_JResp.IntOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.iops")
    ls_EbsKmsKeyId = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.kmsKeyId")
    ls_SnapshotId = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.snapshotId")
    li_Throughput = loo_JResp.IntOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.throughput")
    li_VolumeSize = loo_JResp.IntOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.volumeSize")
    ls_VolumeType = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].ebs.volumeType")
    ls_NoDevice = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].noDevice")
    ls_VirtualName = loo_JResp.StringOf("image.containerRecipe.instanceConfiguration.blockDeviceMappings[i].virtualName")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions")
do while i < li_Count_i
    loo_JResp.I = i
    ls_AmiTagsString = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.amiTags.string")
    ls_AmiDistributionConfigurationDescription = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.description")
    ls_AmiDistributionConfigurationKmsKeyId = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.kmsKeyId")
    ls_AmiDistributionConfigurationName = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.name")
    ls_ContainerDistributionConfigurationDescription = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].containerDistributionConfiguration.description")
    ls_TargetRepositoryRepositoryName = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].containerDistributionConfiguration.targetRepository.repositoryName")
    ls_TargetRepositoryService = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].containerDistributionConfiguration.targetRepository.service")
    ls_Region = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].region")
    ls_DiskImageFormat = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].s3ExportConfiguration.diskImageFormat")
    ls_RoleName = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].s3ExportConfiguration.roleName")
    ls_S3Bucket = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].s3ExportConfiguration.s3Bucket")
    ls_S3Prefix = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].s3ExportConfiguration.s3Prefix")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.organizationalUnitArns")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.organizationalUnitArns[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.organizationArns")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.organizationArns[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.userGroups")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.userGroups[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.userIds")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.launchPermission.userIds[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.targetAccountIds")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].amiDistributionConfiguration.targetAccountIds[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].containerDistributionConfiguration.containerTags")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].containerDistributionConfiguration.containerTags[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].fastLaunchConfigurations")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_AccountId = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].accountId")
        li_Enabled = loo_JResp.IntOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].enabled")
        ls_LaunchTemplateId = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].launchTemplate.launchTemplateId")
        ls_LaunchTemplateName = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].launchTemplate.launchTemplateName")
        ls_LaunchTemplateVersion = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].launchTemplate.launchTemplateVersion")
        li_MaxParallelLaunches = loo_JResp.IntOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].maxParallelLaunches")
        li_TargetResourceCount = loo_JResp.IntOf("image.distributionConfiguration.distributions[i].fastLaunchConfigurations[j].snapshotConfiguration.targetResourceCount")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].launchTemplateConfigurations")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_AccountId = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].launchTemplateConfigurations[j].accountId")
        ls_LaunchTemplateId = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].launchTemplateConfigurations[j].launchTemplateId")
        li_SetDefaultVersion = loo_JResp.IntOf("image.distributionConfiguration.distributions[i].launchTemplateConfigurations[j].setDefaultVersion")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.distributionConfiguration.distributions[i].licenseConfigurationArns")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.distributionConfiguration.distributions[i].licenseConfigurationArns[j]")
        j = j + 1
    loop
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.imageRecipe.blockDeviceMappings")
do while i < li_Count_i
    loo_JResp.I = i
    ls_DeviceName = loo_JResp.StringOf("image.imageRecipe.blockDeviceMappings[i].deviceName")
    li_EbsDeleteOnTermination = loo_JResp.IntOf("image.imageRecipe.blockDeviceMappings[i].ebs.deleteOnTermination")
    li_EbsEncrypted = loo_JResp.IntOf("image.imageRecipe.blockDeviceMappings[i].ebs.encrypted")
    li_EbsIops = loo_JResp.IntOf("image.imageRecipe.blockDeviceMappings[i].ebs.iops")
    ls_EbsKmsKeyId = loo_JResp.StringOf("image.imageRecipe.blockDeviceMappings[i].ebs.kmsKeyId")
    ls_EbsSnapshotId = loo_JResp.StringOf("image.imageRecipe.blockDeviceMappings[i].ebs.snapshotId")
    li_EbsThroughput = loo_JResp.IntOf("image.imageRecipe.blockDeviceMappings[i].ebs.throughput")
    li_EbsVolumeSize = loo_JResp.IntOf("image.imageRecipe.blockDeviceMappings[i].ebs.volumeSize")
    ls_EbsVolumeType = loo_JResp.StringOf("image.imageRecipe.blockDeviceMappings[i].ebs.volumeType")
    ls_NoDevice = loo_JResp.StringOf("image.imageRecipe.blockDeviceMappings[i].noDevice")
    ls_VirtualName = loo_JResp.StringOf("image.imageRecipe.blockDeviceMappings[i].virtualName")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.imageRecipe.components")
do while i < li_Count_i
    loo_JResp.I = i
    ls_ComponentArn = loo_JResp.StringOf("image.imageRecipe.components[i].componentArn")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.imageRecipe.components[i].parameters")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Name = loo_JResp.StringOf("image.imageRecipe.components[i].parameters[j].name")
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("image.imageRecipe.components[i].parameters[j].value")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_StrVal = loo_JResp.StringOf("image.imageRecipe.components[i].parameters[j].value[k]")
            k = k + 1
        loop
        j = j + 1
    loop
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.infrastructureConfiguration.instanceTypes")
do while i < li_Count_i
    loo_JResp.I = i
    ls_StrVal = loo_JResp.StringOf("image.infrastructureConfiguration.instanceTypes[i]")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.infrastructureConfiguration.securityGroupIds")
do while i < li_Count_i
    loo_JResp.I = i
    ls_StrVal = loo_JResp.StringOf("image.infrastructureConfiguration.securityGroupIds[i]")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.outputResources.amis")
do while i < li_Count_i
    loo_JResp.I = i
    ls_AccountId = loo_JResp.StringOf("image.outputResources.amis[i].accountId")
    ls_Description = loo_JResp.StringOf("image.outputResources.amis[i].description")
    ls_Image = loo_JResp.StringOf("image.outputResources.amis[i].image")
    ls_Name = loo_JResp.StringOf("image.outputResources.amis[i].name")
    ls_Region = loo_JResp.StringOf("image.outputResources.amis[i].region")
    ls_StateReason = loo_JResp.StringOf("image.outputResources.amis[i].state.reason")
    ls_StateStatus = loo_JResp.StringOf("image.outputResources.amis[i].state.status")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("image.outputResources.containers")
do while i < li_Count_i
    loo_JResp.I = i
    ls_Region = loo_JResp.StringOf("image.outputResources.containers[i].region")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("image.outputResources.containers[i].imageUris")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("image.outputResources.containers[i].imageUris[j]")
        j = j + 1
    loop
    i = i + 1
loop

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

// {
//   "image": {
//     "arn": "string",
//     "buildType": "string",
//     "containerRecipe": {
//       "arn": "string",
//       "components": [
//         {
//           "componentArn": "string",
//           "parameters": [
//             {
//               "name": "string",
//               "value": [
//                 "string"
//               ]
//             }
//           ]
//         }
//       ],
//       "containerType": "string",
//       "dateCreated": "string",
//       "description": "string",
//       "dockerfileTemplateData": "string",
//       "encrypted": boolean,
//       "instanceConfiguration": {
//         "blockDeviceMappings": [
//           {
//             "deviceName": "string",
//             "ebs": {
//               "deleteOnTermination": boolean,
//               "encrypted": boolean,
//               "iops": number,
//               "kmsKeyId": "string",
//               "snapshotId": "string",
//               "throughput": number,
//               "volumeSize": number,
//               "volumeType": "string"
//             },
//             "noDevice": "string",
//             "virtualName": "string"
//           }
//         ],
//         "image": "string"
//       },
//       "kmsKeyId": "string",
//       "name": "string",
//       "owner": "string",
//       "parentImage": "string",
//       "platform": "string",
//       "tags": {
//         "string": "string"
//       },
//       "targetRepository": {
//         "repositoryName": "string",
//         "service": "string"
//       },
//       "version": "string",
//       "workingDirectory": "string"
//     },
//     "dateCreated": "string",
//     "distributionConfiguration": {
//       "arn": "string",
//       "dateCreated": "string",
//       "dateUpdated": "string",
//       "description": "string",
//       "distributions": [
//         {
//           "amiDistributionConfiguration": {
//             "amiTags": {
//               "string": "string"
//             },
//             "description": "string",
//             "kmsKeyId": "string",
//             "launchPermission": {
//               "organizationalUnitArns": [
//                 "string"
//               ],
//               "organizationArns": [
//                 "string"
//               ],
//               "userGroups": [
//                 "string"
//               ],
//               "userIds": [
//                 "string"
//               ]
//             },
//             "name": "string",
//             "targetAccountIds": [
//               "string"
//             ]
//           },
//           "containerDistributionConfiguration": {
//             "containerTags": [
//               "string"
//             ],
//             "description": "string",
//             "targetRepository": {
//               "repositoryName": "string",
//               "service": "string"
//             }
//           },
//           "fastLaunchConfigurations": [
//             {
//               "accountId": "string",
//               "enabled": boolean,
//               "launchTemplate": {
//                 "launchTemplateId": "string",
//                 "launchTemplateName": "string",
//                 "launchTemplateVersion": "string"
//               },
//               "maxParallelLaunches": number,
//               "snapshotConfiguration": {
//                 "targetResourceCount": number
//               }
//             }
//           ],
//           "launchTemplateConfigurations": [
//             {
//               "accountId": "string",
//               "launchTemplateId": "string",
//               "setDefaultVersion": boolean
//             }
//           ],
//           "licenseConfigurationArns": [
//             "string"
//           ],
//           "region": "string",
//           "s3ExportConfiguration": {
//             "diskImageFormat": "string",
//             "roleName": "string",
//             "s3Bucket": "string",
//             "s3Prefix": "string"
//           }
//         }
//       ],
//       "name": "string",
//       "tags": {
//         "string": "string"
//       },
//       "timeoutMinutes": number
//     },
//     "enhancedImageMetadataEnabled": boolean,
//     "imageRecipe": {
//       "additionalInstanceConfiguration": {
//         "systemsManagerAgent": {
//           "uninstallAfterBuild": boolean
//         },
//         "userDataOverride": "string"
//       },
//       "arn": "string",
//       "blockDeviceMappings": [
//         {
//           "deviceName": "string",
//           "ebs": {
//             "deleteOnTermination": boolean,
//             "encrypted": boolean,
//             "iops": number,
//             "kmsKeyId": "string",
//             "snapshotId": "string",
//             "throughput": number,
//             "volumeSize": number,
//             "volumeType": "string"
//           },
//           "noDevice": "string",
//           "virtualName": "string"
//         }
//       ],
//       "components": [
//         {
//           "componentArn": "string",
//           "parameters": [
//             {
//               "name": "string",
//               "value": [
//                 "string"
//               ]
//             }
//           ]
//         }
//       ],
//       "dateCreated": "string",
//       "description": "string",
//       "name": "string",
//       "owner": "string",
//       "parentImage": "string",
//       "platform": "string",
//       "tags": {
//         "string": "string"
//       },
//       "type": "string",
//       "version": "string",
//       "workingDirectory": "string"
//     },
//     "imageTestsConfiguration": {
//       "imageTestsEnabled": boolean,
//       "timeoutMinutes": number
//     },
//     "infrastructureConfiguration": {
//       "arn": "string",
//       "dateCreated": "string",
//       "dateUpdated": "string",
//       "description": "string",
//       "instanceMetadataOptions": {
//         "httpPutResponseHopLimit": number,
//         "httpTokens": "string"
//       },
//       "instanceProfileName": "string",
//       "instanceTypes": [
//         "string"
//       ],
//       "keyPair": "string",
//       "logging": {
//         "s3Logs": {
//           "s3BucketName": "string",
//           "s3KeyPrefix": "string"
//         }
//       },
//       "name": "string",
//       "resourceTags": {
//         "string": "string"
//       },
//       "securityGroupIds": [
//         "string"
//       ],
//       "snsTopicArn": "string",
//       "subnetId": "string",
//       "tags": {
//         "string": "string"
//       },
//       "terminateInstanceOnFailure": boolean
//     },
//     "name": "string",
//     "osVersion": "string",
//     "outputResources": {
//       "amis": [
//         {
//           "accountId": "string",
//           "description": "string",
//           "image": "string",
//           "name": "string",
//           "region": "string",
//           "state": {
//             "reason": "string",
//             "status": "string"
//           }
//         }
//       ],
//       "containers": [
//         {
//           "imageUris": [
//             "string"
//           ],
//           "region": "string"
//         }
//       ]
//     },
//     "platform": "string",
//     "sourcePipelineArn": "string",
//     "sourcePipelineName": "string",
//     "state": {
//       "reason": "string",
//       "status": "string"
//     },
//     "tags": {
//       "string": "string"
//     },
//     "type": "string",
//     "version": "string"
//   },
//   "requestId": "string"
// }


destroy loo_Rest
destroy loo_AuthAws
destroy loo_SbResponseBody
destroy loo_JResp