{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Inspector2.Types.FilterCriteria
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Inspector2.Types.FilterCriteria where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Inspector2.Types.DateFilter
import Amazonka.Inspector2.Types.MapFilter
import Amazonka.Inspector2.Types.NumberFilter
import Amazonka.Inspector2.Types.PackageFilter
import Amazonka.Inspector2.Types.PortRangeFilter
import Amazonka.Inspector2.Types.StringFilter
import qualified Amazonka.Prelude as Prelude

-- | Details on the criteria used to define the filter.
--
-- /See:/ 'newFilterCriteria' smart constructor.
data FilterCriteria = FilterCriteria'
  { -- | Details of the Amazon Web Services account IDs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
awsAccountId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the component IDs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
componentId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the component types used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
componentType :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the Amazon EC2 instance image IDs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ec2InstanceImageId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the Amazon EC2 instance subnet IDs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the Amazon EC2 instance VPC IDs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ec2InstanceVpcId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the Amazon ECR image architecture types used to filter
    -- findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageArchitecture :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details of the Amazon ECR image hashes used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageHash :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the Amazon ECR image push date and time used to filter
    -- findings.
    FilterCriteria -> Maybe (NonEmpty DateFilter)
ecrImagePushedAt :: Prelude.Maybe (Prelude.NonEmpty DateFilter),
    -- | Details on the Amazon ECR registry used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageRegistry :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the name of the Amazon ECR repository used to filter
    -- findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageRepositoryName :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | The tags attached to the Amazon ECR container image.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageTags :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Filters the list of AWS Lambda findings by the availability of exploits.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
exploitAvailable :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the finding ARNs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
findingArn :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the finding status types used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
findingStatus :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the finding types used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
findingType :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the date and time a finding was first seen used to filter
    -- findings.
    FilterCriteria -> Maybe (NonEmpty DateFilter)
firstObservedAt :: Prelude.Maybe (Prelude.NonEmpty DateFilter),
    -- | Details on whether a fix is available through a version update. This
    -- value can be @YES@, @NO@, or @PARTIAL@. A @PARTIAL@ fix means that some,
    -- but not all, of the packages identified in the finding have fixes
    -- available through updated versions.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
fixAvailable :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | The Amazon Inspector score to filter on.
    FilterCriteria -> Maybe (NonEmpty NumberFilter)
inspectorScore :: Prelude.Maybe (Prelude.NonEmpty NumberFilter),
    -- | Filters the list of AWS Lambda functions by execution role.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Filters the list of AWS Lambda functions by the date and time that a
    -- user last updated the configuration, in
    -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601 format>
    FilterCriteria -> Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt :: Prelude.Maybe (Prelude.NonEmpty DateFilter),
    -- | Filters the list of AWS Lambda functions by the function\'s
    -- <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html layers>.
    -- A Lambda function can have up to five layers.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionLayers :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Filters the list of AWS Lambda functions by the name of the function.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionName :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Filters the list of AWS Lambda functions by the runtime environment for
    -- the Lambda function.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the date and time a finding was last seen used to filter
    -- findings.
    FilterCriteria -> Maybe (NonEmpty DateFilter)
lastObservedAt :: Prelude.Maybe (Prelude.NonEmpty DateFilter),
    -- | Details on the ingress source addresses used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
networkProtocol :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the port ranges used to filter findings.
    FilterCriteria -> Maybe (NonEmpty PortRangeFilter)
portRange :: Prelude.Maybe (Prelude.NonEmpty PortRangeFilter),
    -- | Details on the related vulnerabilities used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
relatedVulnerabilities :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the resource IDs used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
resourceId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the resource tags used to filter findings.
    FilterCriteria -> Maybe (NonEmpty MapFilter)
resourceTags :: Prelude.Maybe (Prelude.NonEmpty MapFilter),
    -- | Details on the resource types used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
resourceType :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the severity used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
severity :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the finding title used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
title :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the date and time a finding was last updated at used to
    -- filter findings.
    FilterCriteria -> Maybe (NonEmpty DateFilter)
updatedAt :: Prelude.Maybe (Prelude.NonEmpty DateFilter),
    -- | Details on the vendor severity used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
vendorSeverity :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the vulnerability ID used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
vulnerabilityId :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the vulnerability type used to filter findings.
    FilterCriteria -> Maybe (NonEmpty StringFilter)
vulnerabilitySource :: Prelude.Maybe (Prelude.NonEmpty StringFilter),
    -- | Details on the vulnerable packages used to filter findings.
    FilterCriteria -> Maybe (NonEmpty PackageFilter)
vulnerablePackages :: Prelude.Maybe (Prelude.NonEmpty PackageFilter)
  }
  deriving (FilterCriteria -> FilterCriteria -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FilterCriteria -> FilterCriteria -> Bool
$c/= :: FilterCriteria -> FilterCriteria -> Bool
== :: FilterCriteria -> FilterCriteria -> Bool
$c== :: FilterCriteria -> FilterCriteria -> Bool
Prelude.Eq, ReadPrec [FilterCriteria]
ReadPrec FilterCriteria
Int -> ReadS FilterCriteria
ReadS [FilterCriteria]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [FilterCriteria]
$creadListPrec :: ReadPrec [FilterCriteria]
readPrec :: ReadPrec FilterCriteria
$creadPrec :: ReadPrec FilterCriteria
readList :: ReadS [FilterCriteria]
$creadList :: ReadS [FilterCriteria]
readsPrec :: Int -> ReadS FilterCriteria
$creadsPrec :: Int -> ReadS FilterCriteria
Prelude.Read, Int -> FilterCriteria -> ShowS
[FilterCriteria] -> ShowS
FilterCriteria -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FilterCriteria] -> ShowS
$cshowList :: [FilterCriteria] -> ShowS
show :: FilterCriteria -> String
$cshow :: FilterCriteria -> String
showsPrec :: Int -> FilterCriteria -> ShowS
$cshowsPrec :: Int -> FilterCriteria -> ShowS
Prelude.Show, forall x. Rep FilterCriteria x -> FilterCriteria
forall x. FilterCriteria -> Rep FilterCriteria x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep FilterCriteria x -> FilterCriteria
$cfrom :: forall x. FilterCriteria -> Rep FilterCriteria x
Prelude.Generic)

