Chilkat Online Tools

GetFindings Go Example

Amazon GuardDuty

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

    rest := chilkat.NewRest()
    var success bool

    authAws := chilkat.NewAuthAws()
    authAws.SetAccessKey("AWS_ACCESS_KEY")
    authAws.SetSecretKey("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.)
    authAws.SetRegion("us-west-2")
    authAws.SetServiceName("guardduty")
    // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    rest.SetAuthAws(authAws)

    // URL: https://guardduty.us-west-2.amazonaws.com/
    // Use the same region as specified above.
    success = rest.Connect("guardduty.us-west-2.amazonaws.com",443,true,true)
    if success != true {
        fmt.Println("ConnectFailReason: ", rest.ConnectFailReason())
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        return
    }

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

    json := chilkat.NewJsonObject()
    json.UpdateString("findingIds[0]","string")
    json.UpdateString("sortCriteria.attributeName","string")
    json.UpdateString("sortCriteria.orderBy","string")

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

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

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

    sbRequestBody := chilkat.NewStringBuilder()
    json.EmitSb(sbRequestBody)
    sbResponseBody := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/detector/{detectorId}/findings/get",sbRequestBody,sbResponseBody)
    if success != true {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    respStatusCode := rest.ResponseStatusCode()
    fmt.Println("response status code = ", respStatusCode)
    if respStatusCode != 200 {
        fmt.Println("Response Header:")
        fmt.Println(rest.ResponseHeader())
        fmt.Println("Response Body:")
        fmt.Println(*sbResponseBody.GetAsString())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    jResp := chilkat.NewJsonObject()
    jResp.LoadSb(sbResponseBody)

    // The following code parses the JSON response.
    // A sample JSON response is shown below the sample code.

    // Use this online tool to generate parsing code from sample JSON:
    // Generate Parsing Code from JSON

accountId_DECLARATION
arn_DECLARATION
    var confidence int
createdAt_DECLARATION
description_DECLARATION
id_DECLARATION
partition_DECLARATION
region_DECLARATION
AccessKeyId_DECLARATION
PrincipalId_DECLARATION
UserName_DECLARATION
UserType_DECLARATION
Arn_DECLARATION
    var CreatedAt int
Name_DECLARATION
Status_DECLARATION
VpcId_DECLARATION
AvailabilityZone_DECLARATION
IamInstanceProfileArn_DECLARATION
Id_DECLARATION
ImageDescription_DECLARATION
ImageId_DECLARATION
InstanceId_DECLARATION
InstanceState_DECLARATION
InstanceType_DECLARATION
LaunchTime_DECLARATION
OutpostArn_DECLARATION
Platform_DECLARATION
Uid_DECLARATION
Username_DECLARATION
    var HostNetwork int
KubernetesWorkloadDetailsName_DECLARATION
Namespace_DECLARATION
v_Type_DECLARATION
KubernetesWorkloadDetailsUid_DECLARATION
ResourceType_DECLARATION
schemaVersion_DECLARATION
ActionType_DECLARATION
Api_DECLARATION
CallerType_DECLARATION
Domain_DECLARATION
ErrorCode_DECLARATION
AccountId_DECLARATION
    var Affiliated int
CityName_DECLARATION
CountryCode_DECLARATION
CountryName_DECLARATION
    var Lat int
    var Lon int
IpAddressV4_DECLARATION
v_Asn_DECLARATION
AsnOrg_DECLARATION
Isp_DECLARATION
Org_DECLARATION
ServiceName_DECLARATION
UserAgent_DECLARATION
DnsRequestActionDomain_DECLARATION
Parameters_DECLARATION
CityCityName_DECLARATION
CountryCountryCode_DECLARATION
CountryCountryName_DECLARATION
    var GeoLocationLat int
    var GeoLocationLon int
RemoteIpDetailsIpAddressV4_DECLARATION
OrganizationAsn_DECLARATION
OrganizationAsnOrg_DECLARATION
OrganizationIsp_DECLARATION
OrganizationOrg_DECLARATION
RequestUri_DECLARATION
    var StatusCode int
KubernetesApiCallActionUserAgent_DECLARATION
Verb_DECLARATION
    var Blocked int
ConnectionDirection_DECLARATION
LocalIpDetailsIpAddressV4_DECLARATION
    var Port int
PortName_DECLARATION
Protocol_DECLARATION
    var RemotePortDetailsPort int
RemotePortDetailsPortName_DECLARATION
    var PortProbeActionBlocked int
    var Archived int
    var Count int
DetectorId_DECLARATION
EventFirstSeen_DECLARATION
EventLastSeen_DECLARATION
ResourceRole_DECLARATION
serviceServiceName_DECLARATION
UserFeedback_DECLARATION
    var severity int
title_DECLARATION
v_type_DECLARATION
updatedAt_DECLARATION
    var j int
    var count_j int
key_DECLARATION
value_DECLARATION
networkInterfaceId_DECLARATION
privateDnsName_DECLARATION
privateIpAddress_DECLARATION
publicDnsName_DECLARATION
publicIp_DECLARATION
subnetId_DECLARATION
vpcId_DECLARATION
    var k int
    var count_k int
strVal_DECLARATION
groupId_DECLARATION
groupName_DECLARATION
code_DECLARATION
productType_DECLARATION
containerRuntime_DECLARATION
image_DECLARATION
imagePrefix_DECLARATION
name_DECLARATION
    var Privileged int
mountPath_DECLARATION
Path_DECLARATION
    var createdAt_int int
EncryptionType_DECLARATION
KmsMasterKeyArn_DECLARATION
ownerId_DECLARATION
EffectivePermission_DECLARATION
    var BlockPublicAcls int
    var BlockPublicPolicy int
    var IgnorePublicAcls int
    var RestrictPublicBuckets int
    var AllowsPublicReadAccess int
    var AllowsPublicWriteAccess int
    var BlockPublicAccessBlockPublicAcls int
    var BlockPublicAccessBlockPublicPolicy int
    var BlockPublicAccessIgnorePublicAcls int
    var BlockPublicAccessRestrictPublicBuckets int
    var BucketPolicyAllowsPublicReadAccess int
    var BucketPolicyAllowsPublicWriteAccess int
localIpDetailsIpAddressV4_DECLARATION
    var localPortDetailsPort int
localPortDetailsPortName_DECLARATION
remoteIpDetailsIpAddressV4_DECLARATION
threatListName_DECLARATION

    i := 0
    count_i := jResp.SizeOfArray("findings")
    for i < count_i {
        jResp.SetI(i)
        accountId = *jResp.StringOf("findings[i].accountId")
        arn = *jResp.StringOf("findings[i].arn")
        confidence = jResp.IntOf("findings[i].confidence")
        createdAt = *jResp.StringOf("findings[i].createdAt")
        description = *jResp.StringOf("findings[i].description")
        id = *jResp.StringOf("findings[i].id")
        partition = *jResp.StringOf("findings[i].partition")
        region = *jResp.StringOf("findings[i].region")
        AccessKeyId = *jResp.StringOf("findings[i].resource.accessKeyDetails.accessKeyId")
        PrincipalId = *jResp.StringOf("findings[i].resource.accessKeyDetails.principalId")
        UserName = *jResp.StringOf("findings[i].resource.accessKeyDetails.userName")
        UserType = *jResp.StringOf("findings[i].resource.accessKeyDetails.userType")
        Arn = *jResp.StringOf("findings[i].resource.eksClusterDetails.arn")
        CreatedAt = jResp.IntOf("findings[i].resource.eksClusterDetails.createdAt")
        Name = *jResp.StringOf("findings[i].resource.eksClusterDetails.name")
        Status = *jResp.StringOf("findings[i].resource.eksClusterDetails.status")
        VpcId = *jResp.StringOf("findings[i].resource.eksClusterDetails.vpcId")
        AvailabilityZone = *jResp.StringOf("findings[i].resource.instanceDetails.availabilityZone")
        IamInstanceProfileArn = *jResp.StringOf("findings[i].resource.instanceDetails.iamInstanceProfile.arn")
        Id = *jResp.StringOf("findings[i].resource.instanceDetails.iamInstanceProfile.id")
        ImageDescription = *jResp.StringOf("findings[i].resource.instanceDetails.imageDescription")
        ImageId = *jResp.StringOf("findings[i].resource.instanceDetails.imageId")
        InstanceId = *jResp.StringOf("findings[i].resource.instanceDetails.instanceId")
        InstanceState = *jResp.StringOf("findings[i].resource.instanceDetails.instanceState")
        InstanceType = *jResp.StringOf("findings[i].resource.instanceDetails.instanceType")
        LaunchTime = *jResp.StringOf("findings[i].resource.instanceDetails.launchTime")
        OutpostArn = *jResp.StringOf("findings[i].resource.instanceDetails.outpostArn")
        Platform = *jResp.StringOf("findings[i].resource.instanceDetails.platform")
        Uid = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.uid")
        Username = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.username")
        HostNetwork = jResp.IntOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.hostNetwork")
        KubernetesWorkloadDetailsName = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.name")
        Namespace = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.namespace")
        v_Type = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.type")
        KubernetesWorkloadDetailsUid = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.uid")
        ResourceType = *jResp.StringOf("findings[i].resource.resourceType")
        schemaVersion = *jResp.StringOf("findings[i].schemaVersion")
        ActionType = *jResp.StringOf("findings[i].service.action.actionType")
        Api = *jResp.StringOf("findings[i].service.action.awsApiCallAction.api")
        CallerType = *jResp.StringOf("findings[i].service.action.awsApiCallAction.callerType")
        Domain = *jResp.StringOf("findings[i].service.action.awsApiCallAction.domainDetails.domain")
        ErrorCode = *jResp.StringOf("findings[i].service.action.awsApiCallAction.errorCode")
        AccountId = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteAccountDetails.accountId")
        Affiliated = jResp.IntOf("findings[i].service.action.awsApiCallAction.remoteAccountDetails.affiliated")
        CityName = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.city.cityName")
        CountryCode = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryCode")
        CountryName = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryName")
        Lat = jResp.IntOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lat")
        Lon = jResp.IntOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lon")
        IpAddressV4 = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.ipAddressV4")
        v_Asn = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asn")
        AsnOrg = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg")
        Isp = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.isp")
        Org = *jResp.StringOf("findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.org")
        ServiceName = *jResp.StringOf("findings[i].service.action.awsApiCallAction.serviceName")
        UserAgent = *jResp.StringOf("findings[i].service.action.awsApiCallAction.userAgent")
        DnsRequestActionDomain = *jResp.StringOf("findings[i].service.action.dnsRequestAction.domain")
        Parameters = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.parameters")
        CityCityName = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.city.cityName")
        CountryCountryCode = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryCode")
        CountryCountryName = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryName")
        GeoLocationLat = jResp.IntOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lat")
        GeoLocationLon = jResp.IntOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lon")
        RemoteIpDetailsIpAddressV4 = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4")
        OrganizationAsn = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn")
        OrganizationAsnOrg = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asnOrg")
        OrganizationIsp = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.isp")
        OrganizationOrg = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.org")
        RequestUri = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.requestUri")
        StatusCode = jResp.IntOf("findings[i].service.action.kubernetesApiCallAction.statusCode")
        KubernetesApiCallActionUserAgent = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.userAgent")
        Verb = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.verb")
        Blocked = jResp.IntOf("findings[i].service.action.networkConnectionAction.blocked")
        ConnectionDirection = *jResp.StringOf("findings[i].service.action.networkConnectionAction.connectionDirection")
        LocalIpDetailsIpAddressV4 = *jResp.StringOf("findings[i].service.action.networkConnectionAction.localIpDetails.ipAddressV4")
        Port = jResp.IntOf("findings[i].service.action.networkConnectionAction.localPortDetails.port")
        PortName = *jResp.StringOf("findings[i].service.action.networkConnectionAction.localPortDetails.portName")
        Protocol = *jResp.StringOf("findings[i].service.action.networkConnectionAction.protocol")
        CityCityName = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.city.cityName")
        CountryCountryCode = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryCode")
        CountryCountryName = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryName")
        GeoLocationLat = jResp.IntOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lat")
        GeoLocationLon = jResp.IntOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lon")
        RemoteIpDetailsIpAddressV4 = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.ipAddressV4")
        OrganizationAsn = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asn")
        OrganizationAsnOrg = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg")
        OrganizationIsp = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.isp")
        OrganizationOrg = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.org")
        RemotePortDetailsPort = jResp.IntOf("findings[i].service.action.networkConnectionAction.remotePortDetails.port")
        RemotePortDetailsPortName = *jResp.StringOf("findings[i].service.action.networkConnectionAction.remotePortDetails.portName")
        PortProbeActionBlocked = jResp.IntOf("findings[i].service.action.portProbeAction.blocked")
        Archived = jResp.IntOf("findings[i].service.archived")
        Count = jResp.IntOf("findings[i].service.count")
        DetectorId = *jResp.StringOf("findings[i].service.detectorId")
        EventFirstSeen = *jResp.StringOf("findings[i].service.eventFirstSeen")
        EventLastSeen = *jResp.StringOf("findings[i].service.eventLastSeen")
        ResourceRole = *jResp.StringOf("findings[i].service.resourceRole")
        serviceServiceName = *jResp.StringOf("findings[i].service.serviceName")
        UserFeedback = *jResp.StringOf("findings[i].service.userFeedback")
        severity = jResp.IntOf("findings[i].severity")
        title = *jResp.StringOf("findings[i].title")
        v_type = *jResp.StringOf("findings[i].type")
        updatedAt = *jResp.StringOf("findings[i].updatedAt")
        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.eksClusterDetails.tags")
        for j < count_j {
            jResp.SetJ(j)
            key = *jResp.StringOf("findings[i].resource.eksClusterDetails.tags[j].key")
            value = *jResp.StringOf("findings[i].resource.eksClusterDetails.tags[j].value")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces")
        for j < count_j {
            jResp.SetJ(j)
            networkInterfaceId = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].networkInterfaceId")
            privateDnsName = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateDnsName")
            privateIpAddress = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddress")
            publicDnsName = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].publicDnsName")
            publicIp = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].publicIp")
            subnetId = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].subnetId")
            vpcId = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].vpcId")
            k = 0
            count_k = jResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses")
            for k < count_k {
                jResp.SetK(k)
                strVal = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses[k]")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses")
            for k < count_k {
                jResp.SetK(k)
                privateDnsName = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateDnsName")
                privateIpAddress = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateIpAddress")
                k = k + 1
            }

            k = 0
            count_k = jResp.SizeOfArray("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups")
            for k < count_k {
                jResp.SetK(k)
                groupId = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupId")
                groupName = *jResp.StringOf("findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupName")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.instanceDetails.productCodes")
        for j < count_j {
            jResp.SetJ(j)
            code = *jResp.StringOf("findings[i].resource.instanceDetails.productCodes[j].code")
            productType = *jResp.StringOf("findings[i].resource.instanceDetails.productCodes[j].productType")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.instanceDetails.tags")
        for j < count_j {
            jResp.SetJ(j)
            key = *jResp.StringOf("findings[i].resource.instanceDetails.tags[j].key")
            value = *jResp.StringOf("findings[i].resource.instanceDetails.tags[j].value")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups")
        for j < count_j {
            jResp.SetJ(j)
            strVal = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers")
        for j < count_j {
            jResp.SetJ(j)
            containerRuntime = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].containerRuntime")
            id = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].id")
            image = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].image")
            imagePrefix = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].imagePrefix")
            name = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].name")
            Privileged = jResp.IntOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].securityContext.privileged")
            k = 0
            count_k = jResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts")
            for k < count_k {
                jResp.SetK(k)
                mountPath = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].mountPath")
                name = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].name")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes")
        for j < count_j {
            jResp.SetJ(j)
            Path = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].hostPath.path")
            name = *jResp.StringOf("findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].name")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].resource.s3BucketDetails")
        for j < count_j {
            jResp.SetJ(j)
            arn = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].arn")
            createdAt_int = jResp.IntOf("findings[i].resource.s3BucketDetails[j].createdAt")
            EncryptionType = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.encryptionType")
            KmsMasterKeyArn = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.kmsMasterKeyArn")
            name = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].name")
            ownerId = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].owner.id")
            EffectivePermission = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].publicAccess.effectivePermission")
            BlockPublicAcls = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicAcls")
            BlockPublicPolicy = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicPolicy")
            IgnorePublicAcls = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.ignorePublicAcls")
            RestrictPublicBuckets = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.restrictPublicBuckets")
            AllowsPublicReadAccess = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicReadAccess")
            AllowsPublicWriteAccess = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicWriteAccess")
            BlockPublicAccessBlockPublicAcls = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicAcls")
            BlockPublicAccessBlockPublicPolicy = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicPolicy")
            BlockPublicAccessIgnorePublicAcls = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.ignorePublicAcls")
            BlockPublicAccessRestrictPublicBuckets = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.restrictPublicBuckets")
            BucketPolicyAllowsPublicReadAccess = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicReadAccess")
            BucketPolicyAllowsPublicWriteAccess = jResp.IntOf("findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicWriteAccess")
            v_type = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].type")
            k = 0
            count_k = jResp.SizeOfArray("findings[i].resource.s3BucketDetails[j].tags")
            for k < count_k {
                jResp.SetK(k)
                key = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].tags[k].key")
                value = *jResp.StringOf("findings[i].resource.s3BucketDetails[j].tags[k].value")
                k = k + 1
            }

            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].service.action.kubernetesApiCallAction.sourceIps")
        for j < count_j {
            jResp.SetJ(j)
            strVal = *jResp.StringOf("findings[i].service.action.kubernetesApiCallAction.sourceIps[j]")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].service.action.portProbeAction.portProbeDetails")
        for j < count_j {
            jResp.SetJ(j)
            localIpDetailsIpAddressV4 = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localIpDetails.ipAddressV4")
            localPortDetailsPort = jResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.port")
            localPortDetailsPortName = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.portName")
            CityCityName = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.city.cityName")
            CountryCountryCode = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryCode")
            CountryCountryName = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryName")
            GeoLocationLat = jResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lat")
            GeoLocationLon = jResp.IntOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lon")
            remoteIpDetailsIpAddressV4 = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.ipAddressV4")
            OrganizationAsn = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asn")
            OrganizationAsnOrg = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asnOrg")
            OrganizationIsp = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.isp")
            OrganizationOrg = *jResp.StringOf("findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.org")
            j = j + 1
        }

        j = 0
        count_j = jResp.SizeOfArray("findings[i].service.evidence.threatIntelligenceDetails")
        for j < count_j {
            jResp.SetJ(j)
            threatListName = *jResp.StringOf("findings[i].service.evidence.threatIntelligenceDetails[j].threatListName")
            k = 0
            count_k = jResp.SizeOfArray("findings[i].service.evidence.threatIntelligenceDetails[j].threatNames")
            for k < count_k {
                jResp.SetK(k)
                strVal = *jResp.StringOf("findings[i].service.evidence.threatIntelligenceDetails[j].threatNames[k]")
                k = k + 1
            }

            j = j + 1
        }

        i = i + 1
    }

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

    rest.DisposeRest()
    authAws.DisposeAuthAws()
    json.DisposeJsonObject()
    sbRequestBody.DisposeStringBuilder()
    sbResponseBody.DisposeStringBuilder()
    jResp.DisposeJsonObject()