Chilkat Online Tools

GetFindings Foxpro Example

Amazon GuardDuty

LOCAL loRest
LOCAL lnSuccess
LOCAL loAuthAws
LOCAL loJson
LOCAL loSbRequestBody
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJResp
LOCAL lcAccountId
LOCAL lcArn
LOCAL lnConfidence
LOCAL lcCreatedAt
LOCAL lcDescription
LOCAL lcId
LOCAL lcPartition
LOCAL lcRegion
LOCAL lcAccessKeyId
LOCAL lcPrincipalId
LOCAL lcUserName
LOCAL lcUserType
LOCAL lcArn
LOCAL lnCreatedAt
LOCAL lcName
LOCAL lcStatus
LOCAL lcVpcId
LOCAL lcAvailabilityZone
LOCAL lcIamInstanceProfileArn
LOCAL lcId
LOCAL lcImageDescription
LOCAL lcImageId
LOCAL lcInstanceId
LOCAL lcInstanceState
LOCAL lcInstanceType
LOCAL lcLaunchTime
LOCAL lcOutpostArn
LOCAL lcPlatform
LOCAL lcUid
LOCAL lcUsername
LOCAL lnHostNetwork
LOCAL lcKubernetesWorkloadDetailsName
LOCAL lcNamespace
LOCAL lcV_Type
LOCAL lcKubernetesWorkloadDetailsUid
LOCAL lcResourceType
LOCAL lcSchemaVersion
LOCAL lcActionType
LOCAL lcApi
LOCAL lcCallerType
LOCAL lcDomain
LOCAL lcErrorCode
LOCAL lcAccountId
LOCAL lnAffiliated
LOCAL lcCityName
LOCAL lcCountryCode
LOCAL lcCountryName
LOCAL lnLat
LOCAL lnLon
LOCAL lcIpAddressV4
LOCAL lcV_Asn
LOCAL lcAsnOrg
LOCAL lcIsp
LOCAL lcOrg
LOCAL lcServiceName
LOCAL lcUserAgent
LOCAL lcDnsRequestActionDomain
LOCAL lcParameters
LOCAL lcCityCityName
LOCAL lcCountryCountryCode
LOCAL lcCountryCountryName
LOCAL lnGeoLocationLat
LOCAL lnGeoLocationLon
LOCAL lcRemoteIpDetailsIpAddressV4
LOCAL lcOrganizationAsn
LOCAL lcOrganizationAsnOrg
LOCAL lcOrganizationIsp
LOCAL lcOrganizationOrg
LOCAL lcRequestUri
LOCAL lnStatusCode
LOCAL lcKubernetesApiCallActionUserAgent
LOCAL lcVerb
LOCAL lnBlocked
LOCAL lcConnectionDirection
LOCAL lcLocalIpDetailsIpAddressV4
LOCAL lnPort
LOCAL lcPortName
LOCAL lcProtocol
LOCAL lnRemotePortDetailsPort
LOCAL lcRemotePortDetailsPortName
LOCAL lnPortProbeActionBlocked
LOCAL lnArchived
LOCAL lnCount
LOCAL lcDetectorId
LOCAL lcEventFirstSeen
LOCAL lcEventLastSeen
LOCAL lcResourceRole
LOCAL lcServiceServiceName
LOCAL lcUserFeedback
LOCAL lnSeverity
LOCAL lcTitle
LOCAL lcV_type
LOCAL lcUpdatedAt
LOCAL j
LOCAL lnCount_j
LOCAL lcKey
LOCAL lcValue
LOCAL lcNetworkInterfaceId
LOCAL lcPrivateDnsName
LOCAL lcPrivateIpAddress
LOCAL lcPublicDnsName
LOCAL lcPublicIp
LOCAL lcSubnetId
LOCAL lcVpcId
LOCAL k
LOCAL lnCount_k
LOCAL lcStrVal
LOCAL lcGroupId
LOCAL lcGroupName
LOCAL lcCode
LOCAL lcProductType
LOCAL lcContainerRuntime
LOCAL lcImage
LOCAL lcImagePrefix
LOCAL lcName
LOCAL lnPrivileged
LOCAL lcMountPath
LOCAL lcPath
LOCAL lnCreatedAt_int
LOCAL lcEncryptionType
LOCAL lcKmsMasterKeyArn
LOCAL lcOwnerId
LOCAL lcEffectivePermission
LOCAL lnBlockPublicAcls
LOCAL lnBlockPublicPolicy
LOCAL lnIgnorePublicAcls
LOCAL lnRestrictPublicBuckets
LOCAL lnAllowsPublicReadAccess
LOCAL lnAllowsPublicWriteAccess
LOCAL lnBlockPublicAccessBlockPublicAcls
LOCAL lnBlockPublicAccessBlockPublicPolicy
LOCAL lnBlockPublicAccessIgnorePublicAcls
LOCAL lnBlockPublicAccessRestrictPublicBuckets
LOCAL lnBucketPolicyAllowsPublicReadAccess
LOCAL lnBucketPolicyAllowsPublicWriteAccess
LOCAL lcLocalIpDetailsIpAddressV4
LOCAL lnLocalPortDetailsPort
LOCAL lcLocalPortDetailsPortName
LOCAL lcRemoteIpDetailsIpAddressV4
LOCAL lcThreatListName
LOCAL i
LOCAL lnCount_i

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