-- |
-- Create a value of 'FilterCriteria' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'awsAccountId', 'filterCriteria_awsAccountId' - Details of the Amazon Web Services account IDs used to filter findings.
--
-- 'componentId', 'filterCriteria_componentId' - Details of the component IDs used to filter findings.
--
-- 'componentType', 'filterCriteria_componentType' - Details of the component types used to filter findings.
--
-- 'ec2InstanceImageId', 'filterCriteria_ec2InstanceImageId' - Details of the Amazon EC2 instance image IDs used to filter findings.
--
-- 'ec2InstanceSubnetId', 'filterCriteria_ec2InstanceSubnetId' - Details of the Amazon EC2 instance subnet IDs used to filter findings.
--
-- 'ec2InstanceVpcId', 'filterCriteria_ec2InstanceVpcId' - Details of the Amazon EC2 instance VPC IDs used to filter findings.
--
-- 'ecrImageArchitecture', 'filterCriteria_ecrImageArchitecture' - Details of the Amazon ECR image architecture types used to filter
-- findings.
--
-- 'ecrImageHash', 'filterCriteria_ecrImageHash' - Details of the Amazon ECR image hashes used to filter findings.
--
-- 'ecrImagePushedAt', 'filterCriteria_ecrImagePushedAt' - Details on the Amazon ECR image push date and time used to filter
-- findings.
--
-- 'ecrImageRegistry', 'filterCriteria_ecrImageRegistry' - Details on the Amazon ECR registry used to filter findings.
--
-- 'ecrImageRepositoryName', 'filterCriteria_ecrImageRepositoryName' - Details on the name of the Amazon ECR repository used to filter
-- findings.
--
-- 'ecrImageTags', 'filterCriteria_ecrImageTags' - The tags attached to the Amazon ECR container image.
--
-- 'exploitAvailable', 'filterCriteria_exploitAvailable' - Filters the list of AWS Lambda findings by the availability of exploits.
--
-- 'findingArn', 'filterCriteria_findingArn' - Details on the finding ARNs used to filter findings.
--
-- 'findingStatus', 'filterCriteria_findingStatus' - Details on the finding status types used to filter findings.
--
-- 'findingType', 'filterCriteria_findingType' - Details on the finding types used to filter findings.
--
-- 'firstObservedAt', 'filterCriteria_firstObservedAt' - Details on the date and time a finding was first seen used to filter
-- findings.
--
-- 'fixAvailable', 'filterCriteria_fixAvailable' - Details on whether a fix is available through a version update. This
-- value can be @YES@, @NO@, or @PARTIAL@. A @PARTIAL@ fix means that some,
-- but not all, of the packages identified in the finding have fixes
-- available through updated versions.
--
-- 'inspectorScore', 'filterCriteria_inspectorScore' - The Amazon Inspector score to filter on.
--
-- 'lambdaFunctionExecutionRoleArn', 'filterCriteria_lambdaFunctionExecutionRoleArn' - Filters the list of AWS Lambda functions by execution role.
--
-- 'lambdaFunctionLastModifiedAt', 'filterCriteria_lambdaFunctionLastModifiedAt' - Filters the list of AWS Lambda functions by the date and time that a
-- user last updated the configuration, in
-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601 format>
--
-- 'lambdaFunctionLayers', 'filterCriteria_lambdaFunctionLayers' - Filters the list of AWS Lambda functions by the function\'s
-- <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html layers>.
-- A Lambda function can have up to five layers.
--
-- 'lambdaFunctionName', 'filterCriteria_lambdaFunctionName' - Filters the list of AWS Lambda functions by the name of the function.
--
-- 'lambdaFunctionRuntime', 'filterCriteria_lambdaFunctionRuntime' - Filters the list of AWS Lambda functions by the runtime environment for
-- the Lambda function.
--
-- 'lastObservedAt', 'filterCriteria_lastObservedAt' - Details on the date and time a finding was last seen used to filter
-- findings.
--
-- 'networkProtocol', 'filterCriteria_networkProtocol' - Details on the ingress source addresses used to filter findings.
--
-- 'portRange', 'filterCriteria_portRange' - Details on the port ranges used to filter findings.
--
-- 'relatedVulnerabilities', 'filterCriteria_relatedVulnerabilities' - Details on the related vulnerabilities used to filter findings.
--
-- 'resourceId', 'filterCriteria_resourceId' - Details on the resource IDs used to filter findings.
--
-- 'resourceTags', 'filterCriteria_resourceTags' - Details on the resource tags used to filter findings.
--
-- 'resourceType', 'filterCriteria_resourceType' - Details on the resource types used to filter findings.
--
-- 'severity', 'filterCriteria_severity' - Details on the severity used to filter findings.
--
-- 'title', 'filterCriteria_title' - Details on the finding title used to filter findings.
--
-- 'updatedAt', 'filterCriteria_updatedAt' - Details on the date and time a finding was last updated at used to
-- filter findings.
--
-- 'vendorSeverity', 'filterCriteria_vendorSeverity' - Details on the vendor severity used to filter findings.
--
-- 'vulnerabilityId', 'filterCriteria_vulnerabilityId' - Details on the vulnerability ID used to filter findings.
--
-- 'vulnerabilitySource', 'filterCriteria_vulnerabilitySource' - Details on the vulnerability type used to filter findings.
--
-- 'vulnerablePackages', 'filterCriteria_vulnerablePackages' - Details on the vulnerable packages used to filter findings.
newFilterCriteria ::
  FilterCriteria
