{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Rekognition.CompareFaces
(
CompareFaces (..),
newCompareFaces,
compareFaces_qualityFilter,
compareFaces_similarityThreshold,
compareFaces_sourceImage,
compareFaces_targetImage,
CompareFacesResponse (..),
newCompareFacesResponse,
compareFacesResponse_faceMatches,
compareFacesResponse_sourceImageFace,
compareFacesResponse_sourceImageOrientationCorrection,
compareFacesResponse_targetImageOrientationCorrection,
compareFacesResponse_unmatchedFaces,
compareFacesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.Rekognition.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CompareFaces = CompareFaces'
{
CompareFaces -> Maybe QualityFilter
qualityFilter :: Prelude.Maybe QualityFilter,
CompareFaces -> Maybe Double
similarityThreshold :: Prelude.Maybe Prelude.Double,
CompareFaces -> Image
sourceImage :: Image,
CompareFaces -> Image
targetImage :: Image
}
deriving (CompareFaces -> CompareFaces -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CompareFaces -> CompareFaces -> Bool
$c/= :: CompareFaces -> CompareFaces -> Bool
== :: CompareFaces -> CompareFaces -> Bool
$c== :: CompareFaces -> CompareFaces -> Bool
Prelude.Eq, ReadPrec [CompareFaces]
ReadPrec CompareFaces
Int -> ReadS CompareFaces
ReadS [CompareFaces]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CompareFaces]
$creadListPrec :: ReadPrec [CompareFaces]
readPrec :: ReadPrec CompareFaces
$creadPrec :: ReadPrec CompareFaces
readList :: ReadS [CompareFaces]
$creadList :: ReadS [CompareFaces]
readsPrec :: Int -> ReadS CompareFaces
$creadsPrec :: Int -> ReadS CompareFaces
Prelude.Read, Int -> CompareFaces -> ShowS
[CompareFaces] -> ShowS
CompareFaces -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CompareFaces] -> ShowS
$cshowList :: [CompareFaces] -> ShowS
show :: CompareFaces -> String
$cshow :: CompareFaces -> String
showsPrec :: Int -> CompareFaces -> ShowS
$cshowsPrec :: Int -> CompareFaces -> ShowS
Prelude.Show, forall x. Rep CompareFaces x -> CompareFaces
forall x. CompareFaces -> Rep CompareFaces x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CompareFaces x -> CompareFaces
$cfrom :: forall x. CompareFaces -> Rep CompareFaces x
Prelude.Generic)
newCompareFaces ::
Image ->
Image ->
CompareFaces
newCompareFaces :: Image -> Image -> CompareFaces
newCompareFaces Image
pSourceImage_ Image
pTargetImage_ =
CompareFaces'
{ $sel:qualityFilter:CompareFaces' :: Maybe QualityFilter
qualityFilter = forall a. Maybe a
Prelude.Nothing,
$sel:similarityThreshold:CompareFaces' :: Maybe Double
similarityThreshold = forall a. Maybe a
Prelude.Nothing,
$sel:sourceImage:CompareFaces' :: Image
sourceImage = Image
pSourceImage_,
$sel:targetImage:CompareFaces' :: Image
targetImage = Image
pTargetImage_
}
compareFaces_qualityFilter :: Lens.Lens' CompareFaces (Prelude.Maybe QualityFilter)
compareFaces_qualityFilter :: Lens' CompareFaces (Maybe QualityFilter)
compareFaces_qualityFilter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFaces' {Maybe QualityFilter
qualityFilter :: Maybe QualityFilter
$sel:qualityFilter:CompareFaces' :: CompareFaces -> Maybe QualityFilter
qualityFilter} -> Maybe QualityFilter
qualityFilter) (\s :: CompareFaces
s@CompareFaces' {} Maybe QualityFilter
a -> CompareFaces
s {$sel:qualityFilter:CompareFaces' :: Maybe QualityFilter
qualityFilter = Maybe QualityFilter
a} :: CompareFaces)
compareFaces_similarityThreshold :: Lens.Lens' CompareFaces (Prelude.Maybe Prelude.Double)
compareFaces_similarityThreshold :: Lens' CompareFaces (Maybe Double)
compareFaces_similarityThreshold = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFaces' {Maybe Double
similarityThreshold :: Maybe Double
$sel:similarityThreshold:CompareFaces' :: CompareFaces -> Maybe Double
similarityThreshold} -> Maybe Double
similarityThreshold) (\s :: CompareFaces
s@CompareFaces' {} Maybe Double
a -> CompareFaces
s {$sel:similarityThreshold:CompareFaces' :: Maybe Double
similarityThreshold = Maybe Double
a} :: CompareFaces)
compareFaces_sourceImage :: Lens.Lens' CompareFaces Image
compareFaces_sourceImage :: Lens' CompareFaces Image
compareFaces_sourceImage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFaces' {Image
sourceImage :: Image
$sel:sourceImage:CompareFaces' :: CompareFaces -> Image
sourceImage} -> Image
sourceImage) (\s :: CompareFaces
s@CompareFaces' {} Image
a -> CompareFaces
s {$sel:sourceImage:CompareFaces' :: Image
sourceImage = Image
a} :: CompareFaces)
compareFaces_targetImage :: Lens.Lens' CompareFaces Image
compareFaces_targetImage :: Lens' CompareFaces Image
compareFaces_targetImage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFaces' {Image
targetImage :: Image
$sel:targetImage:CompareFaces' :: CompareFaces -> Image
targetImage} -> Image
targetImage) (\s :: CompareFaces
s@CompareFaces' {} Image
a -> CompareFaces
s {$sel:targetImage:CompareFaces' :: Image
targetImage = Image
a} :: CompareFaces)
instance Core.AWSRequest CompareFaces where
type AWSResponse CompareFaces = CompareFacesResponse
request :: (Service -> Service) -> CompareFaces -> Request CompareFaces
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CompareFaces
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CompareFaces)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe [CompareFacesMatch]
-> Maybe ComparedSourceImageFace
-> Maybe OrientationCorrection
-> Maybe OrientationCorrection
-> Maybe [ComparedFace]
-> Int
-> CompareFacesResponse
CompareFacesResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"FaceMatches" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SourceImageFace")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SourceImageOrientationCorrection")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"TargetImageOrientationCorrection")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"UnmatchedFaces" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable CompareFaces where
hashWithSalt :: Int -> CompareFaces -> Int
hashWithSalt Int
_salt CompareFaces' {Maybe Double
Maybe QualityFilter
Image
targetImage :: Image
sourceImage :: Image
similarityThreshold :: Maybe Double
qualityFilter :: Maybe QualityFilter
$sel:targetImage:CompareFaces' :: CompareFaces -> Image
$sel:sourceImage:CompareFaces' :: CompareFaces -> Image
$sel:similarityThreshold:CompareFaces' :: CompareFaces -> Maybe Double
$sel:qualityFilter:CompareFaces' :: CompareFaces -> Maybe QualityFilter
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe QualityFilter
qualityFilter
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Double
similarityThreshold
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Image
sourceImage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Image
targetImage
instance Prelude.NFData CompareFaces where
rnf :: CompareFaces -> ()
rnf CompareFaces' {Maybe Double
Maybe QualityFilter
Image
targetImage :: Image
sourceImage :: Image
similarityThreshold :: Maybe Double
qualityFilter :: Maybe QualityFilter
$sel:targetImage:CompareFaces' :: CompareFaces -> Image
$sel:sourceImage:CompareFaces' :: CompareFaces -> Image
$sel:similarityThreshold:CompareFaces' :: CompareFaces -> Maybe Double
$sel:qualityFilter:CompareFaces' :: CompareFaces -> Maybe QualityFilter
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe QualityFilter
qualityFilter
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
similarityThreshold
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Image
sourceImage
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Image
targetImage
instance Data.ToHeaders CompareFaces where
toHeaders :: CompareFaces -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"RekognitionService.CompareFaces" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CompareFaces where
toJSON :: CompareFaces -> Value
toJSON CompareFaces' {Maybe Double
Maybe QualityFilter
Image
targetImage :: Image
sourceImage :: Image
similarityThreshold :: Maybe Double
qualityFilter :: Maybe QualityFilter
$sel:targetImage:CompareFaces' :: CompareFaces -> Image
$sel:sourceImage:CompareFaces' :: CompareFaces -> Image
$sel:similarityThreshold:CompareFaces' :: CompareFaces -> Maybe Double
$sel:qualityFilter:CompareFaces' :: CompareFaces -> Maybe QualityFilter
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"QualityFilter" 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 QualityFilter
qualityFilter,
(Key
"SimilarityThreshold" 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 Double
similarityThreshold,
forall a. a -> Maybe a
Prelude.Just (Key
"SourceImage" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Image
sourceImage),
forall a. a -> Maybe a
Prelude.Just (Key
"TargetImage" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Image
targetImage)
]
)
instance Data.ToPath CompareFaces where
toPath :: CompareFaces -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CompareFaces where
toQuery :: CompareFaces -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CompareFacesResponse = CompareFacesResponse'
{
CompareFacesResponse -> Maybe [CompareFacesMatch]
faceMatches :: Prelude.Maybe [CompareFacesMatch],
CompareFacesResponse -> Maybe ComparedSourceImageFace
sourceImageFace :: Prelude.Maybe ComparedSourceImageFace,
CompareFacesResponse -> Maybe OrientationCorrection
sourceImageOrientationCorrection :: Prelude.Maybe OrientationCorrection,
CompareFacesResponse -> Maybe OrientationCorrection
targetImageOrientationCorrection :: Prelude.Maybe OrientationCorrection,
CompareFacesResponse -> Maybe [ComparedFace]
unmatchedFaces :: Prelude.Maybe [ComparedFace],
CompareFacesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CompareFacesResponse -> CompareFacesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CompareFacesResponse -> CompareFacesResponse -> Bool
$c/= :: CompareFacesResponse -> CompareFacesResponse -> Bool
== :: CompareFacesResponse -> CompareFacesResponse -> Bool
$c== :: CompareFacesResponse -> CompareFacesResponse -> Bool
Prelude.Eq, ReadPrec [CompareFacesResponse]
ReadPrec CompareFacesResponse
Int -> ReadS CompareFacesResponse
ReadS [CompareFacesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CompareFacesResponse]
$creadListPrec :: ReadPrec [CompareFacesResponse]
readPrec :: ReadPrec CompareFacesResponse
$creadPrec :: ReadPrec CompareFacesResponse
readList :: ReadS [CompareFacesResponse]
$creadList :: ReadS [CompareFacesResponse]
readsPrec :: Int -> ReadS CompareFacesResponse
$creadsPrec :: Int -> ReadS CompareFacesResponse
Prelude.Read, Int -> CompareFacesResponse -> ShowS
[CompareFacesResponse] -> ShowS
CompareFacesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CompareFacesResponse] -> ShowS
$cshowList :: [CompareFacesResponse] -> ShowS
show :: CompareFacesResponse -> String
$cshow :: CompareFacesResponse -> String
showsPrec :: Int -> CompareFacesResponse -> ShowS
$cshowsPrec :: Int -> CompareFacesResponse -> ShowS
Prelude.Show, forall x. Rep CompareFacesResponse x -> CompareFacesResponse
forall x. CompareFacesResponse -> Rep CompareFacesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CompareFacesResponse x -> CompareFacesResponse
$cfrom :: forall x. CompareFacesResponse -> Rep CompareFacesResponse x
Prelude.Generic)
newCompareFacesResponse ::
Prelude.Int ->
CompareFacesResponse
newCompareFacesResponse :: Int -> CompareFacesResponse
newCompareFacesResponse Int
pHttpStatus_ =
CompareFacesResponse'
{ $sel:faceMatches:CompareFacesResponse' :: Maybe [CompareFacesMatch]
faceMatches =
forall a. Maybe a
Prelude.Nothing,
$sel:sourceImageFace:CompareFacesResponse' :: Maybe ComparedSourceImageFace
sourceImageFace = forall a. Maybe a
Prelude.Nothing,
$sel:sourceImageOrientationCorrection:CompareFacesResponse' :: Maybe OrientationCorrection
sourceImageOrientationCorrection = forall a. Maybe a
Prelude.Nothing,
$sel:targetImageOrientationCorrection:CompareFacesResponse' :: Maybe OrientationCorrection
targetImageOrientationCorrection = forall a. Maybe a
Prelude.Nothing,
$sel:unmatchedFaces:CompareFacesResponse' :: Maybe [ComparedFace]
unmatchedFaces = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CompareFacesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
compareFacesResponse_faceMatches :: Lens.Lens' CompareFacesResponse (Prelude.Maybe [CompareFacesMatch])
compareFacesResponse_faceMatches :: Lens' CompareFacesResponse (Maybe [CompareFacesMatch])
compareFacesResponse_faceMatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFacesResponse' {Maybe [CompareFacesMatch]
faceMatches :: Maybe [CompareFacesMatch]
$sel:faceMatches:CompareFacesResponse' :: CompareFacesResponse -> Maybe [CompareFacesMatch]
faceMatches} -> Maybe [CompareFacesMatch]
faceMatches) (\s :: CompareFacesResponse
s@CompareFacesResponse' {} Maybe [CompareFacesMatch]
a -> CompareFacesResponse
s {$sel:faceMatches:CompareFacesResponse' :: Maybe [CompareFacesMatch]
faceMatches = Maybe [CompareFacesMatch]
a} :: CompareFacesResponse) 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
compareFacesResponse_sourceImageFace :: Lens.Lens' CompareFacesResponse (Prelude.Maybe ComparedSourceImageFace)
compareFacesResponse_sourceImageFace :: Lens' CompareFacesResponse (Maybe ComparedSourceImageFace)
compareFacesResponse_sourceImageFace = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFacesResponse' {Maybe ComparedSourceImageFace
sourceImageFace :: Maybe ComparedSourceImageFace
$sel:sourceImageFace:CompareFacesResponse' :: CompareFacesResponse -> Maybe ComparedSourceImageFace
sourceImageFace} -> Maybe ComparedSourceImageFace
sourceImageFace) (\s :: CompareFacesResponse
s@CompareFacesResponse' {} Maybe ComparedSourceImageFace
a -> CompareFacesResponse
s {$sel:sourceImageFace:CompareFacesResponse' :: Maybe ComparedSourceImageFace
sourceImageFace = Maybe ComparedSourceImageFace
a} :: CompareFacesResponse)
compareFacesResponse_sourceImageOrientationCorrection :: Lens.Lens' CompareFacesResponse (Prelude.Maybe OrientationCorrection)
compareFacesResponse_sourceImageOrientationCorrection :: Lens' CompareFacesResponse (Maybe OrientationCorrection)
compareFacesResponse_sourceImageOrientationCorrection = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFacesResponse' {Maybe OrientationCorrection
sourceImageOrientationCorrection :: Maybe OrientationCorrection
$sel:sourceImageOrientationCorrection:CompareFacesResponse' :: CompareFacesResponse -> Maybe OrientationCorrection
sourceImageOrientationCorrection} -> Maybe OrientationCorrection
sourceImageOrientationCorrection) (\s :: CompareFacesResponse
s@CompareFacesResponse' {} Maybe OrientationCorrection
a -> CompareFacesResponse
s {$sel:sourceImageOrientationCorrection:CompareFacesResponse' :: Maybe OrientationCorrection
sourceImageOrientationCorrection = Maybe OrientationCorrection
a} :: CompareFacesResponse)
compareFacesResponse_targetImageOrientationCorrection :: Lens.Lens' CompareFacesResponse (Prelude.Maybe OrientationCorrection)
compareFacesResponse_targetImageOrientationCorrection :: Lens' CompareFacesResponse (Maybe OrientationCorrection)
compareFacesResponse_targetImageOrientationCorrection = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFacesResponse' {Maybe OrientationCorrection
targetImageOrientationCorrection :: Maybe OrientationCorrection
$sel:targetImageOrientationCorrection:CompareFacesResponse' :: CompareFacesResponse -> Maybe OrientationCorrection
targetImageOrientationCorrection} -> Maybe OrientationCorrection
targetImageOrientationCorrection) (\s :: CompareFacesResponse
s@CompareFacesResponse' {} Maybe OrientationCorrection
a -> CompareFacesResponse
s {$sel:targetImageOrientationCorrection:CompareFacesResponse' :: Maybe OrientationCorrection
targetImageOrientationCorrection = Maybe OrientationCorrection
a} :: CompareFacesResponse)
compareFacesResponse_unmatchedFaces :: Lens.Lens' CompareFacesResponse (Prelude.Maybe [ComparedFace])
compareFacesResponse_unmatchedFaces :: Lens' CompareFacesResponse (Maybe [ComparedFace])
compareFacesResponse_unmatchedFaces = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFacesResponse' {Maybe [ComparedFace]
unmatchedFaces :: Maybe [ComparedFace]
$sel:unmatchedFaces:CompareFacesResponse' :: CompareFacesResponse -> Maybe [ComparedFace]
unmatchedFaces} -> Maybe [ComparedFace]
unmatchedFaces) (\s :: CompareFacesResponse
s@CompareFacesResponse' {} Maybe [ComparedFace]
a -> CompareFacesResponse
s {$sel:unmatchedFaces:CompareFacesResponse' :: Maybe [ComparedFace]
unmatchedFaces = Maybe [ComparedFace]
a} :: CompareFacesResponse) 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
compareFacesResponse_httpStatus :: Lens.Lens' CompareFacesResponse Prelude.Int
compareFacesResponse_httpStatus :: Lens' CompareFacesResponse Int
compareFacesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CompareFacesResponse' {Int
httpStatus :: Int
$sel:httpStatus:CompareFacesResponse' :: CompareFacesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CompareFacesResponse
s@CompareFacesResponse' {} Int
a -> CompareFacesResponse
s {$sel:httpStatus:CompareFacesResponse' :: Int
httpStatus = Int
a} :: CompareFacesResponse)
instance Prelude.NFData CompareFacesResponse where
rnf :: CompareFacesResponse -> ()
rnf CompareFacesResponse' {Int
Maybe [ComparedFace]
Maybe [CompareFacesMatch]
Maybe ComparedSourceImageFace
Maybe OrientationCorrection
httpStatus :: Int
unmatchedFaces :: Maybe [ComparedFace]
targetImageOrientationCorrection :: Maybe OrientationCorrection
sourceImageOrientationCorrection :: Maybe OrientationCorrection
sourceImageFace :: Maybe ComparedSourceImageFace
faceMatches :: Maybe [CompareFacesMatch]
$sel:httpStatus:CompareFacesResponse' :: CompareFacesResponse -> Int
$sel:unmatchedFaces:CompareFacesResponse' :: CompareFacesResponse -> Maybe [ComparedFace]
$sel:targetImageOrientationCorrection:CompareFacesResponse' :: CompareFacesResponse -> Maybe OrientationCorrection
$sel:sourceImageOrientationCorrection:CompareFacesResponse' :: CompareFacesResponse -> Maybe OrientationCorrection
$sel:sourceImageFace:CompareFacesResponse' :: CompareFacesResponse -> Maybe ComparedSourceImageFace
$sel:faceMatches:CompareFacesResponse' :: CompareFacesResponse -> Maybe [CompareFacesMatch]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [CompareFacesMatch]
faceMatches
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ComparedSourceImageFace
sourceImageFace
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OrientationCorrection
sourceImageOrientationCorrection
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OrientationCorrection
targetImageOrientationCorrection
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ComparedFace]
unmatchedFaces
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus