Chilkat Online Tools

GetFindings PowerBuilder Example

Amazon GuardDuty

integer li_rc
oleobject loo_Rest
integer li_Success
oleobject loo_AuthAws
oleobject loo_Json
oleobject loo_SbRequestBody
oleobject loo_SbResponseBody
integer li_RespStatusCode
oleobject loo_JResp
string ls_AccountId
string ls_Arn
integer li_Confidence
string ls_CreatedAt
string ls_Description
string ls_Id
string ls_Partition
string ls_Region
string ls_AccessKeyId
string ls_PrincipalId
string ls_UserName
string ls_UserType
string ls_Arn
integer li_CreatedAt
string ls_Name
string ls_Status
string ls_VpcId
string ls_AvailabilityZone
string ls_IamInstanceProfileArn
string ls_Id
string ls_ImageDescription
string ls_ImageId
string ls_InstanceId
string ls_InstanceState
string ls_InstanceType
string ls_LaunchTime
string ls_OutpostArn
string ls_Platform
string ls_Uid
string ls_Username
integer li_HostNetwork
string ls_KubernetesWorkloadDetailsName
string ls_Namespace
string ls_V_Type
string ls_KubernetesWorkloadDetailsUid
string ls_ResourceType
string ls_SchemaVersion
string ls_ActionType
string ls_Api
string ls_CallerType
string ls_Domain
string ls_ErrorCode
string ls_AccountId
integer li_Affiliated
string ls_CityName
string ls_CountryCode
string ls_CountryName
integer li_Lat
integer li_Lon
string ls_IpAddressV4
string ls_V_Asn
string ls_AsnOrg
string ls_Isp
string ls_Org
string ls_ServiceName
string ls_UserAgent
string ls_DnsRequestActionDomain
string ls_Parameters
string ls_CityCityName
string ls_CountryCountryCode
string ls_CountryCountryName
integer li_GeoLocationLat
integer li_GeoLocationLon
string ls_RemoteIpDetailsIpAddressV4
string ls_OrganizationAsn
string ls_OrganizationAsnOrg
string ls_OrganizationIsp
string ls_OrganizationOrg
string ls_RequestUri
integer li_StatusCode
string ls_KubernetesApiCallActionUserAgent
string ls_Verb
integer li_Blocked
string ls_ConnectionDirection
string ls_LocalIpDetailsIpAddressV4
integer li_Port
string ls_PortName
string ls_Protocol
integer li_RemotePortDetailsPort
string ls_RemotePortDetailsPortName
integer li_PortProbeActionBlocked
integer li_Archived
integer li_Count
string ls_DetectorId
string ls_EventFirstSeen
string ls_EventLastSeen
string ls_ResourceRole
string ls_ServiceServiceName
string ls_UserFeedback
integer li_Severity
string ls_Title
string ls_V_type
string ls_UpdatedAt
integer j
integer li_Count_j
string ls_Key
string ls_Value
string ls_NetworkInterfaceId
string ls_PrivateDnsName
string ls_PrivateIpAddress
string ls_PublicDnsName
string ls_PublicIp
string ls_SubnetId
string ls_VpcId
integer k
integer li_Count_k
string ls_StrVal
string ls_GroupId
string ls_GroupName
string ls_Code
string ls_ProductType
string ls_ContainerRuntime
string ls_Image
string ls_ImagePrefix
string ls_Name
integer li_Privileged
string ls_MountPath
string ls_Path
integer li_CreatedAt_int
string ls_EncryptionType
string ls_KmsMasterKeyArn
string ls_OwnerId
string ls_EffectivePermission
integer li_BlockPublicAcls
integer li_BlockPublicPolicy
integer li_IgnorePublicAcls
integer li_RestrictPublicBuckets
integer li_AllowsPublicReadAccess
integer li_AllowsPublicWriteAccess
integer li_BlockPublicAccessBlockPublicAcls
integer li_BlockPublicAccessBlockPublicPolicy
integer li_BlockPublicAccessIgnorePublicAcls
integer li_BlockPublicAccessRestrictPublicBuckets
integer li_BucketPolicyAllowsPublicReadAccess
integer li_BucketPolicyAllowsPublicWriteAccess
string ls_LocalIpDetailsIpAddressV4
integer li_LocalPortDetailsPort
string ls_LocalPortDetailsPortName
string ls_RemoteIpDetailsIpAddressV4
string ls_ThreatListName
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 = "guardduty"
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
loo_Rest.SetAuthAws(loo_AuthAws)