newFilterCriteria :: FilterCriteria
newFilterCriteria =
  FilterCriteria'
    { $sel:awsAccountId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
awsAccountId = forall a. Maybe a
Prelude.Nothing,
      $sel:componentId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
componentId = forall a. Maybe a
Prelude.Nothing,
      $sel:componentType:FilterCriteria' :: Maybe (NonEmpty StringFilter)
componentType = forall a. Maybe a
Prelude.Nothing,
      $sel:ec2InstanceImageId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ec2InstanceImageId = forall a. Maybe a
Prelude.Nothing,
      $sel:ec2InstanceSubnetId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId = forall a. Maybe a
Prelude.Nothing,
      $sel:ec2InstanceVpcId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ec2InstanceVpcId = forall a. Maybe a
Prelude.Nothing,
      $sel:ecrImageArchitecture:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageArchitecture = forall a. Maybe a
Prelude.Nothing,
      $sel:ecrImageHash:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageHash = forall a. Maybe a
Prelude.Nothing,
      $sel:ecrImagePushedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
ecrImagePushedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:ecrImageRegistry:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageRegistry = forall a. Maybe a
Prelude.Nothing,
      $sel:ecrImageRepositoryName:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageRepositoryName = forall a. Maybe a
Prelude.Nothing,
      $sel:ecrImageTags:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageTags = forall a. Maybe a
Prelude.Nothing,
      $sel:exploitAvailable:FilterCriteria' :: Maybe (NonEmpty StringFilter)
exploitAvailable = forall a. Maybe a
Prelude.Nothing,
      $sel:findingArn:FilterCriteria' :: Maybe (NonEmpty StringFilter)
findingArn = forall a. Maybe a
Prelude.Nothing,
      $sel:findingStatus:FilterCriteria' :: Maybe (NonEmpty StringFilter)
findingStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:findingType:FilterCriteria' :: Maybe (NonEmpty StringFilter)
findingType = forall a. Maybe a
Prelude.Nothing,
      $sel:firstObservedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
firstObservedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:fixAvailable:FilterCriteria' :: Maybe (NonEmpty StringFilter)
fixAvailable = forall a. Maybe a
Prelude.Nothing,
      $sel:inspectorScore:FilterCriteria' :: Maybe (NonEmpty NumberFilter)
inspectorScore = forall a. Maybe a
Prelude.Nothing,
      $sel:lambdaFunctionExecutionRoleArn:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:lambdaFunctionLastModifiedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:lambdaFunctionLayers:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionLayers = forall a. Maybe a
Prelude.Nothing,
      $sel:lambdaFunctionName:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionName = forall a. Maybe a
Prelude.Nothing,
      $sel:lambdaFunctionRuntime:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime = forall a. Maybe a
Prelude.Nothing,
      $sel:lastObservedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
lastObservedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:networkProtocol:FilterCriteria' :: Maybe (NonEmpty StringFilter)
networkProtocol = forall a. Maybe a
Prelude.Nothing,
      $sel:portRange:FilterCriteria' :: Maybe (NonEmpty PortRangeFilter)
portRange = forall a. Maybe a
Prelude.Nothing,
      $sel:relatedVulnerabilities:FilterCriteria' :: Maybe (NonEmpty StringFilter)
relatedVulnerabilities = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
resourceId = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceTags:FilterCriteria' :: Maybe (NonEmpty MapFilter)
resourceTags = forall a. Maybe a
Prelude.Nothing,
      $sel:resourceType:FilterCriteria' :: Maybe (NonEmpty StringFilter)
resourceType = forall a. Maybe a
Prelude.Nothing,
      $sel:severity:FilterCriteria' :: Maybe (NonEmpty StringFilter)
severity = forall a. Maybe a
Prelude.Nothing,
      $sel:title:FilterCriteria' :: Maybe (NonEmpty StringFilter)
title = forall a. Maybe a
Prelude.Nothing,
      $sel:updatedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
updatedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:vendorSeverity:FilterCriteria' :: Maybe (NonEmpty StringFilter)
vendorSeverity = forall a. Maybe a
Prelude.Nothing,
      $sel:vulnerabilityId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
vulnerabilityId = forall a. Maybe a
Prelude.Nothing,
      $sel:vulnerabilitySource:FilterCriteria' :: Maybe (NonEmpty StringFilter)
vulnerabilitySource = forall a. Maybe a
Prelude.Nothing,
      $sel:vulnerablePackages:FilterCriteria' :: Maybe (NonEmpty PackageFilter)
vulnerablePackages = forall a. Maybe a
Prelude.Nothing
    }

