Chilkat Online Tools

GetFindings SQL Server Example

Amazon GuardDuty

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    DECLARE @sTmp0 nvarchar(max)
    -- This example requires the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @rest int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    DECLARE @authAws int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.AuthAws', @authAws OUT

    EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY'
    EXEC sp_OASetProperty @authAws, 'SecretKey', 'AWS_SECRET_KEY'

    -- Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
    EXEC sp_OASetProperty @authAws, 'Region', 'us-west-2'
    EXEC sp_OASetProperty @authAws, 'ServiceName', 'guardduty'
    -- SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, @authAws

    -- URL: https://guardduty.us-west-2.amazonaws.com/
    -- Use the same region as specified above.
    EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'guardduty.us-west-2.amazonaws.com', 443, 1, 1
    IF @success <> 1
      BEGIN

        EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT
        PRINT 'ConnectFailReason: ' + @iTmp0
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        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

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @json OUT

    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'findingIds[0]', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'sortCriteria.attributeName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'sortCriteria.orderBy', 'string'

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

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

    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/x-amz-json-1.1'
    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'X-Amz-Target', 'GetFindings'

    DECLARE @sbRequestBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbRequestBody OUT

    EXEC sp_OAMethod @json, 'EmitSb', @success OUT, @sbRequestBody
    DECLARE @sbResponseBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT

    EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/detector/{detectorId}/findings/get', @sbRequestBody, @sbResponseBody
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END
    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT

    PRINT 'response status code = ' + @respStatusCode
    IF @respStatusCode <> 200
      BEGIN

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Response Body:'
        EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END

    DECLARE @jResp int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @jResp OUT

    EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @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

    DECLARE @accountId nvarchar(max)

    DECLARE @arn nvarchar(max)

    DECLARE @confidence int

    DECLARE @createdAt nvarchar(max)

    DECLARE @description nvarchar(max)

    DECLARE @id nvarchar(max)

    DECLARE @partition nvarchar(max)

    DECLARE @region nvarchar(max)

    DECLARE @AccessKeyId nvarchar(max)

    DECLARE @PrincipalId nvarchar(max)

    DECLARE @UserName nvarchar(max)

    DECLARE @UserType nvarchar(max)

    DECLARE @Arn nvarchar(max)

    DECLARE @CreatedAt int

    DECLARE @Name nvarchar(max)

    DECLARE @Status nvarchar(max)

    DECLARE @VpcId nvarchar(max)

    DECLARE @AvailabilityZone nvarchar(max)

    DECLARE @IamInstanceProfileArn nvarchar(max)

    DECLARE @Id nvarchar(max)

    DECLARE @ImageDescription nvarchar(max)

    DECLARE @ImageId nvarchar(max)

    DECLARE @InstanceId nvarchar(max)

    DECLARE @InstanceState nvarchar(max)

    DECLARE @InstanceType nvarchar(max)

    DECLARE @LaunchTime nvarchar(max)

    DECLARE @OutpostArn nvarchar(max)

    DECLARE @Platform nvarchar(max)

    DECLARE @Uid nvarchar(max)

    DECLARE @Username nvarchar(max)

    DECLARE @HostNetwork int

    DECLARE @KubernetesWorkloadDetailsName nvarchar(max)

    DECLARE @Namespace nvarchar(max)

    DECLARE @v_Type nvarchar(max)

    DECLARE @KubernetesWorkloadDetailsUid nvarchar(max)

    DECLARE @ResourceType nvarchar(max)

    DECLARE @schemaVersion nvarchar(max)

    DECLARE @ActionType nvarchar(max)

    DECLARE @Api nvarchar(max)

    DECLARE @CallerType nvarchar(max)

    DECLARE @Domain nvarchar(max)

    DECLARE @ErrorCode nvarchar(max)

    DECLARE @AccountId nvarchar(max)

    DECLARE @Affiliated int

    DECLARE @CityName nvarchar(max)

    DECLARE @CountryCode nvarchar(max)

    DECLARE @CountryName nvarchar(max)

    DECLARE @Lat int

    DECLARE @Lon int

    DECLARE @IpAddressV4 nvarchar(max)

    DECLARE @v_Asn nvarchar(max)

    DECLARE @AsnOrg nvarchar(max)

    DECLARE @Isp nvarchar(max)

    DECLARE @Org nvarchar(max)

    DECLARE @ServiceName nvarchar(max)

    DECLARE @UserAgent nvarchar(max)

    DECLARE @DnsRequestActionDomain nvarchar(max)

    DECLARE @Parameters nvarchar(max)

    DECLARE @CityCityName nvarchar(max)

    DECLARE @CountryCountryCode nvarchar(max)

    DECLARE @CountryCountryName nvarchar(max)

    DECLARE @GeoLocationLat int

    DECLARE @GeoLocationLon int

    DECLARE @RemoteIpDetailsIpAddressV4 nvarchar(max)

    DECLARE @OrganizationAsn nvarchar(max)

    DECLARE @OrganizationAsnOrg nvarchar(max)

    DECLARE @OrganizationIsp nvarchar(max)

    DECLARE @OrganizationOrg nvarchar(max)

    DECLARE @RequestUri nvarchar(max)

    DECLARE @StatusCode int

    DECLARE @KubernetesApiCallActionUserAgent nvarchar(max)

    DECLARE @Verb nvarchar(max)

    DECLARE @Blocked int

    DECLARE @ConnectionDirection nvarchar(max)

    DECLARE @LocalIpDetailsIpAddressV4 nvarchar(max)

    DECLARE @Port int

    DECLARE @PortName nvarchar(max)

    DECLARE @Protocol nvarchar(max)

    DECLARE @RemotePortDetailsPort int

    DECLARE @RemotePortDetailsPortName nvarchar(max)

    DECLARE @PortProbeActionBlocked int

    DECLARE @Archived int

    DECLARE @Count int

    DECLARE @DetectorId nvarchar(max)

    DECLARE @EventFirstSeen nvarchar(max)

    DECLARE @EventLastSeen nvarchar(max)

    DECLARE @ResourceRole nvarchar(max)

    DECLARE @serviceServiceName nvarchar(max)

    DECLARE @UserFeedback nvarchar(max)

    DECLARE @severity int

    DECLARE @title nvarchar(max)

    DECLARE @v_type nvarchar(max)

    DECLARE @updatedAt nvarchar(max)

    DECLARE @j int

    DECLARE @count_j int

    DECLARE @key nvarchar(max)

    DECLARE @value nvarchar(max)

    DECLARE @networkInterfaceId nvarchar(max)

    DECLARE @privateDnsName nvarchar(max)

    DECLARE @privateIpAddress nvarchar(max)

    DECLARE @publicDnsName nvarchar(max)

    DECLARE @publicIp nvarchar(max)

    DECLARE @subnetId nvarchar(max)

    DECLARE @vpcId nvarchar(max)

    DECLARE @k int

    DECLARE @count_k int

    DECLARE @strVal nvarchar(max)

    DECLARE @groupId nvarchar(max)

    DECLARE @groupName nvarchar(max)

    DECLARE @code nvarchar(max)

    DECLARE @productType nvarchar(max)

    DECLARE @containerRuntime nvarchar(max)

    DECLARE @image nvarchar(max)

    DECLARE @imagePrefix nvarchar(max)

    DECLARE @name nvarchar(max)

    DECLARE @Privileged int

    DECLARE @mountPath nvarchar(max)

    DECLARE @Path nvarchar(max)

    DECLARE @createdAt_int int

    DECLARE @EncryptionType nvarchar(max)

    DECLARE @KmsMasterKeyArn nvarchar(max)

    DECLARE @ownerId nvarchar(max)

    DECLARE @EffectivePermission nvarchar(max)

    DECLARE @BlockPublicAcls int

    DECLARE @BlockPublicPolicy int

    DECLARE @IgnorePublicAcls int

    DECLARE @RestrictPublicBuckets int

    DECLARE @AllowsPublicReadAccess int

    DECLARE @AllowsPublicWriteAccess int

    DECLARE @BlockPublicAccessBlockPublicAcls int

    DECLARE @BlockPublicAccessBlockPublicPolicy int

    DECLARE @BlockPublicAccessIgnorePublicAcls int

    DECLARE @BlockPublicAccessRestrictPublicBuckets int

    DECLARE @BucketPolicyAllowsPublicReadAccess int

    DECLARE @BucketPolicyAllowsPublicWriteAccess int

    DECLARE @localIpDetailsIpAddressV4 nvarchar(max)

    DECLARE @localPortDetailsPort int

    DECLARE @localPortDetailsPortName nvarchar(max)

    DECLARE @remoteIpDetailsIpAddressV4 nvarchar(max)

    DECLARE @threatListName nvarchar(max)

    DECLARE @i int
    SELECT @i = 0
    DECLARE @count_i int
    EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'findings'
    WHILE @i < @count_i
      BEGIN
        EXEC sp_OASetProperty @jResp, 'I', @i
        EXEC sp_OAMethod @jResp, 'StringOf', @accountId OUT, 'findings[i].accountId'
        EXEC sp_OAMethod @jResp, 'StringOf', @arn OUT, 'findings[i].arn'
        EXEC sp_OAMethod @jResp, 'IntOf', @confidence OUT, 'findings[i].confidence'
        EXEC sp_OAMethod @jResp, 'StringOf', @createdAt OUT, 'findings[i].createdAt'
        EXEC sp_OAMethod @jResp, 'StringOf', @description OUT, 'findings[i].description'
        EXEC sp_OAMethod @jResp, 'StringOf', @id OUT, 'findings[i].id'
        EXEC sp_OAMethod @jResp, 'StringOf', @partition OUT, 'findings[i].partition'
        EXEC sp_OAMethod @jResp, 'StringOf', @region OUT, 'findings[i].region'
        EXEC sp_OAMethod @jResp, 'StringOf', @AccessKeyId OUT, 'findings[i].resource.accessKeyDetails.accessKeyId'
        EXEC sp_OAMethod @jResp, 'StringOf', @PrincipalId OUT, 'findings[i].resource.accessKeyDetails.principalId'
        EXEC sp_OAMethod @jResp, 'StringOf', @UserName OUT, 'findings[i].resource.accessKeyDetails.userName'
        EXEC sp_OAMethod @jResp, 'StringOf', @UserType OUT, 'findings[i].resource.accessKeyDetails.userType'
        EXEC sp_OAMethod @jResp, 'StringOf', @Arn OUT, 'findings[i].resource.eksClusterDetails.arn'
        EXEC sp_OAMethod @jResp, 'IntOf', @CreatedAt OUT, 'findings[i].resource.eksClusterDetails.createdAt'
        EXEC sp_OAMethod @jResp, 'StringOf', @Name OUT, 'findings[i].resource.eksClusterDetails.name'
        EXEC sp_OAMethod @jResp, 'StringOf', @Status OUT, 'findings[i].resource.eksClusterDetails.status'
        EXEC sp_OAMethod @jResp, 'StringOf', @VpcId OUT, 'findings[i].resource.eksClusterDetails.vpcId'
        EXEC sp_OAMethod @jResp, 'StringOf', @AvailabilityZone OUT, 'findings[i].resource.instanceDetails.availabilityZone'
        EXEC sp_OAMethod @jResp, 'StringOf', @IamInstanceProfileArn OUT, 'findings[i].resource.instanceDetails.iamInstanceProfile.arn'
        EXEC sp_OAMethod @jResp, 'StringOf', @Id OUT, 'findings[i].resource.instanceDetails.iamInstanceProfile.id'
        EXEC sp_OAMethod @jResp, 'StringOf', @ImageDescription OUT, 'findings[i].resource.instanceDetails.imageDescription'
        EXEC sp_OAMethod @jResp, 'StringOf', @ImageId OUT, 'findings[i].resource.instanceDetails.imageId'
        EXEC sp_OAMethod @jResp, 'StringOf', @InstanceId OUT, 'findings[i].resource.instanceDetails.instanceId'
        EXEC sp_OAMethod @jResp, 'StringOf', @InstanceState OUT, 'findings[i].resource.instanceDetails.instanceState'
        EXEC sp_OAMethod @jResp, 'StringOf', @InstanceType OUT, 'findings[i].resource.instanceDetails.instanceType'
        EXEC sp_OAMethod @jResp, 'StringOf', @LaunchTime OUT, 'findings[i].resource.instanceDetails.launchTime'
        EXEC sp_OAMethod @jResp, 'StringOf', @OutpostArn OUT, 'findings[i].resource.instanceDetails.outpostArn'
        EXEC sp_OAMethod @jResp, 'StringOf', @Platform OUT, 'findings[i].resource.instanceDetails.platform'
        EXEC sp_OAMethod @jResp, 'StringOf', @Uid OUT, 'findings[i].resource.kubernetesDetails.kubernetesUserDetails.uid'
        EXEC sp_OAMethod @jResp, 'StringOf', @Username OUT, 'findings[i].resource.kubernetesDetails.kubernetesUserDetails.username'
        EXEC sp_OAMethod @jResp, 'IntOf', @HostNetwork OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.hostNetwork'
        EXEC sp_OAMethod @jResp, 'StringOf', @KubernetesWorkloadDetailsName OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.name'
        EXEC sp_OAMethod @jResp, 'StringOf', @Namespace OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.namespace'
        EXEC sp_OAMethod @jResp, 'StringOf', @v_Type OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.type'
        EXEC sp_OAMethod @jResp, 'StringOf', @KubernetesWorkloadDetailsUid OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.uid'
        EXEC sp_OAMethod @jResp, 'StringOf', @ResourceType OUT, 'findings[i].resource.resourceType'
        EXEC sp_OAMethod @jResp, 'StringOf', @schemaVersion OUT, 'findings[i].schemaVersion'
        EXEC sp_OAMethod @jResp, 'StringOf', @ActionType OUT, 'findings[i].service.action.actionType'
        EXEC sp_OAMethod @jResp, 'StringOf', @Api OUT, 'findings[i].service.action.awsApiCallAction.api'
        EXEC sp_OAMethod @jResp, 'StringOf', @CallerType OUT, 'findings[i].service.action.awsApiCallAction.callerType'
        EXEC sp_OAMethod @jResp, 'StringOf', @Domain OUT, 'findings[i].service.action.awsApiCallAction.domainDetails.domain'
        EXEC sp_OAMethod @jResp, 'StringOf', @ErrorCode OUT, 'findings[i].service.action.awsApiCallAction.errorCode'
        EXEC sp_OAMethod @jResp, 'StringOf', @AccountId OUT, 'findings[i].service.action.awsApiCallAction.remoteAccountDetails.accountId'
        EXEC sp_OAMethod @jResp, 'IntOf', @Affiliated OUT, 'findings[i].service.action.awsApiCallAction.remoteAccountDetails.affiliated'
        EXEC sp_OAMethod @jResp, 'StringOf', @CityName OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.city.cityName'
        EXEC sp_OAMethod @jResp, 'StringOf', @CountryCode OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryCode'
        EXEC sp_OAMethod @jResp, 'StringOf', @CountryName OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.country.countryName'
        EXEC sp_OAMethod @jResp, 'IntOf', @Lat OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lat'
        EXEC sp_OAMethod @jResp, 'IntOf', @Lon OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.geoLocation.lon'
        EXEC sp_OAMethod @jResp, 'StringOf', @IpAddressV4 OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.ipAddressV4'
        EXEC sp_OAMethod @jResp, 'StringOf', @v_Asn OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asn'
        EXEC sp_OAMethod @jResp, 'StringOf', @AsnOrg OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg'
        EXEC sp_OAMethod @jResp, 'StringOf', @Isp OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.isp'
        EXEC sp_OAMethod @jResp, 'StringOf', @Org OUT, 'findings[i].service.action.awsApiCallAction.remoteIpDetails.organization.org'
        EXEC sp_OAMethod @jResp, 'StringOf', @ServiceName OUT, 'findings[i].service.action.awsApiCallAction.serviceName'
        EXEC sp_OAMethod @jResp, 'StringOf', @UserAgent OUT, 'findings[i].service.action.awsApiCallAction.userAgent'
        EXEC sp_OAMethod @jResp, 'StringOf', @DnsRequestActionDomain OUT, 'findings[i].service.action.dnsRequestAction.domain'
        EXEC sp_OAMethod @jResp, 'StringOf', @Parameters OUT, 'findings[i].service.action.kubernetesApiCallAction.parameters'
        EXEC sp_OAMethod @jResp, 'StringOf', @CityCityName OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.city.cityName'
        EXEC sp_OAMethod @jResp, 'StringOf', @CountryCountryCode OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryCode'
        EXEC sp_OAMethod @jResp, 'StringOf', @CountryCountryName OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.country.countryName'
        EXEC sp_OAMethod @jResp, 'IntOf', @GeoLocationLat OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lat'
        EXEC sp_OAMethod @jResp, 'IntOf', @GeoLocationLon OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.geoLocation.lon'
        EXEC sp_OAMethod @jResp, 'StringOf', @RemoteIpDetailsIpAddressV4 OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationAsn OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationAsnOrg OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.asnOrg'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationIsp OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.isp'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationOrg OUT, 'findings[i].service.action.kubernetesApiCallAction.remoteIpDetails.organization.org'
        EXEC sp_OAMethod @jResp, 'StringOf', @RequestUri OUT, 'findings[i].service.action.kubernetesApiCallAction.requestUri'
        EXEC sp_OAMethod @jResp, 'IntOf', @StatusCode OUT, 'findings[i].service.action.kubernetesApiCallAction.statusCode'
        EXEC sp_OAMethod @jResp, 'StringOf', @KubernetesApiCallActionUserAgent OUT, 'findings[i].service.action.kubernetesApiCallAction.userAgent'
        EXEC sp_OAMethod @jResp, 'StringOf', @Verb OUT, 'findings[i].service.action.kubernetesApiCallAction.verb'
        EXEC sp_OAMethod @jResp, 'IntOf', @Blocked OUT, 'findings[i].service.action.networkConnectionAction.blocked'
        EXEC sp_OAMethod @jResp, 'StringOf', @ConnectionDirection OUT, 'findings[i].service.action.networkConnectionAction.connectionDirection'
        EXEC sp_OAMethod @jResp, 'StringOf', @LocalIpDetailsIpAddressV4 OUT, 'findings[i].service.action.networkConnectionAction.localIpDetails.ipAddressV4'
        EXEC sp_OAMethod @jResp, 'IntOf', @Port OUT, 'findings[i].service.action.networkConnectionAction.localPortDetails.port'
        EXEC sp_OAMethod @jResp, 'StringOf', @PortName OUT, 'findings[i].service.action.networkConnectionAction.localPortDetails.portName'
        EXEC sp_OAMethod @jResp, 'StringOf', @Protocol OUT, 'findings[i].service.action.networkConnectionAction.protocol'
        EXEC sp_OAMethod @jResp, 'StringOf', @CityCityName OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.city.cityName'
        EXEC sp_OAMethod @jResp, 'StringOf', @CountryCountryCode OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryCode'
        EXEC sp_OAMethod @jResp, 'StringOf', @CountryCountryName OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.country.countryName'
        EXEC sp_OAMethod @jResp, 'IntOf', @GeoLocationLat OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lat'
        EXEC sp_OAMethod @jResp, 'IntOf', @GeoLocationLon OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.geoLocation.lon'
        EXEC sp_OAMethod @jResp, 'StringOf', @RemoteIpDetailsIpAddressV4 OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.ipAddressV4'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationAsn OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asn'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationAsnOrg OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationIsp OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.isp'
        EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationOrg OUT, 'findings[i].service.action.networkConnectionAction.remoteIpDetails.organization.org'
        EXEC sp_OAMethod @jResp, 'IntOf', @RemotePortDetailsPort OUT, 'findings[i].service.action.networkConnectionAction.remotePortDetails.port'
        EXEC sp_OAMethod @jResp, 'StringOf', @RemotePortDetailsPortName OUT, 'findings[i].service.action.networkConnectionAction.remotePortDetails.portName'
        EXEC sp_OAMethod @jResp, 'IntOf', @PortProbeActionBlocked OUT, 'findings[i].service.action.portProbeAction.blocked'
        EXEC sp_OAMethod @jResp, 'IntOf', @Archived OUT, 'findings[i].service.archived'
        EXEC sp_OAMethod @jResp, 'IntOf', @Count OUT, 'findings[i].service.count'
        EXEC sp_OAMethod @jResp, 'StringOf', @DetectorId OUT, 'findings[i].service.detectorId'
        EXEC sp_OAMethod @jResp, 'StringOf', @EventFirstSeen OUT, 'findings[i].service.eventFirstSeen'
        EXEC sp_OAMethod @jResp, 'StringOf', @EventLastSeen OUT, 'findings[i].service.eventLastSeen'
        EXEC sp_OAMethod @jResp, 'StringOf', @ResourceRole OUT, 'findings[i].service.resourceRole'
        EXEC sp_OAMethod @jResp, 'StringOf', @serviceServiceName OUT, 'findings[i].service.serviceName'
        EXEC sp_OAMethod @jResp, 'StringOf', @UserFeedback OUT, 'findings[i].service.userFeedback'
        EXEC sp_OAMethod @jResp, 'IntOf', @severity OUT, 'findings[i].severity'
        EXEC sp_OAMethod @jResp, 'StringOf', @title OUT, 'findings[i].title'
        EXEC sp_OAMethod @jResp, 'StringOf', @v_type OUT, 'findings[i].type'
        EXEC sp_OAMethod @jResp, 'StringOf', @updatedAt OUT, 'findings[i].updatedAt'
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.eksClusterDetails.tags'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @key OUT, 'findings[i].resource.eksClusterDetails.tags[j].key'
            EXEC sp_OAMethod @jResp, 'StringOf', @value OUT, 'findings[i].resource.eksClusterDetails.tags[j].value'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.instanceDetails.networkInterfaces'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @networkInterfaceId OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].networkInterfaceId'
            EXEC sp_OAMethod @jResp, 'StringOf', @privateDnsName OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].privateDnsName'
            EXEC sp_OAMethod @jResp, 'StringOf', @privateIpAddress OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddress'
            EXEC sp_OAMethod @jResp, 'StringOf', @publicDnsName OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].publicDnsName'
            EXEC sp_OAMethod @jResp, 'StringOf', @publicIp OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].publicIp'
            EXEC sp_OAMethod @jResp, 'StringOf', @subnetId OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].subnetId'
            EXEC sp_OAMethod @jResp, 'StringOf', @vpcId OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].vpcId'
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].ipv6Addresses[k]'
                SELECT @k = @k + 1
              END
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @privateDnsName OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateDnsName'
                EXEC sp_OAMethod @jResp, 'StringOf', @privateIpAddress OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].privateIpAddresses[k].privateIpAddress'
                SELECT @k = @k + 1
              END
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @groupId OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupId'
                EXEC sp_OAMethod @jResp, 'StringOf', @groupName OUT, 'findings[i].resource.instanceDetails.networkInterfaces[j].securityGroups[k].groupName'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.instanceDetails.productCodes'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @code OUT, 'findings[i].resource.instanceDetails.productCodes[j].code'
            EXEC sp_OAMethod @jResp, 'StringOf', @productType OUT, 'findings[i].resource.instanceDetails.productCodes[j].productType'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.instanceDetails.tags'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @key OUT, 'findings[i].resource.instanceDetails.tags[j].key'
            EXEC sp_OAMethod @jResp, 'StringOf', @value OUT, 'findings[i].resource.instanceDetails.tags[j].value'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'findings[i].resource.kubernetesDetails.kubernetesUserDetails.groups[j]'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @containerRuntime OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].containerRuntime'
            EXEC sp_OAMethod @jResp, 'StringOf', @id OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].id'
            EXEC sp_OAMethod @jResp, 'StringOf', @image OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].image'
            EXEC sp_OAMethod @jResp, 'StringOf', @imagePrefix OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].imagePrefix'
            EXEC sp_OAMethod @jResp, 'StringOf', @name OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].name'
            EXEC sp_OAMethod @jResp, 'IntOf', @Privileged OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].securityContext.privileged'
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @mountPath OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].mountPath'
                EXEC sp_OAMethod @jResp, 'StringOf', @name OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.containers[j].volumeMounts[k].name'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @Path OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].hostPath.path'
            EXEC sp_OAMethod @jResp, 'StringOf', @name OUT, 'findings[i].resource.kubernetesDetails.kubernetesWorkloadDetails.volumes[j].name'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].resource.s3BucketDetails'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @arn OUT, 'findings[i].resource.s3BucketDetails[j].arn'
            EXEC sp_OAMethod @jResp, 'IntOf', @createdAt_int OUT, 'findings[i].resource.s3BucketDetails[j].createdAt'
            EXEC sp_OAMethod @jResp, 'StringOf', @EncryptionType OUT, 'findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.encryptionType'
            EXEC sp_OAMethod @jResp, 'StringOf', @KmsMasterKeyArn OUT, 'findings[i].resource.s3BucketDetails[j].defaultServerSideEncryption.kmsMasterKeyArn'
            EXEC sp_OAMethod @jResp, 'StringOf', @name OUT, 'findings[i].resource.s3BucketDetails[j].name'
            EXEC sp_OAMethod @jResp, 'StringOf', @ownerId OUT, 'findings[i].resource.s3BucketDetails[j].owner.id'
            EXEC sp_OAMethod @jResp, 'StringOf', @EffectivePermission OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.effectivePermission'
            EXEC sp_OAMethod @jResp, 'IntOf', @BlockPublicAcls OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicAcls'
            EXEC sp_OAMethod @jResp, 'IntOf', @BlockPublicPolicy OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.blockPublicPolicy'
            EXEC sp_OAMethod @jResp, 'IntOf', @IgnorePublicAcls OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.ignorePublicAcls'
            EXEC sp_OAMethod @jResp, 'IntOf', @RestrictPublicBuckets OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.accountLevelPermissions.blockPublicAccess.restrictPublicBuckets'
            EXEC sp_OAMethod @jResp, 'IntOf', @AllowsPublicReadAccess OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicReadAccess'
            EXEC sp_OAMethod @jResp, 'IntOf', @AllowsPublicWriteAccess OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.accessControlList.allowsPublicWriteAccess'
            EXEC sp_OAMethod @jResp, 'IntOf', @BlockPublicAccessBlockPublicAcls OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicAcls'
            EXEC sp_OAMethod @jResp, 'IntOf', @BlockPublicAccessBlockPublicPolicy OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.blockPublicPolicy'
            EXEC sp_OAMethod @jResp, 'IntOf', @BlockPublicAccessIgnorePublicAcls OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.ignorePublicAcls'
            EXEC sp_OAMethod @jResp, 'IntOf', @BlockPublicAccessRestrictPublicBuckets OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.blockPublicAccess.restrictPublicBuckets'
            EXEC sp_OAMethod @jResp, 'IntOf', @BucketPolicyAllowsPublicReadAccess OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicReadAccess'
            EXEC sp_OAMethod @jResp, 'IntOf', @BucketPolicyAllowsPublicWriteAccess OUT, 'findings[i].resource.s3BucketDetails[j].publicAccess.permissionConfiguration.bucketLevelPermissions.bucketPolicy.allowsPublicWriteAccess'
            EXEC sp_OAMethod @jResp, 'StringOf', @v_type OUT, 'findings[i].resource.s3BucketDetails[j].type'
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'findings[i].resource.s3BucketDetails[j].tags'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @key OUT, 'findings[i].resource.s3BucketDetails[j].tags[k].key'
                EXEC sp_OAMethod @jResp, 'StringOf', @value OUT, 'findings[i].resource.s3BucketDetails[j].tags[k].value'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].service.action.kubernetesApiCallAction.sourceIps'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'findings[i].service.action.kubernetesApiCallAction.sourceIps[j]'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].service.action.portProbeAction.portProbeDetails'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @localIpDetailsIpAddressV4 OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].localIpDetails.ipAddressV4'
            EXEC sp_OAMethod @jResp, 'IntOf', @localPortDetailsPort OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.port'
            EXEC sp_OAMethod @jResp, 'StringOf', @localPortDetailsPortName OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].localPortDetails.portName'
            EXEC sp_OAMethod @jResp, 'StringOf', @CityCityName OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.city.cityName'
            EXEC sp_OAMethod @jResp, 'StringOf', @CountryCountryCode OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryCode'
            EXEC sp_OAMethod @jResp, 'StringOf', @CountryCountryName OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.country.countryName'
            EXEC sp_OAMethod @jResp, 'IntOf', @GeoLocationLat OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lat'
            EXEC sp_OAMethod @jResp, 'IntOf', @GeoLocationLon OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.geoLocation.lon'
            EXEC sp_OAMethod @jResp, 'StringOf', @remoteIpDetailsIpAddressV4 OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.ipAddressV4'
            EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationAsn OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asn'
            EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationAsnOrg OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.asnOrg'
            EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationIsp OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.isp'
            EXEC sp_OAMethod @jResp, 'StringOf', @OrganizationOrg OUT, 'findings[i].service.action.portProbeAction.portProbeDetails[j].remoteIpDetails.organization.org'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'findings[i].service.evidence.threatIntelligenceDetails'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @threatListName OUT, 'findings[i].service.evidence.threatIntelligenceDetails[j].threatListName'
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'findings[i].service.evidence.threatIntelligenceDetails[j].threatNames'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'findings[i].service.evidence.threatIntelligenceDetails[j].threatNames[k]'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @i = @i + 1
      END

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

    EXEC @hr = sp_OADestroy @rest
    EXEC @hr = sp_OADestroy @authAws
    EXEC @hr = sp_OADestroy @json
    EXEC @hr = sp_OADestroy @sbRequestBody
    EXEC @hr = sp_OADestroy @sbResponseBody
    EXEC @hr = sp_OADestroy @jResp


END
GO