// URL: https://guardduty.us-west-2.amazonaws.com/
// Use the same region as specified above.
li_Success = loo_Rest.Connect("guardduty.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

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

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

loo_Json.UpdateString("findingIds[0]","string")
loo_Json.UpdateString("sortCriteria.attributeName","string")
loo_Json.UpdateString("sortCriteria.orderBy","string")

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

// {
//   "findingIds": [
//     "string"
//   ],
//   "sortCriteria": {
//     "attributeName": "string",
//     "orderBy": "string"
//   }
// }

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

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

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

li_Success = loo_Rest.FullRequestSb("POST","/detector/{detectorId}/findings/get",loo_SbRequestBody,loo_SbResponseBody)
if li_Success <> 1 then
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    destroy loo_AuthAws
    destroy loo_Json
    destroy loo_SbRequestBody
    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_Json
    destroy loo_SbRequestBody
    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

i = 0
li_Count_i = loo_JResp.SizeOfArray("findings")
do while i < li_Count_i
    loo_JResp.I = i
    ls_AccountId = loo_JResp.StringOf("findings[i].accountId")
    ls_Arn = loo_JResp.StringOf("findings[i].arn")
    li_Confidence = loo_JResp.IntOf("findings[i].confidence")
    ls_CreatedAt = loo_JResp.StringOf("findings[i].createdAt")
    ls_Description = loo_JResp.StringOf("findings[i].description")
    ls_Id = loo_JResp.StringOf("findings[i].id")
    ls_Partition = loo_JResp.StringOf("findings[i].partition")
    ls_Region = loo_JResp.StringOf("findings[i].region")
    ls_AccessKeyId = loo_JResp.StringOf("findings[i].resource.accessKeyDetails.accessKeyId")
    ls_PrincipalId = loo_JResp.StringOf("findings[i].resource.accessKeyDetails.principalId")
    ls_UserName = loo_JResp.StringOf("findings[i].resource.accessKeyDetails.userName")
    ls_UserType = loo_JResp.StringOf("findings[i].resource.accessKeyDetails.userType")
    ls_Arn = loo_JResp.StringOf("findings[i].resource.eksClusterDetails.arn")
    li_CreatedAt = loo_JResp.IntOf("findings[i].resource.eksClusterDetails.createdAt")
    ls_Name = loo_JResp.StringOf("findings[i].resource.eksClusterDetails.name")
    ls_Status = loo_JResp.StringOf("findings[i].resource.eksClusterDetails.status")
    ls_VpcId = loo_JResp.StringOf("findings[i].resource.eksClusterDetails.vpcId")
    ls_AvailabilityZone = loo_JResp.StringOf("findings[i].resource.instanceDetails.availabilityZone")
    ls_IamInstanceProfileArn = loo_JResp.StringOf("findings[i].resource.instanceDetails.iamInstanceProfile.arn")
    ls_Id = loo_JResp.StringOf("findings[i].resource.instanceDetails.iamInstanceProfile.id")
    ls_ImageDescription = loo_JResp.StringOf("findings[i].resource.instanceDetails.imageDescription")
    ls_ImageId = loo_JResp.StringOf("findings[i].resource.instanceDetails.imageId")
    ls_InstanceId = loo_JResp.StringOf("findings[i].resource.instanceDetails.instanceId")
    ls_InstanceState = loo_JResp.StringOf("findings[i].resource.instanceDetails.instanceState")
    ls_InstanceType = loo_JResp.StringOf("findings[i].resource.instanceDetails.instanceType")
    ls_LaunchTime = loo_JResp.StringOf("findings[i].resource.instanceDetails.launchTime")
    ls_OutpostArn = loo_JResp.StringOf("findings[i].resource.instanceDetails.outpostArn")
    ls_Platform = loo_JResp.StringOf("findings[i].resource.instanceDetails.platform")
    ls_Uid = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.uid")
    ls_Username = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.username")
    li_HostNetwork = loo_JResp.IntOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.hostNetwork")
    ls_KubernetesWorkloadDetailsName = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.name")
    ls_Namespace = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.namespace")
    ls_V_Type = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.type")
    ls_KubernetesWorkloadDetailsUid = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.uid")
    ls_ResourceType = loo_JResp.StringOf("findings[i].resource.resourceType")
    ls_SchemaVersion = loo_JResp.StringOf("findings[i].schemaVersion")
    ls_ActionType = loo_JResp.StringOf("findings[i].service.action.actionType")
    ls_Api = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.api")
    ls_CallerType = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.callerType")
    ls_Domain = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.domainDetails.domain")
    ls_ErrorCode = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.errorCode")
    ls_AccountId = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteAccountDetails.accountId")
    li_Affiliated = loo_JResp.IntOf("findings[i].service.action.awsApiCallAction.remoteAccountDetails.affiliated")
    ls_CityName = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.city.cityName")
    ls_CountryCode = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryCode")
    ls_CountryName = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryName")
    li_Lat = loo_JResp.IntOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lat")
    li_Lon = loo_JResp.IntOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lon")
    ls_IpAddressV4 = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.ipAddressV4")
    ls_V_Asn = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asn")
    ls_AsnOrg = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg")
    ls_Isp = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.isp")
    ls_Org = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.org")
    ls_ServiceName = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.serviceName")
    ls_UserAgent = loo_JResp.StringOf("findings[i].service.action.awsApiCallAction.userAgent")
    ls_DnsRequestActionDomain = loo_JResp.StringOf("findings[i].service.action.dnsRequestAction.domain")
    ls_Parameters = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.parameters")
    ls_CityCityName = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.city.cityName")
    ls_CountryCountryCode = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryCode")
    ls_CountryCountryName = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryName")
    li_GeoLocationLat = loo_JResp.IntOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lat")
    li_GeoLocationLon = loo_JResp.IntOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lon")
    ls_RemoteIpDetailsIpAddressV4 = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4")
    ls_OrganizationAsn = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn")
    ls_OrganizationAsnOrg = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asnOrg")
    ls_OrganizationIsp = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.isp")
    ls_OrganizationOrg = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.org")
    ls_RequestUri = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.requestUri")
    li_StatusCode = loo_JResp.IntOf("findings[i].service.action.kubernetesApiCallAction.statusCode")
    ls_KubernetesApiCallActionUserAgent = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.userAgent")
    ls_Verb = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.verb")
    li_Blocked = loo_JResp.IntOf("findings[i].service.action.networkConnectionAction.blocked")
    ls_ConnectionDirection = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.connectionDirection")
    ls_LocalIpDetailsIpAddressV4 = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.localIpDetails.ipAddressV4")
    li_Port = loo_JResp.IntOf("findings[i].service.action.networkConnectionAction.localPortDetails.port")
    ls_PortName = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.localPortDetails.portName")
    ls_Protocol = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.protocol")
    ls_CityCityName = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.city.cityName")
    ls_CountryCountryCode = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryCode")
    ls_CountryCountryName = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryName")
    li_GeoLocationLat = loo_JResp.IntOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lat")
    li_GeoLocationLon = loo_JResp.IntOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lon")
    ls_RemoteIpDetailsIpAddressV4 = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.ipAddressV4")
    ls_OrganizationAsn = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asn")
    ls_OrganizationAsnOrg = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg")
    ls_OrganizationIsp = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.isp")
    ls_OrganizationOrg = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.org")
    li_RemotePortDetailsPort = loo_JResp.IntOf("findings[i].service.action.networkConnectionAction.remotePortDetails.port")
    ls_RemotePortDetailsPortName = loo_JResp.StringOf("findings[i].service.action.networkConnectionAction.remotePortDetails.portName")
    li_PortProbeActionBlocked = loo_JResp.IntOf("findings[i].service.action.portProbeAction.blocked")
    li_Archived = loo_JResp.IntOf("findings[i].service.archived")
    li_Count = loo_JResp.IntOf("findings[i].service.count")
    ls_DetectorId = loo_JResp.StringOf("findings[i].service.detectorId")
    ls_EventFirstSeen = loo_JResp.StringOf("findings[i].service.eventFirstSeen")
    ls_EventLastSeen = loo_JResp.StringOf("findings[i].service.eventLastSeen")
    ls_ResourceRole = loo_JResp.StringOf("findings[i].service.resourceRole")
    ls_ServiceServiceName = loo_JResp.StringOf("findings[i].service.serviceName")
    ls_UserFeedback = loo_JResp.StringOf("findings[i].service.userFeedback")
    li_Severity = loo_JResp.IntOf("findings[i].severity")
    ls_Title = loo_JResp.StringOf("findings[i].title")
    ls_V_type = loo_JResp.StringOf("findings[i].type")
    ls_UpdatedAt = loo_JResp.StringOf("findings[i].updatedAt")
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.eksClusterDetails.tags")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Key = loo_JResp.StringOf("findings[i].resource.eksClusterDetails.tags[j].key")
        ls_Value = loo_JResp.StringOf("findings[i].resource.eksClusterDetails.tags[j].value")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_NetworkInterfaceId = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].networkInterfaceId")
        ls_PrivateDnsName = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateDnsName")
        ls_PrivateIpAddress = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddress")
        ls_PublicDnsName = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].publicDnsName")
        ls_PublicIp = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].publicIp")
        ls_SubnetId = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].subnetId")
        ls_VpcId = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].vpcId")
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_StrVal = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses[k]")
            k = k + 1
        loop
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_PrivateDnsName = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateDnsName")
            ls_PrivateIpAddress = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateIpAddress")
            k = k + 1
        loop
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_GroupId = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupId")
            ls_GroupName = loo_JResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupName")
            k = k + 1
        loop
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.instanceDetails.productCodes")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Code = loo_JResp.StringOf("findings[i].resource.instanceDetails.productCodes[j].code")
        ls_ProductType = loo_JResp.StringOf("findings[i].resource.instanceDetails.productCodes[j].productType")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.instanceDetails.tags")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Key = loo_JResp.StringOf("findings[i].resource.instanceDetails.tags[j].key")
        ls_Value = loo_JResp.StringOf("findings[i].resource.instanceDetails.tags[j].value")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_ContainerRuntime = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].containerRuntime")
        ls_Id = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].id")
        ls_Image = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].image")
        ls_ImagePrefix = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].imagePrefix")
        ls_Name = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].name")
        li_Privileged = loo_JResp.IntOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].securityContext.privileged")
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_MountPath = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].mountPath")
            ls_Name = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].name")
            k = k + 1
        loop
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Path = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].hostPath.path")
        ls_Name = loo_JResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].name")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].resource.s3BucketDetails")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_Arn = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].arn")
        li_CreatedAt_int = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].createdAt")
        ls_EncryptionType = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.encryptionType")
        ls_KmsMasterKeyArn = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.kmsMasterKeyArn")
        ls_Name = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].name")
        ls_OwnerId = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].owner.id")
        ls_EffectivePermission = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].publicAccess.effectivePermission")
        li_BlockPublicAcls = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicAcls")
        li_BlockPublicPolicy = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicPolicy")
        li_IgnorePublicAcls = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.ignorePublicAcls")
        li_RestrictPublicBuckets = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.restrictPublicBuckets")
        li_AllowsPublicReadAccess = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicReadAccess")
        li_AllowsPublicWriteAccess = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicWriteAccess")
        li_BlockPublicAccessBlockPublicAcls = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicAcls")
        li_BlockPublicAccessBlockPublicPolicy = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicPolicy")
        li_BlockPublicAccessIgnorePublicAcls = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.ignorePublicAcls")
        li_BlockPublicAccessRestrictPublicBuckets = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.restrictPublicBuckets")
        li_BucketPolicyAllowsPublicReadAccess = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicReadAccess")
        li_BucketPolicyAllowsPublicWriteAccess = loo_JResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicWriteAccess")
        ls_V_type = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].type")
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("findings[i].resource.s3BucketDetails[j].tags")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_Key = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].tags[k].key")
            ls_Value = loo_JResp.StringOf("findings[i].resource.s3BucketDetails[j].tags[k].value")
            k = k + 1
        loop
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].service.action.kubernetesApiCallAction.sourceIps")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_StrVal = loo_JResp.StringOf("findings[i].service.action.kubernetesApiCallAction.sourceIps[j]")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].service.action.portProbeAction.portProbeDetails")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_LocalIpDetailsIpAddressV4 = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localIpDetails.ipAddressV4")
        li_LocalPortDetailsPort = loo_JResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.port")
        ls_LocalPortDetailsPortName = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.portName")
        ls_CityCityName = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.city.cityName")
        ls_CountryCountryCode = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryCode")
        ls_CountryCountryName = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryName")
        li_GeoLocationLat = loo_JResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lat")
        li_GeoLocationLon = loo_JResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lon")
        ls_RemoteIpDetailsIpAddressV4 = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.ipAddressV4")
        ls_OrganizationAsn = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asn")
        ls_OrganizationAsnOrg = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asnOrg")
        ls_OrganizationIsp = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.isp")
        ls_OrganizationOrg = loo_JResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.org")
        j = j + 1
    loop
    j = 0
    li_Count_j = loo_JResp.SizeOfArray("findings[i].service.evidence.threatIntelligenceDetails")
    do while j < li_Count_j
        loo_JResp.J = j
        ls_ThreatListName = loo_JResp.StringOf("findings[i].service.evidence.threatIntelligenceDetails[j].threatListName")
        k = 0
        li_Count_k = loo_JResp.SizeOfArray("findings[i].service.evidence.threatIntelligenceDetails[j].threatNames")
        do while k < li_Count_k
            loo_JResp.K = k
            ls_StrVal = loo_JResp.StringOf("findings[i].service.evidence.threatIntelligenceDetails[j].threatNames[k]")
            k = k + 1
        loop
        j = j + 1
    loop
    i = i + 1