loRest = CreateObject('Chilkat_9_5_0.Rest')

loAuthAws = CreateObject('Chilkat_9_5_0.AuthAws')
loAuthAws.AccessKey = "AWS_ACCESS_KEY"
loAuthAws.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.)
loAuthAws.Region = "us-west-2"
loAuthAws.ServiceName = "guardduty"
* SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
loRest.SetAuthAws(loAuthAws)

* URL: https://guardduty.us-west-2.amazonaws.com/
* Use the same region as specified above.
lnSuccess = loRest.Connect("guardduty.us-west-2.amazonaws.com",443,1,1)
IF (lnSuccess <> 1) THEN
    ? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loAuthAws
    CANCEL
ENDIF

* The following code creates the JSON request body.
* The JSON created by this code is shown below.

* Use this online tool to generate code from sample JSON:
* Generate Code to Create JSON

loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.UpdateString("findingIds[0]","string")
loJson.UpdateString("sortCriteria.attributeName","string")
loJson.UpdateString("sortCriteria.orderBy","string")

* The JSON request body created by the above code:

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

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

loSbRequestBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loJson.EmitSb(loSbRequestBody)
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestSb("POST","/detector/{detectorId}/findings/get",loSbRequestBody,loSbResponseBody)
IF (lnSuccess <> 1) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loAuthAws
    RELEASE loJson
    RELEASE loSbRequestBody
    RELEASE loSbResponseBody
    CANCEL
ENDIF

lnRespStatusCode = loRest.ResponseStatusCode
? "response status code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode <> 200) THEN
    ? "Response Header:"
    ? loRest.ResponseHeader
    ? "Response Body:"
    ? loSbResponseBody.GetAsString()
    RELEASE loRest
    RELEASE loAuthAws
    RELEASE loJson
    RELEASE loSbRequestBody
    RELEASE loSbResponseBody
    CANCEL
ENDIF

loJResp = CreateObject('Chilkat_9_5_0.JsonObject')
loJResp.LoadSb(loSbResponseBody)