-- | Details of the Amazon Web Services account IDs used to filter findings.
filterCriteria_awsAccountId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_awsAccountId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
awsAccountId :: Maybe (NonEmpty StringFilter)
$sel:awsAccountId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
awsAccountId} -> Maybe (NonEmpty StringFilter)
awsAccountId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:awsAccountId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
awsAccountId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the component IDs used to filter findings.
filterCriteria_componentId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_componentId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_componentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
componentId :: Maybe (NonEmpty StringFilter)
$sel:componentId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
componentId} -> Maybe (NonEmpty StringFilter)
componentId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:componentId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
componentId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the component types used to filter findings.
filterCriteria_componentType :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_componentType :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_componentType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
componentType :: Maybe (NonEmpty StringFilter)
$sel:componentType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
componentType} -> Maybe (NonEmpty StringFilter)
componentType) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:componentType:FilterCriteria' :: Maybe (NonEmpty StringFilter)
componentType = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the Amazon EC2 instance image IDs used to filter findings.
filterCriteria_ec2InstanceImageId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ec2InstanceImageId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ec2InstanceImageId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ec2InstanceImageId :: Maybe (NonEmpty StringFilter)
$sel:ec2InstanceImageId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ec2InstanceImageId} -> Maybe (NonEmpty StringFilter)
ec2InstanceImageId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ec2InstanceImageId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ec2InstanceImageId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the Amazon EC2 instance subnet IDs used to filter findings.
filterCriteria_ec2InstanceSubnetId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ec2InstanceSubnetId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ec2InstanceSubnetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId :: Maybe (NonEmpty StringFilter)
$sel:ec2InstanceSubnetId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId} -> Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ec2InstanceSubnetId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the Amazon EC2 instance VPC IDs used to filter findings.
filterCriteria_ec2InstanceVpcId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ec2InstanceVpcId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ec2InstanceVpcId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ec2InstanceVpcId :: Maybe (NonEmpty StringFilter)
$sel:ec2InstanceVpcId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ec2InstanceVpcId} -> Maybe (NonEmpty StringFilter)
ec2InstanceVpcId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ec2InstanceVpcId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ec2InstanceVpcId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the Amazon ECR image architecture types used to filter
-- findings.
filterCriteria_ecrImageArchitecture :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ecrImageArchitecture :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ecrImageArchitecture = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ecrImageArchitecture :: Maybe (NonEmpty StringFilter)
$sel:ecrImageArchitecture:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageArchitecture} -> Maybe (NonEmpty StringFilter)
ecrImageArchitecture) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ecrImageArchitecture:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageArchitecture = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details of the Amazon ECR image hashes used to filter findings.
filterCriteria_ecrImageHash :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ecrImageHash :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ecrImageHash = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ecrImageHash :: Maybe (NonEmpty StringFilter)
$sel:ecrImageHash:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageHash} -> Maybe (NonEmpty StringFilter)
ecrImageHash) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ecrImageHash:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageHash = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the Amazon ECR image push date and time used to filter
-- findings.
filterCriteria_ecrImagePushedAt :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty DateFilter))
filterCriteria_ecrImagePushedAt :: Lens' FilterCriteria (Maybe (NonEmpty DateFilter))
filterCriteria_ecrImagePushedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty DateFilter)
ecrImagePushedAt :: Maybe (NonEmpty DateFilter)
$sel:ecrImagePushedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
ecrImagePushedAt} -> Maybe (NonEmpty DateFilter)
ecrImagePushedAt) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty DateFilter)
a -> FilterCriteria
s {$sel:ecrImagePushedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
ecrImagePushedAt = Maybe (NonEmpty DateFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the Amazon ECR registry used to filter findings.
filterCriteria_ecrImageRegistry :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ecrImageRegistry :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ecrImageRegistry = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ecrImageRegistry :: Maybe (NonEmpty StringFilter)
$sel:ecrImageRegistry:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageRegistry} -> Maybe (NonEmpty StringFilter)
ecrImageRegistry) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ecrImageRegistry:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageRegistry = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the name of the Amazon ECR repository used to filter
-- findings.
filterCriteria_ecrImageRepositoryName :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ecrImageRepositoryName :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ecrImageRepositoryName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ecrImageRepositoryName :: Maybe (NonEmpty StringFilter)
$sel:ecrImageRepositoryName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageRepositoryName} -> Maybe (NonEmpty StringFilter)
ecrImageRepositoryName) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ecrImageRepositoryName:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageRepositoryName = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The tags attached to the Amazon ECR container image.
filterCriteria_ecrImageTags :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_ecrImageTags :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_ecrImageTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
ecrImageTags :: Maybe (NonEmpty StringFilter)
$sel:ecrImageTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
ecrImageTags} -> Maybe (NonEmpty StringFilter)
ecrImageTags) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:ecrImageTags:FilterCriteria' :: Maybe (NonEmpty StringFilter)
ecrImageTags = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Filters the list of AWS Lambda findings by the availability of exploits.
filterCriteria_exploitAvailable :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_exploitAvailable :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_exploitAvailable = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
exploitAvailable :: Maybe (NonEmpty StringFilter)
$sel:exploitAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
exploitAvailable} -> Maybe (NonEmpty StringFilter)
exploitAvailable) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:exploitAvailable:FilterCriteria' :: Maybe (NonEmpty StringFilter)
exploitAvailable = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the finding ARNs used to filter findings.
filterCriteria_findingArn :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_findingArn :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_findingArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
findingArn :: Maybe (NonEmpty StringFilter)
$sel:findingArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
findingArn} -> Maybe (NonEmpty StringFilter)
findingArn) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:findingArn:FilterCriteria' :: Maybe (NonEmpty StringFilter)
findingArn = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the finding status types used to filter findings.
filterCriteria_findingStatus :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_findingStatus :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_findingStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
findingStatus :: Maybe (NonEmpty StringFilter)
$sel:findingStatus:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
findingStatus} -> Maybe (NonEmpty StringFilter)
findingStatus) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:findingStatus:FilterCriteria' :: Maybe (NonEmpty StringFilter)
findingStatus = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the finding types used to filter findings.
filterCriteria_findingType :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_findingType :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_findingType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
findingType :: Maybe (NonEmpty StringFilter)
$sel:findingType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
findingType} -> Maybe (NonEmpty StringFilter)
findingType) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:findingType:FilterCriteria' :: Maybe (NonEmpty StringFilter)
findingType = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the date and time a finding was first seen used to filter
-- findings.
filterCriteria_firstObservedAt :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty DateFilter))
filterCriteria_firstObservedAt :: Lens' FilterCriteria (Maybe (NonEmpty DateFilter))
filterCriteria_firstObservedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty DateFilter)
firstObservedAt :: Maybe (NonEmpty DateFilter)
$sel:firstObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
firstObservedAt} -> Maybe (NonEmpty DateFilter)
firstObservedAt) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty DateFilter)
a -> FilterCriteria
s {$sel:firstObservedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
firstObservedAt = Maybe (NonEmpty DateFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on whether a fix is available through a version update. This
-- value can be @YES@, @NO@, or @PARTIAL@. A @PARTIAL@ fix means that some,
-- but not all, of the packages identified in the finding have fixes
-- available through updated versions.
filterCriteria_fixAvailable :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_fixAvailable :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_fixAvailable = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
fixAvailable :: Maybe (NonEmpty StringFilter)
$sel:fixAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
fixAvailable} -> Maybe (NonEmpty StringFilter)
fixAvailable) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:fixAvailable:FilterCriteria' :: Maybe (NonEmpty StringFilter)
fixAvailable = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The Amazon Inspector score to filter on.
filterCriteria_inspectorScore :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty NumberFilter))
filterCriteria_inspectorScore :: Lens' FilterCriteria (Maybe (NonEmpty NumberFilter))
filterCriteria_inspectorScore = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty NumberFilter)
inspectorScore :: Maybe (NonEmpty NumberFilter)
$sel:inspectorScore:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty NumberFilter)
inspectorScore} -> Maybe (NonEmpty NumberFilter)
inspectorScore) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty NumberFilter)
a -> FilterCriteria
s {$sel:inspectorScore:FilterCriteria' :: Maybe (NonEmpty NumberFilter)
inspectorScore = Maybe (NonEmpty NumberFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Filters the list of AWS Lambda functions by execution role.
filterCriteria_lambdaFunctionExecutionRoleArn :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_lambdaFunctionExecutionRoleArn :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_lambdaFunctionExecutionRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn :: Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionExecutionRoleArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn} -> Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:lambdaFunctionExecutionRoleArn:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Filters the list of AWS Lambda functions by the date and time that a
-- user last updated the configuration, in
-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601 format>
filterCriteria_lambdaFunctionLastModifiedAt :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty DateFilter))
filterCriteria_lambdaFunctionLastModifiedAt :: Lens' FilterCriteria (Maybe (NonEmpty DateFilter))
filterCriteria_lambdaFunctionLastModifiedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt :: Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionLastModifiedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt} -> Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty DateFilter)
a -> FilterCriteria
s {$sel:lambdaFunctionLastModifiedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt = Maybe (NonEmpty DateFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Filters the list of AWS Lambda functions by the function\'s
-- <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html layers>.
-- A Lambda function can have up to five layers.
filterCriteria_lambdaFunctionLayers :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_lambdaFunctionLayers :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_lambdaFunctionLayers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
lambdaFunctionLayers :: Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLayers:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionLayers} -> Maybe (NonEmpty StringFilter)
lambdaFunctionLayers) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:lambdaFunctionLayers:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionLayers = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Filters the list of AWS Lambda functions by the name of the function.
filterCriteria_lambdaFunctionName :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_lambdaFunctionName :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_lambdaFunctionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
lambdaFunctionName :: Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionName} -> Maybe (NonEmpty StringFilter)
lambdaFunctionName) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:lambdaFunctionName:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionName = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Filters the list of AWS Lambda functions by the runtime environment for
-- the Lambda function.
filterCriteria_lambdaFunctionRuntime :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_lambdaFunctionRuntime :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_lambdaFunctionRuntime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime :: Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionRuntime:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime} -> Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:lambdaFunctionRuntime:FilterCriteria' :: Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the date and time a finding was last seen used to filter
-- findings.
filterCriteria_lastObservedAt :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty DateFilter))
filterCriteria_lastObservedAt :: Lens' FilterCriteria (Maybe (NonEmpty DateFilter))
filterCriteria_lastObservedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty DateFilter)
lastObservedAt :: Maybe (NonEmpty DateFilter)
$sel:lastObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
lastObservedAt} -> Maybe (NonEmpty DateFilter)
lastObservedAt) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty DateFilter)
a -> FilterCriteria
s {$sel:lastObservedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
lastObservedAt = Maybe (NonEmpty DateFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the ingress source addresses used to filter findings.
filterCriteria_networkProtocol :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_networkProtocol :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_networkProtocol = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
networkProtocol :: Maybe (NonEmpty StringFilter)
$sel:networkProtocol:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
networkProtocol} -> Maybe (NonEmpty StringFilter)
networkProtocol) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:networkProtocol:FilterCriteria' :: Maybe (NonEmpty StringFilter)
networkProtocol = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the port ranges used to filter findings.
filterCriteria_portRange :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty PortRangeFilter))
filterCriteria_portRange :: Lens' FilterCriteria (Maybe (NonEmpty PortRangeFilter))
filterCriteria_portRange = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty PortRangeFilter)
portRange :: Maybe (NonEmpty PortRangeFilter)
$sel:portRange:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PortRangeFilter)
portRange} -> Maybe (NonEmpty PortRangeFilter)
portRange) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty PortRangeFilter)
a -> FilterCriteria
s {$sel:portRange:FilterCriteria' :: Maybe (NonEmpty PortRangeFilter)
portRange = Maybe (NonEmpty PortRangeFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the related vulnerabilities used to filter findings.
filterCriteria_relatedVulnerabilities :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_relatedVulnerabilities :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_relatedVulnerabilities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
relatedVulnerabilities :: Maybe (NonEmpty StringFilter)
$sel:relatedVulnerabilities:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
relatedVulnerabilities} -> Maybe (NonEmpty StringFilter)
relatedVulnerabilities) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:relatedVulnerabilities:FilterCriteria' :: Maybe (NonEmpty StringFilter)
relatedVulnerabilities = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the resource IDs used to filter findings.
filterCriteria_resourceId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_resourceId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
resourceId :: Maybe (NonEmpty StringFilter)
$sel:resourceId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
resourceId} -> Maybe (NonEmpty StringFilter)
resourceId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:resourceId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
resourceId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the resource tags used to filter findings.
filterCriteria_resourceTags :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty MapFilter))
filterCriteria_resourceTags :: Lens' FilterCriteria (Maybe (NonEmpty MapFilter))
filterCriteria_resourceTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty MapFilter)
resourceTags :: Maybe (NonEmpty MapFilter)
$sel:resourceTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty MapFilter)
resourceTags} -> Maybe (NonEmpty MapFilter)
resourceTags) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty MapFilter)
a -> FilterCriteria
s {$sel:resourceTags:FilterCriteria' :: Maybe (NonEmpty MapFilter)
resourceTags = Maybe (NonEmpty MapFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the resource types used to filter findings.
filterCriteria_resourceType :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_resourceType :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
resourceType :: Maybe (NonEmpty StringFilter)
$sel:resourceType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
resourceType} -> Maybe (NonEmpty StringFilter)
resourceType) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:resourceType:FilterCriteria' :: Maybe (NonEmpty StringFilter)
resourceType = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the severity used to filter findings.
filterCriteria_severity :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_severity :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_severity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
severity :: Maybe (NonEmpty StringFilter)
$sel:severity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
severity} -> Maybe (NonEmpty StringFilter)
severity) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:severity:FilterCriteria' :: Maybe (NonEmpty StringFilter)
severity = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the finding title used to filter findings.
filterCriteria_title :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_title :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_title = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
title :: Maybe (NonEmpty StringFilter)
$sel:title:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
title} -> Maybe (NonEmpty StringFilter)
title) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:title:FilterCriteria' :: Maybe (NonEmpty StringFilter)
title = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the date and time a finding was last updated at used to
-- filter findings.
filterCriteria_updatedAt :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty DateFilter))
filterCriteria_updatedAt :: Lens' FilterCriteria (Maybe (NonEmpty DateFilter))
filterCriteria_updatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty DateFilter)
updatedAt :: Maybe (NonEmpty DateFilter)
$sel:updatedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
updatedAt} -> Maybe (NonEmpty DateFilter)
updatedAt) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty DateFilter)
a -> FilterCriteria
s {$sel:updatedAt:FilterCriteria' :: Maybe (NonEmpty DateFilter)
updatedAt = Maybe (NonEmpty DateFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the vendor severity used to filter findings.
filterCriteria_vendorSeverity :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_vendorSeverity :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_vendorSeverity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
vendorSeverity :: Maybe (NonEmpty StringFilter)
$sel:vendorSeverity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
vendorSeverity} -> Maybe (NonEmpty StringFilter)
vendorSeverity) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:vendorSeverity:FilterCriteria' :: Maybe (NonEmpty StringFilter)
vendorSeverity = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the vulnerability ID used to filter findings.
filterCriteria_vulnerabilityId :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_vulnerabilityId :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_vulnerabilityId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
vulnerabilityId :: Maybe (NonEmpty StringFilter)
$sel:vulnerabilityId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
vulnerabilityId} -> Maybe (NonEmpty StringFilter)
vulnerabilityId) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:vulnerabilityId:FilterCriteria' :: Maybe (NonEmpty StringFilter)
vulnerabilityId = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the vulnerability type used to filter findings.
filterCriteria_vulnerabilitySource :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty StringFilter))
filterCriteria_vulnerabilitySource :: Lens' FilterCriteria (Maybe (NonEmpty StringFilter))
filterCriteria_vulnerabilitySource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty StringFilter)
vulnerabilitySource :: Maybe (NonEmpty StringFilter)
$sel:vulnerabilitySource:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
vulnerabilitySource} -> Maybe (NonEmpty StringFilter)
vulnerabilitySource) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty StringFilter)
a -> FilterCriteria
s {$sel:vulnerabilitySource:FilterCriteria' :: Maybe (NonEmpty StringFilter)
vulnerabilitySource = Maybe (NonEmpty StringFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details on the vulnerable packages used to filter findings.
filterCriteria_vulnerablePackages :: Lens.Lens' FilterCriteria (Prelude.Maybe (Prelude.NonEmpty PackageFilter))
filterCriteria_vulnerablePackages :: Lens' FilterCriteria (Maybe (NonEmpty PackageFilter))
filterCriteria_vulnerablePackages = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\FilterCriteria' {Maybe (NonEmpty PackageFilter)
vulnerablePackages :: Maybe (NonEmpty PackageFilter)
$sel:vulnerablePackages:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PackageFilter)
vulnerablePackages} -> Maybe (NonEmpty PackageFilter)
vulnerablePackages) (\s :: FilterCriteria
s@FilterCriteria' {} Maybe (NonEmpty PackageFilter)
a -> FilterCriteria
s {$sel:vulnerablePackages:FilterCriteria' :: Maybe (NonEmpty PackageFilter)
vulnerablePackages = Maybe (NonEmpty PackageFilter)
a} :: FilterCriteria) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance Data.FromJSON FilterCriteria where
  parseJSON :: Value -> Parser FilterCriteria
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"FilterCriteria"
      ( \Object
x ->
          Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty DateFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty DateFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty NumberFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty DateFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty DateFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty PortRangeFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty MapFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty DateFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty StringFilter)