loop

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

// {
//   "findings": [
//     {
//       "accountId": "string",
//       "arn": "string",
//       "confidence": number,
//       "createdAt": "string",
//       "description": "string",
//       "id": "string",
//       "partition": "string",
//       "region": "string",
//       "resource": {
//         "accessKeyDetails": {
//           "accessKeyId": "string",
//           "principalId": "string",
//           "userName": "string",
//           "userType": "string"
//         },
//         "eksClusterDetails": {
//           "arn": "string",
//           "createdAt": number,
//           "name": "string",
//           "status": "string",
//           "tags": [
//             {
//               "key": "string",
//               "value": "string"
//             }
//           ],
//           "vpcId": "string"
//         },
//         "instanceDetails": {
//           "availabilityZone": "string",
//           "iamInstanceProfile": {
//             "arn": "string",
//             "id": "string"
//           },
//           "imageDescription": "string",
//           "imageId": "string",
//           "instanceId": "string",
//           "instanceState": "string",
//           "instanceType": "string",
//           "launchTime": "string",
//           "networkInterfaces": [
//             {
//               "ipv6Addresses": [
//                 "string"
//               ],
//               "networkInterfaceId": "string",
//               "privateDnsName": "string",
//               "privateIpAddress": "string",
//               "privateIpAddresses": [
//                 {
//                   "privateDnsName": "string",
//                   "privateIpAddress": "string"
//                 }
//               ],
//               "publicDnsName": "string",
//               "publicIp": "string",
//               "securityGroups": [
//                 {
//                   "groupId": "string",
//                   "groupName": "string"
//                 }
//               ],
//               "subnetId": "string",
//               "vpcId": "string"
//             }
//           ],
//           "outpostArn": "string",
//           "platform": "string",
//           "productCodes": [
//             {
//               "code": "string",
//               "productType": "string"
//             }
//           ],
//           "tags": [
//             {
//               "key": "string",
//               "value": "string"
//             }
//           ]
//         },
//         "kubernetesDetails": {
//           "kubernetesUserDetails": {
//             "groups": [
//               "string"
//             ],
//             "uid": "string",
//             "username": "string"
//           },
//           "kubernetesWorkloadDetails": {
//             "containers": [
//               {
//                 "containerRuntime": "string",
//                 "id": "string",
//                 "image": "string",
//                 "imagePrefix": "string",
//                 "name": "string",
//                 "securityContext": {
//                   "privileged": boolean
//                 },
//                 "volumeMounts": [
//                   {
//                     "mountPath": "string",
//                     "name": "string"
//                   }
//                 ]
//               }
//             ],
//             "hostNetwork": boolean,
//             "name": "string",
//             "namespace": "string",
//             "type": "string",
//             "uid": "string",
//             "volumes": [
//               {
//                 "hostPath": {
//                   "path": "string"
//                 },
//                 "name": "string"
//               }
//             ]
//           }
//         },
//         "resourceType": "string",
//         "s3BucketDetails": [
//           {
//             "arn": "string",
//             "createdAt": number,
//             "defaultServerSideEncryption": {
//               "encryptionType": "string",
//               "kmsMasterKeyArn": "string"
//             },
//             "name": "string",
//             "owner": {
//               "id": "string"
//             },
//             "publicAccess": {
//               "effectivePermission": "string",
//               "permissionConfiguration": {
//                 "accountLevelPermissions": {
//                   "blockPublicAccess": {
//                     "blockPublicAcls": boolean,
//                     "blockPublicPolicy": boolean,
//                     "ignorePublicAcls": boolean,
//                     "restrictPublicBuckets": boolean
//                   }
//                 },
//                 "bucketLevelPermissions": {
//                   "accessControlList": {
//                     "allowsPublicReadAccess": boolean,
//                     "allowsPublicWriteAccess": boolean
//                   },
//                   "blockPublicAccess": {
//                     "blockPublicAcls": boolean,
//                     "blockPublicPolicy": boolean,
//                     "ignorePublicAcls": boolean,
//                     "restrictPublicBuckets": boolean
//                   },
//                   "bucketPolicy": {
//                     "allowsPublicReadAccess": boolean,
//                     "allowsPublicWriteAccess": boolean
//                   }
//                 }
//               }
//             },
//             "tags": [
//               {
//                 "key": "string",
//                 "value": "string"
//               }
//             ],
//             "type": "string"
//           }
//         ]
//       },
//       "schemaVersion": "string",
//       "service": {
//         "action": {
//           "actionType": "string",
//           "awsApiCallAction": {
//             "api": "string",
//             "callerType": "string",
//             "domainDetails": {
//               "domain": "string"
//             },
//             "errorCode": "string",
//             "remoteAccountDetails": {
//               "accountId": "string",
//               "affiliated": boolean
//             },
//             "remoteIpDetails": {
//               "city": {
//                 "cityName": "string"
//               },
//               "country": {
//                 "countryCode": "string",
//                 "countryName": "string"
//               },
//               "geoLocation": {
//                 "lat": number,
//                 "lon": number
//               },
//               "ipAddressV4": "string",
//               "organization": {
//                 "asn": "string",
//                 "asnOrg": "string",
//                 "isp": "string",
//                 "org": "string"
//               }
//             },
//             "serviceName": "string",
//             "userAgent": "string"
//           },
//           "dnsRequestAction": {
//             "domain": "string"
//           },
//           "kubernetesApiCallAction": {
//             "parameters": "string",
//             "remoteIpDetails": {
//               "city": {
//                 "cityName": "string"
//               },
//               "country": {
//                 "countryCode": "string",
//                 "countryName": "string"
//               },
//               "geoLocation": {
//                 "lat": number,
//                 "lon": number
//               },
//               "ipAddressV4": "string",
//               "organization": {
//                 "asn": "string",
//                 "asnOrg": "string",
//                 "isp": "string",
//                 "org": "string"
//               }
//             },
//             "requestUri": "string",
//             "sourceIps": [
//               "string"
//             ],
//             "statusCode": number,
//             "userAgent": "string",
//             "verb": "string"
//           },
//           "networkConnectionAction": {
//             "blocked": boolean,
//             "connectionDirection": "string",
//             "localIpDetails": {
//               "ipAddressV4": "string"
//             },
//             "localPortDetails": {
//               "port": number,
//               "portName": "string"
//             },
//             "protocol": "string",
//             "remoteIpDetails": {
//               "city": {
//                 "cityName": "string"
//               },
//               "country": {
//                 "countryCode": "string",
//                 "countryName": "string"
//               },
//               "geoLocation": {
//                 "lat": number,
//                 "lon": number
//               },
//               "ipAddressV4": "string",
//               "organization": {
//                 "asn": "string",
//                 "asnOrg": "string",
//                 "isp": "string",
//                 "org": "string"
//               }
//             },
//             "remotePortDetails": {
//               "port": number,
//               "portName": "string"
//             }
//           },
//           "portProbeAction": {
//             "blocked": boolean,
//             "portProbeDetails": [
//               {
//                 "localIpDetails": {
//                   "ipAddressV4": "string"
//                 },
//                 "localPortDetails": {
//                   "port": number,
//                   "portName": "string"
//                 },
//                 "remoteIpDetails": {
//                   "city": {
//                     "cityName": "string"
//                   },
//                   "country": {
//                     "countryCode": "string",
//                     "countryName": "string"
//                   },
//                   "geoLocation": {
//                     "lat": number,
//                     "lon": number
//                   },
//                   "ipAddressV4": "string",
//                   "organization": {
//                     "asn": "string",
//                     "asnOrg": "string",
//                     "isp": "string",
//                     "org": "string"
//                   }
//                 }
//               }
//             ]
//           }
//         },
//         "archived": boolean,
//         "count": number,
//         "detectorId": "string",
//         "eventFirstSeen": "string",
//         "eventLastSeen": "string",
//         "evidence": {
//           "threatIntelligenceDetails": [
//             {
//               "threatListName": "string",
//               "threatNames": [
//                 "string"
//               ]
//             }
//           ]
//         },
//         "resourceRole": "string",
//         "serviceName": "string",
//         "userFeedback": "string"
//       },
//       "severity": number,
//       "title": "string",
//       "type": "string",
//       "updatedAt": "string"
//     }
//   ]
// }


destroy loo_Rest
destroy loo_AuthAws
destroy loo_Json
destroy loo_SbRequestBody
destroy loo_SbResponseBody
destroy loo_JResp