Chilkat Online Tools

GetFindings DataFlex Example

Amazon GuardDuty

Use ChilkatAx-9.5.0-win32.pkg

Procedure Test
    Handle hoRest
    Boolean iSuccess
    Variant vAuthAws
    Handle hoAuthAws
    Handle hoJson
    Variant vSbRequestBody
    Handle hoSbRequestBody
    Variant vSbResponseBody
    Handle hoSbResponseBody
    Integer iRespStatusCode
    Handle hoJResp
    String sAccountId
    String sArn
    Integer iConfidence
    String sCreatedAt
    String sDescription
    String sId
    String sPartition
    String sRegion
    String sAccessKeyId
    String sPrincipalId
    String sUserName
    String sUserType
    String sArn
    Integer iCreatedAt
    String sName
    String sStatus
    String sVpcId
    String sAvailabilityZone
    String sIamInstanceProfileArn
    String sId
    String sImageDescription
    String sImageId
    String sInstanceId
    String sInstanceState
    String sInstanceType
    String sLaunchTime
    String sOutpostArn
    String sPlatform
    String sUid
    String sUsername
    Integer iHostNetwork
    String sKubernetesWorkloadDetailsName
    String sNamespace
    String sV_Type
    String sKubernetesWorkloadDetailsUid
    String sResourceType
    String sSchemaVersion
    String sActionType
    String sApi
    String sCallerType
    String sDomain
    String sErrorCode
    String sAccountId
    Integer iAffiliated
    String sCityName
    String sCountryCode
    String sCountryName
    Integer iLat
    Integer iLon
    String sIpAddressV4
    String sV_Asn
    String sAsnOrg
    String sIsp
    String sOrg
    String sServiceName
    String sUserAgent
    String sDnsRequestActionDomain
    String sParameters
    String sCityCityName
    String sCountryCountryCode
    String sCountryCountryName
    Integer iGeoLocationLat
    Integer iGeoLocationLon
    String sRemoteIpDetailsIpAddressV4
    String sOrganizationAsn
    String sOrganizationAsnOrg
    String sOrganizationIsp
    String sOrganizationOrg
    String sRequestUri
    Integer iStatusCode
    String sKubernetesApiCallActionUserAgent
    String sVerb
    Integer iBlocked
    String sConnectionDirection
    String sLocalIpDetailsIpAddressV4
    Integer iPort
    String sPortName
    String sProtocol
    Integer iRemotePortDetailsPort
    String sRemotePortDetailsPortName
    Integer iPortProbeActionBlocked
    Integer iArchived
    Integer iCount
    String sDetectorId
    String sEventFirstSeen
    String sEventLastSeen
    String sResourceRole
    String sServiceServiceName
    String sUserFeedback
    Integer iSeverity
    String sTitle
    String sV_type
    String sUpdatedAt
    Integer j
    Integer iCount_j
    String sKey
    String sValue
    String sNetworkInterfaceId
    String sPrivateDnsName
    String sPrivateIpAddress
    String sPublicDnsName
    String sPublicIp
    String sSubnetId
    String sVpcId
    Integer k
    Integer iCount_k
    String sStrVal
    String sGroupId
    String sGroupName
    String sCode
    String sProductType
    String sContainerRuntime
    String sImage
    String sImagePrefix
    String sName
    Integer iPrivileged
    String sMountPath
    String sPath
    Integer iCreatedAt_int
    String sEncryptionType
    String sKmsMasterKeyArn
    String sOwnerId
    String sEffectivePermission
    Integer iBlockPublicAcls
    Integer iBlockPublicPolicy
    Integer iIgnorePublicAcls
    Integer iRestrictPublicBuckets
    Integer iAllowsPublicReadAccess
    Integer iAllowsPublicWriteAccess
    Integer iBlockPublicAccessBlockPublicAcls
    Integer iBlockPublicAccessBlockPublicPolicy
    Integer iBlockPublicAccessIgnorePublicAcls
    Integer iBlockPublicAccessRestrictPublicBuckets
    Integer iBucketPolicyAllowsPublicReadAccess
    Integer iBucketPolicyAllowsPublicWriteAccess
    String sLocalIpDetailsIpAddressV4
    Integer iLocalPortDetailsPort
    String sLocalPortDetailsPortName
    String sRemoteIpDetailsIpAddressV4
    String sThreatListName
    Integer i
    Integer iCount_i
    String sTemp1
    Integer iTemp1

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

    Get Create (RefClass(cComChilkatRest)) To hoRest
    If (Not(IsComObjectCreated(hoRest))) Begin
        Send CreateComObject of hoRest
    End

    Get Create (RefClass(cComChilkatAuthAws)) To hoAuthAws
    If (Not(IsComObjectCreated(hoAuthAws))) Begin
        Send CreateComObject of hoAuthAws
    End
    Set ComAccessKey Of hoAuthAws To "AWS_ACCESS_KEY"
    Set ComSecretKey Of hoAuthAws To "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.)
    Set ComRegion Of hoAuthAws To "us-west-2"
    Set ComServiceName Of hoAuthAws To "guardduty"
    // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    Get pvComObject of hoAuthAws to vAuthAws
    Get ComSetAuthAws Of hoRest vAuthAws To iSuccess

    // URL: https://guardduty.us-west-2.amazonaws.com/
    // Use the same region as specified above.
    Get ComConnect Of hoRest "guardduty.us-west-2.amazonaws.com" 443 True True To iSuccess
    If (iSuccess <> True) Begin
        Get ComConnectFailReason Of hoRest To iTemp1
        Showln "ConnectFailReason: " iTemp1
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

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

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "findingIds[0]" "string" To iSuccess
    Get ComUpdateString Of hoJson "sortCriteria.attributeName" "string" To iSuccess
    Get ComUpdateString Of hoJson "sortCriteria.orderBy" "string" To iSuccess

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

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

    Get ComAddHeader Of hoRest "Content-Type" "application/x-amz-json-1.1" To iSuccess
    Get ComAddHeader Of hoRest "X-Amz-Target" "GetFindings" To iSuccess

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbRequestBody
    If (Not(IsComObjectCreated(hoSbRequestBody))) Begin
        Send CreateComObject of hoSbRequestBody
    End
    Get pvComObject of hoSbRequestBody to vSbRequestBody
    Get ComEmitSb Of hoJson vSbRequestBody To iSuccess
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
    If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
        Send CreateComObject of hoSbResponseBody
    End
    Get pvComObject of hoSbRequestBody to vSbRequestBody
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComFullRequestSb Of hoRest "POST" "/detector/{detectorId}/findings/get" vSbRequestBody vSbResponseBody To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoRest To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComResponseStatusCode Of hoRest To iRespStatusCode
    Showln "response status code = " iRespStatusCode
    If (iRespStatusCode <> 200) Begin
        Showln "Response Header:"
        Get ComResponseHeader Of hoRest To sTemp1
        Showln sTemp1
        Showln "Response Body:"
        Get ComGetAsString Of hoSbResponseBody To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
    If (Not(IsComObjectCreated(hoJResp))) Begin
        Send CreateComObject of hoJResp
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess

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

    Move 0 To i
    Get ComSizeOfArray Of hoJResp "findings" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJResp To i
        Get ComStringOf Of hoJResp "findings[i].accountId" To sAccountId
        Get ComStringOf Of hoJResp "findings[i].arn" To sArn
        Get ComIntOf Of hoJResp "findings[i].confidence" To iConfidence
        Get ComStringOf Of hoJResp "findings[i].createdAt" To sCreatedAt
        Get ComStringOf Of hoJResp "findings[i].description" To sDescription
        Get ComStringOf Of hoJResp "findings[i].id" To sId
        Get ComStringOf Of hoJResp "findings[i].partition" To sPartition
        Get ComStringOf Of hoJResp "findings[i].region" To sRegion
        Get ComStringOf Of hoJResp "findings[i].resource.accessKeyDetails.accessKeyId" To sAccessKeyId
        Get ComStringOf Of hoJResp "findings[i].resource.accessKeyDetails.principalId" To sPrincipalId
        Get ComStringOf Of hoJResp "findings[i].resource.accessKeyDetails.userName" To sUserName
        Get ComStringOf Of hoJResp "findings[i].resource.accessKeyDetails.userType" To sUserType
        Get ComStringOf Of hoJResp "findings[i].resource.eksClusterDetails.arn" To sArn
        Get ComIntOf Of hoJResp "findings[i].resource.eksClusterDetails.createdAt" To iCreatedAt
        Get ComStringOf Of hoJResp "findings[i].resource.eksClusterDetails.name" To sName
        Get ComStringOf Of hoJResp "findings[i].resource.eksClusterDetails.status" To sStatus
        Get ComStringOf Of hoJResp "findings[i].resource.eksClusterDetails.vpcId" To sVpcId
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.availabilityZone" To sAvailabilityZone
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.iamInstanceProfile.arn" To sIamInstanceProfileArn
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.iamInstanceProfile.id" To sId
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.imageDescription" To sImageDescription
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.imageId" To sImageId
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.instanceId" To sInstanceId
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.instanceState" To sInstanceState
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.instanceType" To sInstanceType
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.launchTime" To sLaunchTime
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.outpostArn" To sOutpostArn
        Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.platform" To sPlatform
        Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesUserDetails.uid" To sUid
        Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesUserDetails.username" To sUsername
        Get ComIntOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.hostNetwork" To iHostNetwork
        Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.name" To sKubernetesWorkloadDetailsName
        Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.namespace" To sNamespace
        Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.type" To sV_Type
        Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.uid" To sKubernetesWorkloadDetailsUid
        Get ComStringOf Of hoJResp "findings[i].resource.resourceType" To sResourceType
        Get ComStringOf Of hoJResp "findings[i].schemaVersion" To sSchemaVersion
        Get ComStringOf Of hoJResp "findings[i].service.action.actionType" To sActionType
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.api" To sApi
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.callerType" To sCallerType
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.domainDetails.domain" To sDomain
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.errorCode" To sErrorCode
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteAccountDetails.accountId" To sAccountId
        Get ComIntOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteAccountDetails.affiliated" To iAffiliated
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.city.cityName" To sCityName
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryCode" To sCountryCode
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryName" To sCountryName
        Get ComIntOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lat" To iLat
        Get ComIntOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lon" To iLon
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.ipAddressV4" To sIpAddressV4
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asn" To sV_Asn
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg" To sAsnOrg
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.isp" To sIsp
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.org" To sOrg
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.serviceName" To sServiceName
        Get ComStringOf Of hoJResp "findings[i].service.action.awsApiCallAction.userAgent" To sUserAgent
        Get ComStringOf Of hoJResp "findings[i].service.action.dnsRequestAction.domain" To sDnsRequestActionDomain
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.parameters" To sParameters
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.city.cityName" To sCityCityName
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryCode" To sCountryCountryCode
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryName" To sCountryCountryName
        Get ComIntOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lat" To iGeoLocationLat
        Get ComIntOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lon" To iGeoLocationLon
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4" To sRemoteIpDetailsIpAddressV4
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn" To sOrganizationAsn
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asnOrg" To sOrganizationAsnOrg
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.isp" To sOrganizationIsp
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.org" To sOrganizationOrg
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.requestUri" To sRequestUri
        Get ComIntOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.statusCode" To iStatusCode
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.userAgent" To sKubernetesApiCallActionUserAgent
        Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.verb" To sVerb
        Get ComIntOf Of hoJResp "findings[i].service.action.networkConnectionAction.blocked" To iBlocked
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.connectionDirection" To sConnectionDirection
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.localIpDetails.ipAddressV4" To sLocalIpDetailsIpAddressV4
        Get ComIntOf Of hoJResp "findings[i].service.action.networkConnectionAction.localPortDetails.port" To iPort
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.localPortDetails.portName" To sPortName
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.protocol" To sProtocol
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.city.cityName" To sCityCityName
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryCode" To sCountryCountryCode
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryName" To sCountryCountryName
        Get ComIntOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lat" To iGeoLocationLat
        Get ComIntOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lon" To iGeoLocationLon
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.ipAddressV4" To sRemoteIpDetailsIpAddressV4
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asn" To sOrganizationAsn
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg" To sOrganizationAsnOrg
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.isp" To sOrganizationIsp
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.org" To sOrganizationOrg
        Get ComIntOf Of hoJResp "findings[i].service.action.networkConnectionAction.remotePortDetails.port" To iRemotePortDetailsPort
        Get ComStringOf Of hoJResp "findings[i].service.action.networkConnectionAction.remotePortDetails.portName" To sRemotePortDetailsPortName
        Get ComIntOf Of hoJResp "findings[i].service.action.portProbeAction.blocked" To iPortProbeActionBlocked
        Get ComIntOf Of hoJResp "findings[i].service.archived" To iArchived
        Get ComIntOf Of hoJResp "findings[i].service.count" To iCount
        Get ComStringOf Of hoJResp "findings[i].service.detectorId" To sDetectorId
        Get ComStringOf Of hoJResp "findings[i].service.eventFirstSeen" To sEventFirstSeen
        Get ComStringOf Of hoJResp "findings[i].service.eventLastSeen" To sEventLastSeen
        Get ComStringOf Of hoJResp "findings[i].service.resourceRole" To sResourceRole
        Get ComStringOf Of hoJResp "findings[i].service.serviceName" To sServiceServiceName
        Get ComStringOf Of hoJResp "findings[i].service.userFeedback" To sUserFeedback
        Get ComIntOf Of hoJResp "findings[i].severity" To iSeverity
        Get ComStringOf Of hoJResp "findings[i].title" To sTitle
        Get ComStringOf Of hoJResp "findings[i].type" To sV_type
        Get ComStringOf Of hoJResp "findings[i].updatedAt" To sUpdatedAt
        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.eksClusterDetails.tags" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.eksClusterDetails.tags[j].key" To sKey
            Get ComStringOf Of hoJResp "findings[i].resource.eksClusterDetails.tags[j].value" To sValue
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].networkInterfaceId" To sNetworkInterfaceId
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].privateDnsName" To sPrivateDnsName
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddress" To sPrivateIpAddress
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].publicDnsName" To sPublicDnsName
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].publicIp" To sPublicIp
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].subnetId" To sSubnetId
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].vpcId" To sVpcId
            Move 0 To k
            Get ComSizeOfArray Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses" To iCount_k
            While (k < iCount_k)
                Set ComK Of hoJResp To k
                Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses[k]" To sStrVal
                Move (k + 1) To k
            Loop

            Move 0 To k
            Get ComSizeOfArray Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses" To iCount_k
            While (k < iCount_k)
                Set ComK Of hoJResp To k
                Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateDnsName" To sPrivateDnsName
                Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateIpAddress" To sPrivateIpAddress
                Move (k + 1) To k
            Loop

            Move 0 To k
            Get ComSizeOfArray Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups" To iCount_k
            While (k < iCount_k)
                Set ComK Of hoJResp To k
                Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupId" To sGroupId
                Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupName" To sGroupName
                Move (k + 1) To k
            Loop

            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.instanceDetails.productCodes" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.productCodes[j].code" To sCode
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.productCodes[j].productType" To sProductType
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.instanceDetails.tags" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.tags[j].key" To sKey
            Get ComStringOf Of hoJResp "findings[i].resource.instanceDetails.tags[j].value" To sValue
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups[j]" To sStrVal
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].containerRuntime" To sContainerRuntime
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].id" To sId
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].image" To sImage
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].imagePrefix" To sImagePrefix
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].name" To sName
            Get ComIntOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].securityContext.privileged" To iPrivileged
            Move 0 To k
            Get ComSizeOfArray Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts" To iCount_k
            While (k < iCount_k)
                Set ComK Of hoJResp To k
                Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].mountPath" To sMountPath
                Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].name" To sName
                Move (k + 1) To k
            Loop

            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].hostPath.path" To sPath
            Get ComStringOf Of hoJResp "findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].name" To sName
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].resource.s3BucketDetails" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].arn" To sArn
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].createdAt" To iCreatedAt_int
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.encryptionType" To sEncryptionType
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.kmsMasterKeyArn" To sKmsMasterKeyArn
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].name" To sName
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].owner.id" To sOwnerId
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.effectivePermission" To sEffectivePermission
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicAcls" To iBlockPublicAcls
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicPolicy" To iBlockPublicPolicy
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.ignorePublicAcls" To iIgnorePublicAcls
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.restrictPublicBuckets" To iRestrictPublicBuckets
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicReadAccess" To iAllowsPublicReadAccess
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicWriteAccess" To iAllowsPublicWriteAccess
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicAcls" To iBlockPublicAccessBlockPublicAcls
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicPolicy" To iBlockPublicAccessBlockPublicPolicy
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.ignorePublicAcls" To iBlockPublicAccessIgnorePublicAcls
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.restrictPublicBuckets" To iBlockPublicAccessRestrictPublicBuckets
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicReadAccess" To iBucketPolicyAllowsPublicReadAccess
            Get ComIntOf Of hoJResp "findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicWriteAccess" To iBucketPolicyAllowsPublicWriteAccess
            Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].type" To sV_type
            Move 0 To k
            Get ComSizeOfArray Of hoJResp "findings[i].resource.s3BucketDetails[j].tags" To iCount_k
            While (k < iCount_k)
                Set ComK Of hoJResp To k
                Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].tags[k].key" To sKey
                Get ComStringOf Of hoJResp "findings[i].resource.s3BucketDetails[j].tags[k].value" To sValue
                Move (k + 1) To k
            Loop

            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].service.action.kubernetesApiCallAction.sourceIps" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].service.action.kubernetesApiCallAction.sourceIps[j]" To sStrVal
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].localIpDetails.ipAddressV4" To sLocalIpDetailsIpAddressV4
            Get ComIntOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.port" To iLocalPortDetailsPort
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.portName" To sLocalPortDetailsPortName
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.city.cityName" To sCityCityName
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryCode" To sCountryCountryCode
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryName" To sCountryCountryName
            Get ComIntOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lat" To iGeoLocationLat
            Get ComIntOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lon" To iGeoLocationLon
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.ipAddressV4" To sRemoteIpDetailsIpAddressV4
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asn" To sOrganizationAsn
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asnOrg" To sOrganizationAsnOrg
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.isp" To sOrganizationIsp
            Get ComStringOf Of hoJResp "findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.org" To sOrganizationOrg
            Move (j + 1) To j
        Loop

        Move 0 To j
        Get ComSizeOfArray Of hoJResp "findings[i].service.evidence.threatIntelligenceDetails" To iCount_j
        While (j < iCount_j)
            Set ComJ Of hoJResp To j
            Get ComStringOf Of hoJResp "findings[i].service.evidence.threatIntelligenceDetails[j].threatListName" To sThreatListName
            Move 0 To k
            Get ComSizeOfArray Of hoJResp "findings[i].service.evidence.threatIntelligenceDetails[j].threatNames" To iCount_k
            While (k < iCount_k)
                Set ComK Of hoJResp To k
                Get ComStringOf Of hoJResp "findings[i].service.evidence.threatIntelligenceDetails[j].threatNames[k]" To sStrVal
                Move (k + 1) To k
            Loop

            Move (j + 1) To j
        Loop

        Move (i + 1) To i
    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"
    //     }
    //   ]
    // }


End_Procedure