GetFindings DataFlex Example
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