-> Maybe (NonEmpty PackageFilter)
-> FilterCriteria
FilterCriteria'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"awsAccountId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"componentId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"componentType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ec2InstanceImageId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ec2InstanceSubnetId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ec2InstanceVpcId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ecrImageArchitecture")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ecrImageHash")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ecrImagePushedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ecrImageRegistry")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ecrImageRepositoryName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ecrImageTags")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"exploitAvailable")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"findingArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"findingStatus")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"findingType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"firstObservedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"fixAvailable")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"inspectorScore")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lambdaFunctionExecutionRoleArn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lambdaFunctionLastModifiedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lambdaFunctionLayers")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lambdaFunctionName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lambdaFunctionRuntime")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"lastObservedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"networkProtocol")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"portRange")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"relatedVulnerabilities")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceTags")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"resourceType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"severity")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"title")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"updatedAt")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"vendorSeverity")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"vulnerabilityId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"vulnerabilitySource")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"vulnerablePackages")
      )

instance Prelude.Hashable FilterCriteria where
  hashWithSalt :: Int -> FilterCriteria -> Int
hashWithSalt Int
_salt FilterCriteria' {Maybe (NonEmpty DateFilter)
Maybe (NonEmpty MapFilter)
Maybe (NonEmpty NumberFilter)
Maybe (NonEmpty PortRangeFilter)
Maybe (NonEmpty StringFilter)
Maybe (NonEmpty PackageFilter)
vulnerablePackages :: Maybe (NonEmpty PackageFilter)
vulnerabilitySource :: Maybe (NonEmpty StringFilter)
vulnerabilityId :: Maybe (NonEmpty StringFilter)
vendorSeverity :: Maybe (NonEmpty StringFilter)
updatedAt :: Maybe (NonEmpty DateFilter)
title :: Maybe (NonEmpty StringFilter)
severity :: Maybe (NonEmpty StringFilter)
resourceType :: Maybe (NonEmpty StringFilter)
resourceTags :: Maybe (NonEmpty MapFilter)
resourceId :: Maybe (NonEmpty StringFilter)
relatedVulnerabilities :: Maybe (NonEmpty StringFilter)
portRange :: Maybe (NonEmpty PortRangeFilter)
networkProtocol :: Maybe (NonEmpty StringFilter)
lastObservedAt :: Maybe (NonEmpty DateFilter)
lambdaFunctionRuntime :: Maybe (NonEmpty StringFilter)
lambdaFunctionName :: Maybe (NonEmpty StringFilter)
lambdaFunctionLayers :: Maybe (NonEmpty StringFilter)
lambdaFunctionLastModifiedAt :: Maybe (NonEmpty DateFilter)
lambdaFunctionExecutionRoleArn :: Maybe (NonEmpty StringFilter)
inspectorScore :: Maybe (NonEmpty NumberFilter)
fixAvailable :: Maybe (NonEmpty StringFilter)
firstObservedAt :: Maybe (NonEmpty DateFilter)
findingType :: Maybe (NonEmpty StringFilter)
findingStatus :: Maybe (NonEmpty StringFilter)
findingArn :: Maybe (NonEmpty StringFilter)
exploitAvailable :: Maybe (NonEmpty StringFilter)
ecrImageTags :: Maybe (NonEmpty StringFilter)
ecrImageRepositoryName :: Maybe (NonEmpty StringFilter)
ecrImageRegistry :: Maybe (NonEmpty StringFilter)
ecrImagePushedAt :: Maybe (NonEmpty DateFilter)
ecrImageHash :: Maybe (NonEmpty StringFilter)
ecrImageArchitecture :: Maybe (NonEmpty StringFilter)
ec2InstanceVpcId :: Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId :: Maybe (NonEmpty StringFilter)
ec2InstanceImageId :: Maybe (NonEmpty StringFilter)
componentType :: Maybe (NonEmpty StringFilter)
componentId :: Maybe (NonEmpty StringFilter)
awsAccountId :: Maybe (NonEmpty StringFilter)
$sel:vulnerablePackages:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PackageFilter)
$sel:vulnerabilitySource:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:vulnerabilityId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:vendorSeverity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:updatedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:title:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:severity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:resourceType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:resourceTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty MapFilter)
$sel:resourceId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:relatedVulnerabilities:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:portRange:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PortRangeFilter)
$sel:networkProtocol:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lastObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionRuntime:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLayers:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLastModifiedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionExecutionRoleArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:inspectorScore:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty NumberFilter)
$sel:fixAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:firstObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:findingType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:findingStatus:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:findingArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:exploitAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageRepositoryName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageRegistry:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImagePushedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:ecrImageHash:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageArchitecture:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceVpcId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceSubnetId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceImageId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:componentType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:componentId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:awsAccountId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
awsAccountId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
componentId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
componentType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ec2InstanceImageId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ec2InstanceVpcId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ecrImageArchitecture
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ecrImageHash
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty DateFilter)
ecrImagePushedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ecrImageRegistry
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ecrImageRepositoryName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
ecrImageTags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
exploitAvailable
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
findingArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
findingStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
findingType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty DateFilter)
firstObservedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
fixAvailable
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty NumberFilter)
inspectorScore
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
lambdaFunctionLayers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
lambdaFunctionName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty DateFilter)
lastObservedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
networkProtocol
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty PortRangeFilter)
portRange
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
relatedVulnerabilities
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
resourceId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty MapFilter)
resourceTags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
resourceType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
severity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
title
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty DateFilter)
updatedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
vendorSeverity
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
vulnerabilityId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty StringFilter)
vulnerabilitySource
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty PackageFilter)
vulnerablePackages