* 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
lnCount_i = loJResp.SizeOfArray("findings")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcAccountId = loJResp.StringOf("findings[i].accountId")
    lcArn = loJResp.StringOf("findings[i].arn")
    lnConfidence = loJResp.IntOf("findings[i].confidence")
    lcCreatedAt = loJResp.StringOf("findings[i].createdAt")
    lcDescription = loJResp.StringOf("findings[i].description")
    lcId = loJResp.StringOf("findings[i].id")
    lcPartition = loJResp.StringOf("findings[i].partition")
    lcRegion = loJResp.StringOf("findings[i].region")
    lcAccessKeyId = loJResp.StringOf("findings[i].resource.accessKeyDetails.accessKeyId")
    lcPrincipalId = loJResp.StringOf("findings[i].resource.accessKeyDetails.principalId")
    lcUserName = loJResp.StringOf("findings[i].resource.accessKeyDetails.userName")
    lcUserType = loJResp.StringOf("findings[i].resource.accessKeyDetails.userType")
    lcArn = loJResp.StringOf("findings[i].resource.eksClusterDetails.arn")
    lnCreatedAt = loJResp.IntOf("findings[i].resource.eksClusterDetails.createdAt")
    lcName = loJResp.StringOf("findings[i].resource.eksClusterDetails.name")
    lcStatus = loJResp.StringOf("findings[i].resource.eksClusterDetails.status")
    lcVpcId = loJResp.StringOf("findings[i].resource.eksClusterDetails.vpcId")
    lcAvailabilityZone = loJResp.StringOf("findings[i].resource.instanceDetails.availabilityZone")
    lcIamInstanceProfileArn = loJResp.StringOf("findings[i].resource.instanceDetails.iamInstanceProfile.arn")
    lcId = loJResp.StringOf("findings[i].resource.instanceDetails.iamInstanceProfile.id")
    lcImageDescription = loJResp.StringOf("findings[i].resource.instanceDetails.imageDescription")
    lcImageId = loJResp.StringOf("findings[i].resource.instanceDetails.imageId")
    lcInstanceId = loJResp.StringOf("findings[i].resource.instanceDetails.instanceId")
    lcInstanceState = loJResp.StringOf("findings[i].resource.instanceDetails.instanceState")
    lcInstanceType = loJResp.StringOf("findings[i].resource.instanceDetails.instanceType")
    lcLaunchTime = loJResp.StringOf("findings[i].resource.instanceDetails.launchTime")
    lcOutpostArn = loJResp.StringOf("findings[i].resource.instanceDetails.outpostArn")
    lcPlatform = loJResp.StringOf("findings[i].resource.instanceDetails.platform")
    lcUid = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.uid")
    lcUsername = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.username")
    lnHostNetwork = loJResp.IntOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.hostNetwork")
    lcKubernetesWorkloadDetailsName = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.name")
    lcNamespace = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.namespace")
    lcV_Type = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.type")
    lcKubernetesWorkloadDetailsUid = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.uid")
    lcResourceType = loJResp.StringOf("findings[i].resource.resourceType")
    lcSchemaVersion = loJResp.StringOf("findings[i].schemaVersion")
    lcActionType = loJResp.StringOf("findings[i].service.action.actionType")
    lcApi = loJResp.StringOf("findings[i].service.action.awsApiCallAction.api")
    lcCallerType = loJResp.StringOf("findings[i].service.action.awsApiCallAction.callerType")
    lcDomain = loJResp.StringOf("findings[i].service.action.awsApiCallAction.domainDetails.domain")
    lcErrorCode = loJResp.StringOf("findings[i].service.action.awsApiCallAction.errorCode")
    lcAccountId = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteAccountDetails.accountId")
    lnAffiliated = loJResp.IntOf("findings[i].service.action.awsApiCallAction.remoteAccountDetails.affiliated")
    lcCityName = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.city.cityName")
    lcCountryCode = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryCode")
    lcCountryName = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryName")
    lnLat = loJResp.IntOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lat")
    lnLon = loJResp.IntOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lon")
    lcIpAddressV4 = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.ipAddressV4")
    lcV_Asn = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asn")
    lcAsnOrg = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg")
    lcIsp = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.isp")
    lcOrg = loJResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.org")
    lcServiceName = loJResp.StringOf("findings[i].service.action.awsApiCallAction.serviceName")
    lcUserAgent = loJResp.StringOf("findings[i].service.action.awsApiCallAction.userAgent")
    lcDnsRequestActionDomain = loJResp.StringOf("findings[i].service.action.dnsRequestAction.domain")
    lcParameters = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.parameters")
    lcCityCityName = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.city.cityName")
    lcCountryCountryCode = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryCode")
    lcCountryCountryName = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryName")
    lnGeoLocationLat = loJResp.IntOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lat")
    lnGeoLocationLon = loJResp.IntOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lon")
    lcRemoteIpDetailsIpAddressV4 = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4")
    lcOrganizationAsn = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn")
    lcOrganizationAsnOrg = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asnOrg")
    lcOrganizationIsp = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.isp")
    lcOrganizationOrg = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.org")
    lcRequestUri = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.requestUri")
    lnStatusCode = loJResp.IntOf("findings[i].service.action.kubernetesApiCallAction.statusCode")
    lcKubernetesApiCallActionUserAgent = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.userAgent")
    lcVerb = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.verb")
    lnBlocked = loJResp.IntOf("findings[i].service.action.networkConnectionAction.blocked")
    lcConnectionDirection = loJResp.StringOf("findings[i].service.action.networkConnectionAction.connectionDirection")
    lcLocalIpDetailsIpAddressV4 = loJResp.StringOf("findings[i].service.action.networkConnectionAction.localIpDetails.ipAddressV4")
    lnPort = loJResp.IntOf("findings[i].service.action.networkConnectionAction.localPortDetails.port")
    lcPortName = loJResp.StringOf("findings[i].service.action.networkConnectionAction.localPortDetails.portName")
    lcProtocol = loJResp.StringOf("findings[i].service.action.networkConnectionAction.protocol")
    lcCityCityName = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.city.cityName")
    lcCountryCountryCode = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryCode")
    lcCountryCountryName = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryName")
    lnGeoLocationLat = loJResp.IntOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lat")
    lnGeoLocationLon = loJResp.IntOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lon")
    lcRemoteIpDetailsIpAddressV4 = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.ipAddressV4")
    lcOrganizationAsn = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asn")
    lcOrganizationAsnOrg = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg")
    lcOrganizationIsp = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.isp")
    lcOrganizationOrg = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.org")
    lnRemotePortDetailsPort = loJResp.IntOf("findings[i].service.action.networkConnectionAction.remotePortDetails.port")
    lcRemotePortDetailsPortName = loJResp.StringOf("findings[i].service.action.networkConnectionAction.remotePortDetails.portName")
    lnPortProbeActionBlocked = loJResp.IntOf("findings[i].service.action.portProbeAction.blocked")
    lnArchived = loJResp.IntOf("findings[i].service.archived")
    lnCount = loJResp.IntOf("findings[i].service.count")
    lcDetectorId = loJResp.StringOf("findings[i].service.detectorId")
    lcEventFirstSeen = loJResp.StringOf("findings[i].service.eventFirstSeen")
    lcEventLastSeen = loJResp.StringOf("findings[i].service.eventLastSeen")
    lcResourceRole = loJResp.StringOf("findings[i].service.resourceRole")
    lcServiceServiceName = loJResp.StringOf("findings[i].service.serviceName")
    lcUserFeedback = loJResp.StringOf("findings[i].service.userFeedback")
    lnSeverity = loJResp.IntOf("findings[i].severity")
    lcTitle = loJResp.StringOf("findings[i].title")
    lcV_type = loJResp.StringOf("findings[i].type")
    lcUpdatedAt = loJResp.StringOf("findings[i].updatedAt")
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.eksClusterDetails.tags")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcKey = loJResp.StringOf("findings[i].resource.eksClusterDetails.tags[j].key")
        lcValue = loJResp.StringOf("findings[i].resource.eksClusterDetails.tags[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcNetworkInterfaceId = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].networkInterfaceId")
        lcPrivateDnsName = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateDnsName")
        lcPrivateIpAddress = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddress")
        lcPublicDnsName = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].publicDnsName")
        lcPublicIp = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].publicIp")
        lcSubnetId = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].subnetId")
        lcVpcId = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].vpcId")
        k = 0
        lnCount_k = loJResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcStrVal = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses[k]")
            k = k + 1
        ENDDO
        k = 0
        lnCount_k = loJResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcPrivateDnsName = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateDnsName")
            lcPrivateIpAddress = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateIpAddress")
            k = k + 1
        ENDDO
        k = 0
        lnCount_k = loJResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcGroupId = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupId")
            lcGroupName = loJResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupName")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.instanceDetails.productCodes")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcCode = loJResp.StringOf("findings[i].resource.instanceDetails.productCodes[j].code")
        lcProductType = loJResp.StringOf("findings[i].resource.instanceDetails.productCodes[j].productType")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.instanceDetails.tags")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcKey = loJResp.StringOf("findings[i].resource.instanceDetails.tags[j].key")
        lcValue = loJResp.StringOf("findings[i].resource.instanceDetails.tags[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcStrVal = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups[j]")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcContainerRuntime = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].containerRuntime")
        lcId = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].id")
        lcImage = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].image")
        lcImagePrefix = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].imagePrefix")
        lcName = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].name")
        lnPrivileged = loJResp.IntOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].securityContext.privileged")
        k = 0
        lnCount_k = loJResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcMountPath = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].mountPath")
            lcName = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].name")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcPath = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].hostPath.path")
        lcName = loJResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].name")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].resource.s3BucketDetails")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcArn = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].arn")
        lnCreatedAt_int = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].createdAt")
        lcEncryptionType = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.encryptionType")
        lcKmsMasterKeyArn = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.kmsMasterKeyArn")
        lcName = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].name")
        lcOwnerId = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].owner.id")
        lcEffectivePermission = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].publicAccess.effectivePermission")
        lnBlockPublicAcls = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicAcls")
        lnBlockPublicPolicy = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicPolicy")
        lnIgnorePublicAcls = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.ignorePublicAcls")
        lnRestrictPublicBuckets = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.restrictPublicBuckets")
        lnAllowsPublicReadAccess = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicReadAccess")
        lnAllowsPublicWriteAccess = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicWriteAccess")
        lnBlockPublicAccessBlockPublicAcls = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicAcls")
        lnBlockPublicAccessBlockPublicPolicy = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicPolicy")
        lnBlockPublicAccessIgnorePublicAcls = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.ignorePublicAcls")
        lnBlockPublicAccessRestrictPublicBuckets = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.restrictPublicBuckets")
        lnBucketPolicyAllowsPublicReadAccess = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicReadAccess")
        lnBucketPolicyAllowsPublicWriteAccess = loJResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicWriteAccess")
        lcV_type = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].type")
        k = 0
        lnCount_k = loJResp.SizeOfArray("findings[i].resource.s3BucketDetails[j].tags")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcKey = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].tags[k].key")
            lcValue = loJResp.StringOf("findings[i].resource.s3BucketDetails[j].tags[k].value")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].service.action.kubernetesApiCallAction.sourceIps")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcStrVal = loJResp.StringOf("findings[i].service.action.kubernetesApiCallAction.sourceIps[j]")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].service.action.portProbeAction.portProbeDetails")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcLocalIpDetailsIpAddressV4 = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localIpDetails.ipAddressV4")
        lnLocalPortDetailsPort = loJResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.port")
        lcLocalPortDetailsPortName = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.portName")
        lcCityCityName = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.city.cityName")
        lcCountryCountryCode = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryCode")
        lcCountryCountryName = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryName")
        lnGeoLocationLat = loJResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lat")
        lnGeoLocationLon = loJResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lon")
        lcRemoteIpDetailsIpAddressV4 = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.ipAddressV4")
        lcOrganizationAsn = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asn")
        lcOrganizationAsnOrg = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asnOrg")
        lcOrganizationIsp = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.isp")
        lcOrganizationOrg = loJResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.org")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("findings[i].service.evidence.threatIntelligenceDetails")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcThreatListName = loJResp.StringOf("findings[i].service.evidence.threatIntelligenceDetails[j].threatListName")
        k = 0
        lnCount_k = loJResp.SizeOfArray("findings[i].service.evidence.threatIntelligenceDetails[j].threatNames")
        DO WHILE k < lnCount_k
            loJResp.K = k
            lcStrVal = loJResp.StringOf("findings[i].service.evidence.threatIntelligenceDetails[j].threatNames[k]")
            k = k + 1
        ENDDO
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

* 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"
*     }
*   ]
* }

RELEASE loRest
RELEASE loAuthAws
RELEASE loJson
RELEASE loSbRequestBody
RELEASE loSbResponseBody
RELEASE loJResp