instance Prelude.NFData FilterCriteria where
  rnf :: FilterCriteria -> ()
rnf FilterCriteria' {Maybe (NonEmpty DateFilter)
Maybe (NonEmpty MapFilter)
Maybe (NonEmpty NumberFilter)
Maybe (NonEmpty PortRangeFilter)
Maybe (NonEmpty StringFilter)
Maybe (NonEmpty PackageFilter)
vulnerablePackages :: Maybe (NonEmpty PackageFilter)
vulnerabilitySource :: Maybe (NonEmpty StringFilter)
vulnerabilityId :: Maybe (NonEmpty StringFilter)
vendorSeverity :: Maybe (NonEmpty StringFilter)
updatedAt :: Maybe (NonEmpty DateFilter)
title :: Maybe (NonEmpty StringFilter)
severity :: Maybe (NonEmpty StringFilter)
resourceType :: Maybe (NonEmpty StringFilter)
resourceTags :: Maybe (NonEmpty MapFilter)
resourceId :: Maybe (NonEmpty StringFilter)
relatedVulnerabilities :: Maybe (NonEmpty StringFilter)
portRange :: Maybe (NonEmpty PortRangeFilter)
networkProtocol :: Maybe (NonEmpty StringFilter)
lastObservedAt :: Maybe (NonEmpty DateFilter)
lambdaFunctionRuntime :: Maybe (NonEmpty StringFilter)
lambdaFunctionName :: Maybe (NonEmpty StringFilter)
lambdaFunctionLayers :: Maybe (NonEmpty StringFilter)
lambdaFunctionLastModifiedAt :: Maybe (NonEmpty DateFilter)
lambdaFunctionExecutionRoleArn :: Maybe (NonEmpty StringFilter)
inspectorScore :: Maybe (NonEmpty NumberFilter)
fixAvailable :: Maybe (NonEmpty StringFilter)
firstObservedAt :: Maybe (NonEmpty DateFilter)
findingType :: Maybe (NonEmpty StringFilter)
findingStatus :: Maybe (NonEmpty StringFilter)
findingArn :: Maybe (NonEmpty StringFilter)
exploitAvailable :: Maybe (NonEmpty StringFilter)
ecrImageTags :: Maybe (NonEmpty StringFilter)
ecrImageRepositoryName :: Maybe (NonEmpty StringFilter)
ecrImageRegistry :: Maybe (NonEmpty StringFilter)
ecrImagePushedAt :: Maybe (NonEmpty DateFilter)
ecrImageHash :: Maybe (NonEmpty StringFilter)
ecrImageArchitecture :: Maybe (NonEmpty StringFilter)
ec2InstanceVpcId :: Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId :: Maybe (NonEmpty StringFilter)
ec2InstanceImageId :: Maybe (NonEmpty StringFilter)
componentType :: Maybe (NonEmpty StringFilter)
componentId :: Maybe (NonEmpty StringFilter)
awsAccountId :: Maybe (NonEmpty StringFilter)
$sel:vulnerablePackages:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PackageFilter)
$sel:vulnerabilitySource:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:vulnerabilityId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:vendorSeverity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:updatedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:title:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:severity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:resourceType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:resourceTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty MapFilter)
$sel:resourceId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:relatedVulnerabilities:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:portRange:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PortRangeFilter)
$sel:networkProtocol:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lastObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionRuntime:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLayers:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLastModifiedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionExecutionRoleArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:inspectorScore:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty NumberFilter)
$sel:fixAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:firstObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:findingType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:findingStatus:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:findingArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:exploitAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageRepositoryName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageRegistry:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImagePushedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:ecrImageHash:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageArchitecture:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceVpcId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceSubnetId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceImageId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:componentType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:componentId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:awsAccountId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
awsAccountId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
componentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
componentType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ec2InstanceImageId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ec2InstanceVpcId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ecrImageArchitecture
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ecrImageHash
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty DateFilter)
ecrImagePushedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ecrImageRegistry
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ecrImageRepositoryName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
ecrImageTags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
exploitAvailable
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
findingArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
findingStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
findingType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty DateFilter)
firstObservedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty StringFilter)
fixAvailable
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty NumberFilter)
inspectorScore
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
lambdaFunctionLayers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
lambdaFunctionName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty DateFilter)
lastObservedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
networkProtocol
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty PortRangeFilter)
portRange
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
relatedVulnerabilities
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
resourceId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty MapFilter)
resourceTags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
resourceType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
severity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
title
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty DateFilter)
updatedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
vendorSeverity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
vulnerabilityId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty StringFilter)
vulnerabilitySource
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe (NonEmpty PackageFilter)
vulnerablePackages

instance Data.ToJSON FilterCriteria where
  toJSON :: FilterCriteria -> Value
toJSON FilterCriteria' {Maybe (NonEmpty DateFilter)
Maybe (NonEmpty MapFilter)
Maybe (NonEmpty NumberFilter)
Maybe (NonEmpty PortRangeFilter)
Maybe (NonEmpty StringFilter)
Maybe (NonEmpty PackageFilter)
vulnerablePackages :: Maybe (NonEmpty PackageFilter)
vulnerabilitySource :: Maybe (NonEmpty StringFilter)
vulnerabilityId :: Maybe (NonEmpty StringFilter)
vendorSeverity :: Maybe (NonEmpty StringFilter)
updatedAt :: Maybe (NonEmpty DateFilter)
title :: Maybe (NonEmpty StringFilter)
severity :: Maybe (NonEmpty StringFilter)
resourceType :: Maybe (NonEmpty StringFilter)
resourceTags :: Maybe (NonEmpty MapFilter)
resourceId :: Maybe (NonEmpty StringFilter)
relatedVulnerabilities :: Maybe (NonEmpty StringFilter)
portRange :: Maybe (NonEmpty PortRangeFilter)
networkProtocol :: Maybe (NonEmpty StringFilter)
lastObservedAt :: Maybe (NonEmpty DateFilter)
lambdaFunctionRuntime :: Maybe (NonEmpty StringFilter)
lambdaFunctionName :: Maybe (NonEmpty StringFilter)
lambdaFunctionLayers :: Maybe (NonEmpty StringFilter)
lambdaFunctionLastModifiedAt :: Maybe (NonEmpty DateFilter)
lambdaFunctionExecutionRoleArn :: Maybe (NonEmpty StringFilter)
inspectorScore :: Maybe (NonEmpty NumberFilter)
fixAvailable :: Maybe (NonEmpty StringFilter)
firstObservedAt :: Maybe (NonEmpty DateFilter)
findingType :: Maybe (NonEmpty StringFilter)
findingStatus :: Maybe (NonEmpty StringFilter)
findingArn :: Maybe (NonEmpty StringFilter)
exploitAvailable :: Maybe (NonEmpty StringFilter)
ecrImageTags :: Maybe (NonEmpty StringFilter)
ecrImageRepositoryName :: Maybe (NonEmpty StringFilter)
ecrImageRegistry :: Maybe (NonEmpty StringFilter)
ecrImagePushedAt :: Maybe (NonEmpty DateFilter)
ecrImageHash :: Maybe (NonEmpty StringFilter)
ecrImageArchitecture :: Maybe (NonEmpty StringFilter)
ec2InstanceVpcId :: Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId :: Maybe (NonEmpty StringFilter)
ec2InstanceImageId :: Maybe (NonEmpty StringFilter)
componentType :: Maybe (NonEmpty StringFilter)
componentId :: Maybe (NonEmpty StringFilter)
awsAccountId :: Maybe (NonEmpty StringFilter)
$sel:vulnerablePackages:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PackageFilter)
$sel:vulnerabilitySource:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:vulnerabilityId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:vendorSeverity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:updatedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:title:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:severity:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:resourceType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:resourceTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty MapFilter)
$sel:resourceId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:relatedVulnerabilities:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:portRange:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty PortRangeFilter)
$sel:networkProtocol:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lastObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionRuntime:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLayers:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:lambdaFunctionLastModifiedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:lambdaFunctionExecutionRoleArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:inspectorScore:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty NumberFilter)
$sel:fixAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:firstObservedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:findingType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:findingStatus:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:findingArn:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:exploitAvailable:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageTags:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageRepositoryName:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageRegistry:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImagePushedAt:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty DateFilter)
$sel:ecrImageHash:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ecrImageArchitecture:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceVpcId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceSubnetId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:ec2InstanceImageId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:componentType:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:componentId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
$sel:awsAccountId:FilterCriteria' :: FilterCriteria -> Maybe (NonEmpty StringFilter)
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"awsAccountId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
awsAccountId,
            (Key
"componentId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
componentId,
            (Key
"componentType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
componentType,
            (Key
"ec2InstanceImageId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ec2InstanceImageId,
            (Key
"ec2InstanceSubnetId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ec2InstanceSubnetId,
            (Key
"ec2InstanceVpcId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ec2InstanceVpcId,
            (Key
"ecrImageArchitecture" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ecrImageArchitecture,
            (Key
"ecrImageHash" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ecrImageHash,
            (Key
"ecrImagePushedAt" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty DateFilter)
ecrImagePushedAt,
            (Key
"ecrImageRegistry" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ecrImageRegistry,
            (Key
"ecrImageRepositoryName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ecrImageRepositoryName,
            (Key
"ecrImageTags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
ecrImageTags,
            (Key
"exploitAvailable" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
exploitAvailable,
            (Key
"findingArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
findingArn,
            (Key
"findingStatus" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
findingStatus,
            (Key
"findingType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
findingType,
            (Key
"firstObservedAt" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty DateFilter)
firstObservedAt,
            (Key
"fixAvailable" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
fixAvailable,
            (Key
"inspectorScore" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty NumberFilter)
inspectorScore,
            (Key
"lambdaFunctionExecutionRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
lambdaFunctionExecutionRoleArn,
            (Key
"lambdaFunctionLastModifiedAt" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty DateFilter)
lambdaFunctionLastModifiedAt,
            (Key
"lambdaFunctionLayers" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
lambdaFunctionLayers,
            (Key
"lambdaFunctionName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
lambdaFunctionName,
            (Key
"lambdaFunctionRuntime" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
lambdaFunctionRuntime,
            (Key
"lastObservedAt" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty DateFilter)
lastObservedAt,
            (Key
"networkProtocol" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
networkProtocol,
            (Key
"portRange" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty PortRangeFilter)
portRange,
            (Key
"relatedVulnerabilities" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
relatedVulnerabilities,
            (Key
"resourceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
resourceId,
            (Key
"resourceTags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty MapFilter)
resourceTags,
            (Key
"resourceType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
resourceType,
            (Key
"severity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
severity,
            (Key
"title" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
title,
            (Key
"updatedAt" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty DateFilter)
updatedAt,
            (Key
"vendorSeverity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
vendorSeverity,
            (Key
"vulnerabilityId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
vulnerabilityId,
            (Key
"vulnerabilitySource" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty StringFilter)
vulnerabilitySource,
            (Key
"vulnerablePackages" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (NonEmpty PackageFilter)
vulnerablePackages
          ]
      )