packages feed

amazonka-rekognition 1.4.5 → 1.5.0

raw patch · 29 files changed

+1735/−839 lines, 29 filesdep ~amazonka-coredep ~amazonka-rekognitiondep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-rekognition, amazonka-test

API changes (from Hackage documentation)

- Network.AWS.Rekognition: LeftEyebrowLeft :: LandmarkType
- Network.AWS.Rekognition: LeftEyebrowRight :: LandmarkType
- Network.AWS.Rekognition: LeftEyebrowUp :: LandmarkType
- Network.AWS.Rekognition: RightEyebrowLeft :: LandmarkType
- Network.AWS.Rekognition: RightEyebrowRight :: LandmarkType
- Network.AWS.Rekognition: RightEyebrowUp :: LandmarkType
- Network.AWS.Rekognition.Types: LeftEyebrowLeft :: LandmarkType
- Network.AWS.Rekognition.Types: LeftEyebrowRight :: LandmarkType
- Network.AWS.Rekognition.Types: LeftEyebrowUp :: LandmarkType
- Network.AWS.Rekognition.Types: RightEyebrowLeft :: LandmarkType
- Network.AWS.Rekognition.Types: RightEyebrowRight :: LandmarkType
- Network.AWS.Rekognition.Types: RightEyebrowUp :: LandmarkType
+ Network.AWS.Rekognition: LeftEyeBrowLeft :: LandmarkType
+ Network.AWS.Rekognition: LeftEyeBrowRight :: LandmarkType
+ Network.AWS.Rekognition: LeftEyeBrowUp :: LandmarkType
+ Network.AWS.Rekognition: RightEyeBrowLeft :: LandmarkType
+ Network.AWS.Rekognition: RightEyeBrowRight :: LandmarkType
+ Network.AWS.Rekognition: RightEyeBrowUp :: LandmarkType
+ Network.AWS.Rekognition: ageRange :: AgeRange
+ Network.AWS.Rekognition: arHigh :: Lens' AgeRange (Maybe Natural)
+ Network.AWS.Rekognition: arLow :: Lens' AgeRange (Maybe Natural)
+ Network.AWS.Rekognition: cFace :: Lens' Celebrity (Maybe ComparedFace)
+ Network.AWS.Rekognition: cId :: Lens' Celebrity (Maybe Text)
+ Network.AWS.Rekognition: cMatchConfidence :: Lens' Celebrity (Maybe Double)
+ Network.AWS.Rekognition: cName :: Lens' Celebrity (Maybe Text)
+ Network.AWS.Rekognition: cURLs :: Lens' Celebrity [Text]
+ Network.AWS.Rekognition: celebrity :: Celebrity
+ Network.AWS.Rekognition: cfLandmarks :: Lens' ComparedFace [Landmark]
+ Network.AWS.Rekognition: cfPose :: Lens' ComparedFace (Maybe Pose)
+ Network.AWS.Rekognition: cfQuality :: Lens' ComparedFace (Maybe ImageQuality)
+ Network.AWS.Rekognition: data AgeRange
+ Network.AWS.Rekognition: data Celebrity
+ Network.AWS.Rekognition: data ModerationLabel
+ Network.AWS.Rekognition: fdAgeRange :: Lens' FaceDetail (Maybe AgeRange)
+ Network.AWS.Rekognition: mlConfidence :: Lens' ModerationLabel (Maybe Double)
+ Network.AWS.Rekognition: mlName :: Lens' ModerationLabel (Maybe Text)
+ Network.AWS.Rekognition: mlParentName :: Lens' ModerationLabel (Maybe Text)
+ Network.AWS.Rekognition: moderationLabel :: ModerationLabel
+ Network.AWS.Rekognition.CompareFaces: cfrsSourceImageOrientationCorrection :: Lens' CompareFacesResponse (Maybe OrientationCorrection)
+ Network.AWS.Rekognition.CompareFaces: cfrsTargetImageOrientationCorrection :: Lens' CompareFacesResponse (Maybe OrientationCorrection)
+ Network.AWS.Rekognition.CompareFaces: cfrsUnmatchedFaces :: Lens' CompareFacesResponse [ComparedFace]
+ Network.AWS.Rekognition.DetectModerationLabels: data DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: data DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: detectModerationLabels :: Image -> DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: detectModerationLabelsResponse :: Int -> DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: dmlImage :: Lens' DetectModerationLabels Image
+ Network.AWS.Rekognition.DetectModerationLabels: dmlMinConfidence :: Lens' DetectModerationLabels (Maybe Double)
+ Network.AWS.Rekognition.DetectModerationLabels: dmlrsModerationLabels :: Lens' DetectModerationLabelsResponse [ModerationLabel]
+ Network.AWS.Rekognition.DetectModerationLabels: dmlrsResponseStatus :: Lens' DetectModerationLabelsResponse Int
+ Network.AWS.Rekognition.DetectModerationLabels: instance Control.DeepSeq.NFData Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance Control.DeepSeq.NFData Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance Data.Data.Data Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance Data.Data.Data Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: instance Data.Hashable.Class.Hashable Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Classes.Eq Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Classes.Eq Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Generics.Generic Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Generics.Generic Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Read.Read Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Read.Read Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Show.Show Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance GHC.Show.Show Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabelsResponse
+ Network.AWS.Rekognition.DetectModerationLabels: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance Network.AWS.Data.Path.ToPath Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance Network.AWS.Data.Query.ToQuery Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.DetectModerationLabels: instance Network.AWS.Types.AWSRequest Network.AWS.Rekognition.DetectModerationLabels.DetectModerationLabels
+ Network.AWS.Rekognition.GetCelebrityInfo: data GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: data GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: gciId :: Lens' GetCelebrityInfo Text
+ Network.AWS.Rekognition.GetCelebrityInfo: gcirsName :: Lens' GetCelebrityInfoResponse (Maybe Text)
+ Network.AWS.Rekognition.GetCelebrityInfo: gcirsResponseStatus :: Lens' GetCelebrityInfoResponse Int
+ Network.AWS.Rekognition.GetCelebrityInfo: gcirsURLs :: Lens' GetCelebrityInfoResponse [Text]
+ Network.AWS.Rekognition.GetCelebrityInfo: getCelebrityInfo :: Text -> GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: getCelebrityInfoResponse :: Int -> GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Control.DeepSeq.NFData Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Control.DeepSeq.NFData Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Data.Data.Data Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Data.Data.Data Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Data.Hashable.Class.Hashable Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Classes.Eq Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Classes.Eq Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Generics.Generic Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Generics.Generic Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Read.Read Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Read.Read Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Show.Show Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance GHC.Show.Show Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfoResponse
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Network.AWS.Data.Path.ToPath Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Network.AWS.Data.Query.ToQuery Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.GetCelebrityInfo: instance Network.AWS.Types.AWSRequest Network.AWS.Rekognition.GetCelebrityInfo.GetCelebrityInfo
+ Network.AWS.Rekognition.ListCollections: instance Network.AWS.Pager.AWSPager Network.AWS.Rekognition.ListCollections.ListCollections
+ Network.AWS.Rekognition.ListFaces: instance Network.AWS.Pager.AWSPager Network.AWS.Rekognition.ListFaces.ListFaces
+ Network.AWS.Rekognition.RecognizeCelebrities: data RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: data RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Control.DeepSeq.NFData Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Control.DeepSeq.NFData Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Data.Data.Data Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Data.Data.Data Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Data.Hashable.Class.Hashable Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Classes.Eq Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Classes.Eq Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Generics.Generic Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Generics.Generic Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Read.Read Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Read.Read Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Show.Show Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance GHC.Show.Show Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Network.AWS.Data.Path.ToPath Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Network.AWS.Data.Query.ToQuery Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: instance Network.AWS.Types.AWSRequest Network.AWS.Rekognition.RecognizeCelebrities.RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: rcImage :: Lens' RecognizeCelebrities Image
+ Network.AWS.Rekognition.RecognizeCelebrities: rcrsCelebrityFaces :: Lens' RecognizeCelebritiesResponse [Celebrity]
+ Network.AWS.Rekognition.RecognizeCelebrities: rcrsOrientationCorrection :: Lens' RecognizeCelebritiesResponse (Maybe OrientationCorrection)
+ Network.AWS.Rekognition.RecognizeCelebrities: rcrsResponseStatus :: Lens' RecognizeCelebritiesResponse Int
+ Network.AWS.Rekognition.RecognizeCelebrities: rcrsUnrecognizedFaces :: Lens' RecognizeCelebritiesResponse [ComparedFace]
+ Network.AWS.Rekognition.RecognizeCelebrities: recognizeCelebrities :: Image -> RecognizeCelebrities
+ Network.AWS.Rekognition.RecognizeCelebrities: recognizeCelebritiesResponse :: Int -> RecognizeCelebritiesResponse
+ Network.AWS.Rekognition.Types: LeftEyeBrowLeft :: LandmarkType
+ Network.AWS.Rekognition.Types: LeftEyeBrowRight :: LandmarkType
+ Network.AWS.Rekognition.Types: LeftEyeBrowUp :: LandmarkType
+ Network.AWS.Rekognition.Types: RightEyeBrowLeft :: LandmarkType
+ Network.AWS.Rekognition.Types: RightEyeBrowRight :: LandmarkType
+ Network.AWS.Rekognition.Types: RightEyeBrowUp :: LandmarkType
+ Network.AWS.Rekognition.Types: ageRange :: AgeRange
+ Network.AWS.Rekognition.Types: arHigh :: Lens' AgeRange (Maybe Natural)
+ Network.AWS.Rekognition.Types: arLow :: Lens' AgeRange (Maybe Natural)
+ Network.AWS.Rekognition.Types: cFace :: Lens' Celebrity (Maybe ComparedFace)
+ Network.AWS.Rekognition.Types: cId :: Lens' Celebrity (Maybe Text)
+ Network.AWS.Rekognition.Types: cMatchConfidence :: Lens' Celebrity (Maybe Double)
+ Network.AWS.Rekognition.Types: cName :: Lens' Celebrity (Maybe Text)
+ Network.AWS.Rekognition.Types: cURLs :: Lens' Celebrity [Text]
+ Network.AWS.Rekognition.Types: celebrity :: Celebrity
+ Network.AWS.Rekognition.Types: cfLandmarks :: Lens' ComparedFace [Landmark]
+ Network.AWS.Rekognition.Types: cfPose :: Lens' ComparedFace (Maybe Pose)
+ Network.AWS.Rekognition.Types: cfQuality :: Lens' ComparedFace (Maybe ImageQuality)
+ Network.AWS.Rekognition.Types: data AgeRange
+ Network.AWS.Rekognition.Types: data Celebrity
+ Network.AWS.Rekognition.Types: data ModerationLabel
+ Network.AWS.Rekognition.Types: fdAgeRange :: Lens' FaceDetail (Maybe AgeRange)
+ Network.AWS.Rekognition.Types: mlConfidence :: Lens' ModerationLabel (Maybe Double)
+ Network.AWS.Rekognition.Types: mlName :: Lens' ModerationLabel (Maybe Text)
+ Network.AWS.Rekognition.Types: mlParentName :: Lens' ModerationLabel (Maybe Text)
+ Network.AWS.Rekognition.Types: moderationLabel :: ModerationLabel

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.4.5`+`1.5.0`   ## Description
amazonka-rekognition.cabal view
@@ -1,13 +1,13 @@ name:                  amazonka-rekognition-version:               1.4.5+version:               1.5.0 synopsis:              Amazon Rekognition SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               OtherLicense+license:               MPL-2.0 license-file:          LICENSE author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2016 Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>+copyright:             Copyright (c) 2013-2017 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -29,14 +29,19 @@     to get started.  source-repository head-    type:     git-    location: git://github.com/brendanhay/amazonka.git+    type:              git+    location:          git://github.com/brendanhay/amazonka.git+    subdir:            amazonka-rekognition  library     default-language:  Haskell2010     hs-source-dirs:    src gen -    ghc-options:       -Wall+    ghc-options:+        -Wall+        -fwarn-incomplete-uni-patterns+        -fwarn-incomplete-record-updates+        -funbox-strict-fields      exposed-modules:           Network.AWS.Rekognition@@ -46,9 +51,12 @@         , Network.AWS.Rekognition.DeleteFaces         , Network.AWS.Rekognition.DetectFaces         , Network.AWS.Rekognition.DetectLabels+        , Network.AWS.Rekognition.DetectModerationLabels+        , Network.AWS.Rekognition.GetCelebrityInfo         , Network.AWS.Rekognition.IndexFaces         , Network.AWS.Rekognition.ListCollections         , Network.AWS.Rekognition.ListFaces+        , Network.AWS.Rekognition.RecognizeCelebrities         , Network.AWS.Rekognition.SearchFaces         , Network.AWS.Rekognition.SearchFacesByImage         , Network.AWS.Rekognition.Types@@ -59,7 +67,7 @@         , Network.AWS.Rekognition.Types.Sum      build-depends:-          amazonka-core == 1.4.5.*+          amazonka-core == 1.5.0.*         , base          >= 4.7     && < 5  test-suite amazonka-rekognition-test@@ -79,9 +87,9 @@         , Test.AWS.Rekognition.Internal      build-depends:-          amazonka-core == 1.4.5.*-        , amazonka-test == 1.4.5.*-        , amazonka-rekognition == 1.4.5.*+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-rekognition         , base         , bytestring         , tasty
+ fixture/DetectModerationLabels.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rekognition/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rekognition.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DetectModerationLabelsResponse.proto view
+ fixture/GetCelebrityInfo.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rekognition/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rekognition.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetCelebrityInfoResponse.proto view
+ fixture/RecognizeCelebrities.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/rekognition/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  rekognition.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/RecognizeCelebritiesResponse.proto view
gen/Network/AWS/Rekognition.hs view
@@ -5,13 +5,13 @@  -- | -- Module      : Network.AWS.Rekognition--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- This is Amazon Rekognition API guide.+-- This is the Amazon Rekognition API reference. -- -- module Network.AWS.Rekognition@@ -61,7 +61,7 @@     -- * Operations     -- $operations -    -- ** ListCollections+    -- ** ListCollections (Paginated)     , module Network.AWS.Rekognition.ListCollections      -- ** DeleteCollection@@ -76,6 +76,9 @@     -- ** SearchFacesByImage     , module Network.AWS.Rekognition.SearchFacesByImage +    -- ** RecognizeCelebrities+    , module Network.AWS.Rekognition.RecognizeCelebrities+     -- ** SearchFaces     , module Network.AWS.Rekognition.SearchFaces @@ -88,12 +91,18 @@     -- ** DetectFaces     , module Network.AWS.Rekognition.DetectFaces -    -- ** ListFaces+    -- ** ListFaces (Paginated)     , module Network.AWS.Rekognition.ListFaces      -- ** DeleteFaces     , module Network.AWS.Rekognition.DeleteFaces +    -- ** GetCelebrityInfo+    , module Network.AWS.Rekognition.GetCelebrityInfo++    -- ** DetectModerationLabels+    , module Network.AWS.Rekognition.DetectModerationLabels+     -- * Types      -- ** Attribute@@ -111,6 +120,12 @@     -- ** OrientationCorrection     , OrientationCorrection (..) +    -- ** AgeRange+    , AgeRange+    , ageRange+    , arLow+    , arHigh+     -- ** Beard     , Beard     , beard@@ -125,6 +140,15 @@     , bbWidth     , bbTop +    -- ** Celebrity+    , Celebrity+    , celebrity+    , cMatchConfidence+    , cURLs+    , cName+    , cId+    , cFace+     -- ** CompareFacesMatch     , CompareFacesMatch     , compareFacesMatch@@ -135,7 +159,10 @@     , ComparedFace     , comparedFace     , cfBoundingBox+    , cfPose     , cfConfidence+    , cfQuality+    , cfLandmarks      -- ** ComparedSourceImageFace     , ComparedSourceImageFace@@ -173,6 +200,7 @@     -- ** FaceDetail     , FaceDetail     , faceDetail+    , fdAgeRange     , fdSunglasses     , fdMouthOpen     , fdBoundingBox@@ -231,6 +259,13 @@     , lX     , lY +    -- ** ModerationLabel+    , ModerationLabel+    , moderationLabel+    , mlConfidence+    , mlName+    , mlParentName+     -- ** MouthOpen     , MouthOpen     , mouthOpen@@ -270,19 +305,22 @@     , sConfidence     ) where -import           Network.AWS.Rekognition.CompareFaces-import           Network.AWS.Rekognition.CreateCollection-import           Network.AWS.Rekognition.DeleteCollection-import           Network.AWS.Rekognition.DeleteFaces-import           Network.AWS.Rekognition.DetectFaces-import           Network.AWS.Rekognition.DetectLabels-import           Network.AWS.Rekognition.IndexFaces-import           Network.AWS.Rekognition.ListCollections-import           Network.AWS.Rekognition.ListFaces-import           Network.AWS.Rekognition.SearchFaces-import           Network.AWS.Rekognition.SearchFacesByImage-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Waiters+import Network.AWS.Rekognition.CompareFaces+import Network.AWS.Rekognition.CreateCollection+import Network.AWS.Rekognition.DeleteCollection+import Network.AWS.Rekognition.DeleteFaces+import Network.AWS.Rekognition.DetectFaces+import Network.AWS.Rekognition.DetectLabels+import Network.AWS.Rekognition.DetectModerationLabels+import Network.AWS.Rekognition.GetCelebrityInfo+import Network.AWS.Rekognition.IndexFaces+import Network.AWS.Rekognition.ListCollections+import Network.AWS.Rekognition.ListFaces+import Network.AWS.Rekognition.RecognizeCelebrities+import Network.AWS.Rekognition.SearchFaces+import Network.AWS.Rekognition.SearchFacesByImage+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Waiters  {- $errors Error matchers are designed for use with the functions provided by
gen/Network/AWS/Rekognition/CompareFaces.hs view
@@ -12,21 +12,23 @@  -- | -- Module      : Network.AWS.Rekognition.CompareFaces--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Compares a face in the /source/ input image with each face detected in the /target/ input image. -- ----- In response, the operation returns an array of face matches ordered by similarity score with the highest similarity scores first. For each face match, the response provides a bounding box of the face and @confidence@ value (indicating the level of confidence that the bounding box contains a face). The response also provides a @similarity@ score, which indicates how closely the faces match.+-- In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match. ----- In addition to the face matches, the response returns information about the face in the source image, including the bounding box of the face and confidence value.+-- @CompareFaces@ also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value. ----- For an example, see 'get-started-exercise-compare-faces'+-- If the image doesn't contain Exif metadata, @CompareFaces@ returns orientation information for the source and target images. Use these values to display the images with the correct image orientation. --+-- For an example, see 'get-started-exercise-compare-faces' .+-- -- This operation requires permissions to perform the @rekognition:CompareFaces@ action. -- module Network.AWS.Rekognition.CompareFaces@@ -44,53 +46,58 @@     , CompareFacesResponse     -- * Response Lenses     , cfrsFaceMatches+    , cfrsUnmatchedFaces+    , cfrsTargetImageOrientationCorrection+    , cfrsSourceImageOrientationCorrection     , cfrsSourceImageFace     , cfrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'compareFaces' smart constructor. data CompareFaces = CompareFaces'-    { _cfSimilarityThreshold :: !(Maybe Double)-    , _cfSourceImage         :: !Image-    , _cfTargetImage         :: !Image-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cfSimilarityThreshold :: !(Maybe Double)+  , _cfSourceImage         :: !Image+  , _cfTargetImage         :: !Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CompareFaces' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cfSimilarityThreshold' - The minimum level of confidence in the match you want included in the result.+-- * 'cfSimilarityThreshold' - The minimum level of confidence in the face matches that a match must meet to be included in the @FaceMatches@ array. ----- * 'cfSourceImage' - Source image either as bytes or an Amazon S3 object+-- * 'cfSourceImage' - The source image, either as bytes or as an S3 object. ----- * 'cfTargetImage' - Target image either as bytes or an Amazon S3 object+-- * 'cfTargetImage' - The target image, either as bytes or as an S3 object. compareFaces     :: Image -- ^ 'cfSourceImage'     -> Image -- ^ 'cfTargetImage'     -> CompareFaces compareFaces pSourceImage_ pTargetImage_ =-    CompareFaces'-    { _cfSimilarityThreshold = Nothing-    , _cfSourceImage = pSourceImage_-    , _cfTargetImage = pTargetImage_-    }+  CompareFaces'+  { _cfSimilarityThreshold = Nothing+  , _cfSourceImage = pSourceImage_+  , _cfTargetImage = pTargetImage_+  } --- | The minimum level of confidence in the match you want included in the result.++-- | The minimum level of confidence in the face matches that a match must meet to be included in the @FaceMatches@ array. cfSimilarityThreshold :: Lens' CompareFaces (Maybe Double) cfSimilarityThreshold = lens _cfSimilarityThreshold (\ s a -> s{_cfSimilarityThreshold = a}); --- | Source image either as bytes or an Amazon S3 object+-- | The source image, either as bytes or as an S3 object. cfSourceImage :: Lens' CompareFaces Image cfSourceImage = lens _cfSourceImage (\ s a -> s{_cfSourceImage = a}); --- | Target image either as bytes or an Amazon S3 object+-- | The target image, either as bytes or as an S3 object. cfTargetImage :: Lens' CompareFaces Image cfTargetImage = lens _cfTargetImage (\ s a -> s{_cfTargetImage = a}); @@ -102,12 +109,15 @@               (\ s h x ->                  CompareFacesResponse' <$>                    (x .?> "FaceMatches" .!@ mempty) <*>-                     (x .?> "SourceImageFace")+                     (x .?> "UnmatchedFaces" .!@ mempty)+                     <*> (x .?> "TargetImageOrientationCorrection")+                     <*> (x .?> "SourceImageOrientationCorrection")+                     <*> (x .?> "SourceImageFace")                      <*> (pure (fromEnum s))) -instance Hashable CompareFaces+instance Hashable CompareFaces where -instance NFData CompareFaces+instance NFData CompareFaces where  instance ToHeaders CompareFaces where         toHeaders@@ -135,35 +145,61 @@  -- | /See:/ 'compareFacesResponse' smart constructor. data CompareFacesResponse = CompareFacesResponse'-    { _cfrsFaceMatches     :: !(Maybe [CompareFacesMatch])-    , _cfrsSourceImageFace :: !(Maybe ComparedSourceImageFace)-    , _cfrsResponseStatus  :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cfrsFaceMatches                      :: !(Maybe [CompareFacesMatch])+  , _cfrsUnmatchedFaces                   :: !(Maybe [ComparedFace])+  , _cfrsTargetImageOrientationCorrection :: !(Maybe OrientationCorrection)+  , _cfrsSourceImageOrientationCorrection :: !(Maybe OrientationCorrection)+  , _cfrsSourceImageFace                  :: !(Maybe ComparedSourceImageFace)+  , _cfrsResponseStatus                   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CompareFacesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cfrsFaceMatches' - Provides an array of @CompareFacesMatch @ objects. Each object provides the bounding box, confidence that the bounding box contains a face, and the similarity between the face in the bounding box and the face in the source image.+-- * 'cfrsFaceMatches' - An array of faces in the target image that match the source image face. Each @CompareFacesMatch@ object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box and the face in the source image. ----- * 'cfrsSourceImageFace' - The face from the source image that was used for comparison.+-- * 'cfrsUnmatchedFaces' - An array of faces in the target image that did not match the source image face. --+-- * 'cfrsTargetImageOrientationCorrection' - The orientation of the target image (in counterclockwise direction). If your application displays the target image, you can use this value to correct the orientation of the image. The bounding box coordinates returned in @FaceMatches@ and @UnmatchedFaces@ represent face locations before the image orientation is corrected.+--+-- * 'cfrsSourceImageOrientationCorrection' - The orientation of the source image (counterclockwise direction). If your application displays the source image, you can use this value to correct image orientation. The bounding box coordinates returned in @SourceImageFace@ represent the location of the face before the image orientation is corrected.+--+-- * 'cfrsSourceImageFace' - The face in the source image that was used for comparison.+-- -- * 'cfrsResponseStatus' - -- | The response status code. compareFacesResponse     :: Int -- ^ 'cfrsResponseStatus'     -> CompareFacesResponse compareFacesResponse pResponseStatus_ =-    CompareFacesResponse'-    { _cfrsFaceMatches = Nothing-    , _cfrsSourceImageFace = Nothing-    , _cfrsResponseStatus = pResponseStatus_-    }+  CompareFacesResponse'+  { _cfrsFaceMatches = Nothing+  , _cfrsUnmatchedFaces = Nothing+  , _cfrsTargetImageOrientationCorrection = Nothing+  , _cfrsSourceImageOrientationCorrection = Nothing+  , _cfrsSourceImageFace = Nothing+  , _cfrsResponseStatus = pResponseStatus_+  } --- | Provides an array of @CompareFacesMatch @ objects. Each object provides the bounding box, confidence that the bounding box contains a face, and the similarity between the face in the bounding box and the face in the source image.++-- | An array of faces in the target image that match the source image face. Each @CompareFacesMatch@ object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box and the face in the source image. cfrsFaceMatches :: Lens' CompareFacesResponse [CompareFacesMatch] cfrsFaceMatches = lens _cfrsFaceMatches (\ s a -> s{_cfrsFaceMatches = a}) . _Default . _Coerce; --- | The face from the source image that was used for comparison.+-- | An array of faces in the target image that did not match the source image face.+cfrsUnmatchedFaces :: Lens' CompareFacesResponse [ComparedFace]+cfrsUnmatchedFaces = lens _cfrsUnmatchedFaces (\ s a -> s{_cfrsUnmatchedFaces = a}) . _Default . _Coerce;++-- | The orientation of the target image (in counterclockwise direction). If your application displays the target image, you can use this value to correct the orientation of the image. The bounding box coordinates returned in @FaceMatches@ and @UnmatchedFaces@ represent face locations before the image orientation is corrected.+cfrsTargetImageOrientationCorrection :: Lens' CompareFacesResponse (Maybe OrientationCorrection)+cfrsTargetImageOrientationCorrection = lens _cfrsTargetImageOrientationCorrection (\ s a -> s{_cfrsTargetImageOrientationCorrection = a});++-- | The orientation of the source image (counterclockwise direction). If your application displays the source image, you can use this value to correct image orientation. The bounding box coordinates returned in @SourceImageFace@ represent the location of the face before the image orientation is corrected.+cfrsSourceImageOrientationCorrection :: Lens' CompareFacesResponse (Maybe OrientationCorrection)+cfrsSourceImageOrientationCorrection = lens _cfrsSourceImageOrientationCorrection (\ s a -> s{_cfrsSourceImageOrientationCorrection = a});++-- | The face in the source image that was used for comparison. cfrsSourceImageFace :: Lens' CompareFacesResponse (Maybe ComparedSourceImageFace) cfrsSourceImageFace = lens _cfrsSourceImageFace (\ s a -> s{_cfrsSourceImageFace = a}); @@ -171,4 +207,4 @@ cfrsResponseStatus :: Lens' CompareFacesResponse Int cfrsResponseStatus = lens _cfrsResponseStatus (\ s a -> s{_cfrsResponseStatus = a}); -instance NFData CompareFacesResponse+instance NFData CompareFacesResponse where
gen/Network/AWS/Rekognition/CreateCollection.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Rekognition.CreateCollection--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a collection in an AWS region. You can add faces to the collection using the operation.+-- Creates a collection in an AWS Region. You can add faces to the collection using the operation. -- -- -- For example, you might create collections, one for each of your application users. A user can then index faces using the @IndexFaces@ operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container.@@ -44,18 +44,19 @@     , ccrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createCollection' smart constructor. newtype CreateCollection = CreateCollection'-    { _ccCollectionId :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ccCollectionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateCollection' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,10 +66,9 @@     :: Text -- ^ 'ccCollectionId'     -> CreateCollection createCollection pCollectionId_ =-    CreateCollection'-    { _ccCollectionId = pCollectionId_-    }+  CreateCollection' {_ccCollectionId = pCollectionId_} + -- | ID for the collection that you are creating. ccCollectionId :: Lens' CreateCollection Text ccCollectionId = lens _ccCollectionId (\ s a -> s{_ccCollectionId = a});@@ -83,9 +83,9 @@                    (x .?> "CollectionArn") <*> (x .?> "StatusCode") <*>                      (pure (fromEnum s))) -instance Hashable CreateCollection+instance Hashable CreateCollection where -instance NFData CreateCollection+instance NFData CreateCollection where  instance ToHeaders CreateCollection where         toHeaders@@ -111,11 +111,12 @@  -- | /See:/ 'createCollectionResponse' smart constructor. data CreateCollectionResponse = CreateCollectionResponse'-    { _ccrsCollectionARN  :: !(Maybe Text)-    , _ccrsStatusCode     :: !(Maybe Nat)-    , _ccrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ccrsCollectionARN  :: !(Maybe Text)+  , _ccrsStatusCode     :: !(Maybe Nat)+  , _ccrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateCollectionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,12 +130,13 @@     :: Int -- ^ 'ccrsResponseStatus'     -> CreateCollectionResponse createCollectionResponse pResponseStatus_ =-    CreateCollectionResponse'-    { _ccrsCollectionARN = Nothing-    , _ccrsStatusCode = Nothing-    , _ccrsResponseStatus = pResponseStatus_-    }+  CreateCollectionResponse'+  { _ccrsCollectionARN = Nothing+  , _ccrsStatusCode = Nothing+  , _ccrsResponseStatus = pResponseStatus_+  } + -- | Amazon Resource Name (ARN) of the collection. You can use this to manage permissions on your resources. ccrsCollectionARN :: Lens' CreateCollectionResponse (Maybe Text) ccrsCollectionARN = lens _ccrsCollectionARN (\ s a -> s{_ccrsCollectionARN = a});@@ -147,4 +149,4 @@ ccrsResponseStatus :: Lens' CreateCollectionResponse Int ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a}); -instance NFData CreateCollectionResponse+instance NFData CreateCollectionResponse where
gen/Network/AWS/Rekognition/DeleteCollection.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.DeleteCollection--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,18 +39,19 @@     , dcrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteCollection' smart constructor. newtype DeleteCollection = DeleteCollection'-    { _dcCollectionId :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dcCollectionId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteCollection' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,10 +61,9 @@     :: Text -- ^ 'dcCollectionId'     -> DeleteCollection deleteCollection pCollectionId_ =-    DeleteCollection'-    { _dcCollectionId = pCollectionId_-    }+  DeleteCollection' {_dcCollectionId = pCollectionId_} + -- | ID of the collection to delete. dcCollectionId :: Lens' DeleteCollection Text dcCollectionId = lens _dcCollectionId (\ s a -> s{_dcCollectionId = a});@@ -77,9 +77,9 @@                  DeleteCollectionResponse' <$>                    (x .?> "StatusCode") <*> (pure (fromEnum s))) -instance Hashable DeleteCollection+instance Hashable DeleteCollection where -instance NFData DeleteCollection+instance NFData DeleteCollection where  instance ToHeaders DeleteCollection where         toHeaders@@ -105,10 +105,11 @@  -- | /See:/ 'deleteCollectionResponse' smart constructor. data DeleteCollectionResponse = DeleteCollectionResponse'-    { _dcrsStatusCode     :: !(Maybe Nat)-    , _dcrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dcrsStatusCode     :: !(Maybe Nat)+  , _dcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteCollectionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -120,11 +121,10 @@     :: Int -- ^ 'dcrsResponseStatus'     -> DeleteCollectionResponse deleteCollectionResponse pResponseStatus_ =-    DeleteCollectionResponse'-    { _dcrsStatusCode = Nothing-    , _dcrsResponseStatus = pResponseStatus_-    }+  DeleteCollectionResponse'+  {_dcrsStatusCode = Nothing, _dcrsResponseStatus = pResponseStatus_} + -- | HTTP status code that indicates the result of the operation. dcrsStatusCode :: Lens' DeleteCollectionResponse (Maybe Natural) dcrsStatusCode = lens _dcrsStatusCode (\ s a -> s{_dcrsStatusCode = a}) . mapping _Nat;@@ -133,4 +133,4 @@ dcrsResponseStatus :: Lens' DeleteCollectionResponse Int dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a}); -instance NFData DeleteCollectionResponse+instance NFData DeleteCollectionResponse where
gen/Network/AWS/Rekognition/DeleteFaces.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.DeleteFaces--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,19 +40,20 @@     , drsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteFaces' smart constructor. data DeleteFaces = DeleteFaces'-    { _dfCollectionId :: !Text-    , _dfFaceIds      :: !(List1 Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dfCollectionId :: !Text+  , _dfFaceIds      :: !(List1 Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteFaces' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,11 +66,10 @@     -> NonEmpty Text -- ^ 'dfFaceIds'     -> DeleteFaces deleteFaces pCollectionId_ pFaceIds_ =-    DeleteFaces'-    { _dfCollectionId = pCollectionId_-    , _dfFaceIds = _List1 # pFaceIds_-    }+  DeleteFaces'+  {_dfCollectionId = pCollectionId_, _dfFaceIds = _List1 # pFaceIds_} + -- | Collection from which to remove the specific faces. dfCollectionId :: Lens' DeleteFaces Text dfCollectionId = lens _dfCollectionId (\ s a -> s{_dfCollectionId = a});@@ -87,9 +87,9 @@                  DeleteFacesResponse' <$>                    (x .?> "DeletedFaces") <*> (pure (fromEnum s))) -instance Hashable DeleteFaces+instance Hashable DeleteFaces where -instance NFData DeleteFaces+instance NFData DeleteFaces where  instance ToHeaders DeleteFaces where         toHeaders@@ -115,10 +115,11 @@  -- | /See:/ 'deleteFacesResponse' smart constructor. data DeleteFacesResponse = DeleteFacesResponse'-    { _drsDeletedFaces   :: !(Maybe (List1 Text))-    , _drsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drsDeletedFaces   :: !(Maybe (List1 Text))+  , _drsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteFacesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -130,11 +131,10 @@     :: Int -- ^ 'drsResponseStatus'     -> DeleteFacesResponse deleteFacesResponse pResponseStatus_ =-    DeleteFacesResponse'-    { _drsDeletedFaces = Nothing-    , _drsResponseStatus = pResponseStatus_-    }+  DeleteFacesResponse'+  {_drsDeletedFaces = Nothing, _drsResponseStatus = pResponseStatus_} + -- | An array of strings (face IDs) of the faces that were deleted. drsDeletedFaces :: Lens' DeleteFacesResponse (Maybe (NonEmpty Text)) drsDeletedFaces = lens _drsDeletedFaces (\ s a -> s{_drsDeletedFaces = a}) . mapping _List1;@@ -143,4 +143,4 @@ drsResponseStatus :: Lens' DeleteFacesResponse Int drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a}); -instance NFData DeleteFacesResponse+instance NFData DeleteFacesResponse where
gen/Network/AWS/Rekognition/DetectFaces.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.DetectFaces--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -47,36 +47,34 @@     , dfrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'detectFaces' smart constructor. data DetectFaces = DetectFaces'-    { _dfAttributes :: !(Maybe [Attribute])-    , _dfImage      :: !Image-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dfAttributes :: !(Maybe [Attribute])+  , _dfImage      :: !Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DetectFaces' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dfAttributes' - A list of facial attributes you would like to be returned. By default, the API returns subset of facial attributes.  For example, you can specify the value as, ["ALL"] or ["DEFAULT"]. If you provide both, ["ALL", "DEFAULT"], the service uses a logical AND operator to determine which attributes to return (in this case, it is all attributes). If you specify all attributes, Rekognition performs additional detection.+-- * 'dfAttributes' - An array of facial attributes you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for @Attributes@ or if you specify @["DEFAULT"]@ , the API returns the following subset of facial attributes: @BoundingBox@ , @Confidence@ , @Pose@ , @Quality@ and @Landmarks@ . If you provide @["ALL"]@ , all facial attributes are returned but the operation will take longer to complete. If you provide both, @["ALL", "DEFAULT"]@ , the service uses a logical AND operator to determine which attributes to return (in this case, all attributes). -- -- * 'dfImage' - The image in which you want to detect faces. You can specify a blob or an S3 object. detectFaces     :: Image -- ^ 'dfImage'     -> DetectFaces-detectFaces pImage_ =-    DetectFaces'-    { _dfAttributes = Nothing-    , _dfImage = pImage_-    }+detectFaces pImage_ = DetectFaces' {_dfAttributes = Nothing, _dfImage = pImage_} --- | A list of facial attributes you would like to be returned. By default, the API returns subset of facial attributes.  For example, you can specify the value as, ["ALL"] or ["DEFAULT"]. If you provide both, ["ALL", "DEFAULT"], the service uses a logical AND operator to determine which attributes to return (in this case, it is all attributes). If you specify all attributes, Rekognition performs additional detection.++-- | An array of facial attributes you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for @Attributes@ or if you specify @["DEFAULT"]@ , the API returns the following subset of facial attributes: @BoundingBox@ , @Confidence@ , @Pose@ , @Quality@ and @Landmarks@ . If you provide @["ALL"]@ , all facial attributes are returned but the operation will take longer to complete. If you provide both, @["ALL", "DEFAULT"]@ , the service uses a logical AND operator to determine which attributes to return (in this case, all attributes). dfAttributes :: Lens' DetectFaces [Attribute] dfAttributes = lens _dfAttributes (\ s a -> s{_dfAttributes = a}) . _Default . _Coerce; @@ -95,9 +93,9 @@                      (x .?> "FaceDetails" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable DetectFaces+instance Hashable DetectFaces where -instance NFData DetectFaces+instance NFData DetectFaces where  instance ToHeaders DetectFaces where         toHeaders@@ -123,16 +121,17 @@  -- | /See:/ 'detectFacesResponse' smart constructor. data DetectFacesResponse = DetectFacesResponse'-    { _dfrsOrientationCorrection :: !(Maybe OrientationCorrection)-    , _dfrsFaceDetails           :: !(Maybe [FaceDetail])-    , _dfrsResponseStatus        :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dfrsOrientationCorrection :: !(Maybe OrientationCorrection)+  , _dfrsFaceDetails           :: !(Maybe [FaceDetail])+  , _dfrsResponseStatus        :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DetectFacesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dfrsOrientationCorrection' - The algorithm detects the image orientation. If it detects that the image was rotated, it returns the degrees of rotation. If your application is displaying the image, you can use this value to adjust the orientation.  For example, if the service detects that the input image was rotated by 90 degrees, it corrects orientation, performs face detection, and then returns the faces. That is, the bounding box coordinates in the response are based on the corrected orientation.+-- * 'dfrsOrientationCorrection' - The orientation of the input image (counter-clockwise direction). If your application displays the image, you can use this value to correct image orientation. The bounding box coordinates returned in @FaceDetails@ represent face locations before the image orientation is corrected. -- -- * 'dfrsFaceDetails' - Details of each face found in the image. --@@ -141,13 +140,14 @@     :: Int -- ^ 'dfrsResponseStatus'     -> DetectFacesResponse detectFacesResponse pResponseStatus_ =-    DetectFacesResponse'-    { _dfrsOrientationCorrection = Nothing-    , _dfrsFaceDetails = Nothing-    , _dfrsResponseStatus = pResponseStatus_-    }+  DetectFacesResponse'+  { _dfrsOrientationCorrection = Nothing+  , _dfrsFaceDetails = Nothing+  , _dfrsResponseStatus = pResponseStatus_+  } --- | The algorithm detects the image orientation. If it detects that the image was rotated, it returns the degrees of rotation. If your application is displaying the image, you can use this value to adjust the orientation.  For example, if the service detects that the input image was rotated by 90 degrees, it corrects orientation, performs face detection, and then returns the faces. That is, the bounding box coordinates in the response are based on the corrected orientation.++-- | The orientation of the input image (counter-clockwise direction). If your application displays the image, you can use this value to correct image orientation. The bounding box coordinates returned in @FaceDetails@ represent face locations before the image orientation is corrected. dfrsOrientationCorrection :: Lens' DetectFacesResponse (Maybe OrientationCorrection) dfrsOrientationCorrection = lens _dfrsOrientationCorrection (\ s a -> s{_dfrsOrientationCorrection = a}); @@ -159,4 +159,4 @@ dfrsResponseStatus :: Lens' DetectFacesResponse Int dfrsResponseStatus = lens _dfrsResponseStatus (\ s a -> s{_dfrsResponseStatus = a}); -instance NFData DetectFacesResponse+instance NFData DetectFacesResponse where
gen/Network/AWS/Rekognition/DetectLabels.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.DetectLabels--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -64,25 +64,26 @@     , dlrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'detectLabels' smart constructor. data DetectLabels = DetectLabels'-    { _dlMinConfidence :: !(Maybe Double)-    , _dlMaxLabels     :: !(Maybe Nat)-    , _dlImage         :: !Image-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlMinConfidence :: !(Maybe Double)+  , _dlMaxLabels     :: !(Maybe Nat)+  , _dlImage         :: !Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DetectLabels' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dlMinConfidence' - Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value. If @minConfidence@ is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent.+-- * 'dlMinConfidence' - Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value. If @MinConfidence@ is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent. -- -- * 'dlMaxLabels' - Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels. --@@ -91,13 +92,11 @@     :: Image -- ^ 'dlImage'     -> DetectLabels detectLabels pImage_ =-    DetectLabels'-    { _dlMinConfidence = Nothing-    , _dlMaxLabels = Nothing-    , _dlImage = pImage_-    }+  DetectLabels'+  {_dlMinConfidence = Nothing, _dlMaxLabels = Nothing, _dlImage = pImage_} --- | Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value. If @minConfidence@ is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent.++-- | Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value. If @MinConfidence@ is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent. dlMinConfidence :: Lens' DetectLabels (Maybe Double) dlMinConfidence = lens _dlMinConfidence (\ s a -> s{_dlMinConfidence = a}); @@ -120,9 +119,9 @@                      (x .?> "OrientationCorrection")                      <*> (pure (fromEnum s))) -instance Hashable DetectLabels+instance Hashable DetectLabels where -instance NFData DetectLabels+instance NFData DetectLabels where  instance ToHeaders DetectLabels where         toHeaders@@ -149,35 +148,37 @@  -- | /See:/ 'detectLabelsResponse' smart constructor. data DetectLabelsResponse = DetectLabelsResponse'-    { _dlrsLabels                :: !(Maybe [Label])-    , _dlrsOrientationCorrection :: !(Maybe OrientationCorrection)-    , _dlrsResponseStatus        :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlrsLabels                :: !(Maybe [Label])+  , _dlrsOrientationCorrection :: !(Maybe OrientationCorrection)+  , _dlrsResponseStatus        :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DetectLabelsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dlrsLabels' - An array of labels for the real-world objects detected. ----- * 'dlrsOrientationCorrection' - Amazon Rekognition returns the orientation of the input image that was detected (clockwise direction). If your application displays the image, you can use this value to correct the orientation. If Rekognition detects that the input image was rotated (for example, by 90 degrees), it first corrects the orientation before detecting the labels.+-- * 'dlrsOrientationCorrection' - The orientation of the input image (counter-clockwise direction). If your application displays the image, you can use this value to correct the orientation. If Amazon Rekognition detects that the input image was rotated (for example, by 90 degrees), it first corrects the orientation before detecting the labels. -- -- * 'dlrsResponseStatus' - -- | The response status code. detectLabelsResponse     :: Int -- ^ 'dlrsResponseStatus'     -> DetectLabelsResponse detectLabelsResponse pResponseStatus_ =-    DetectLabelsResponse'-    { _dlrsLabels = Nothing-    , _dlrsOrientationCorrection = Nothing-    , _dlrsResponseStatus = pResponseStatus_-    }+  DetectLabelsResponse'+  { _dlrsLabels = Nothing+  , _dlrsOrientationCorrection = Nothing+  , _dlrsResponseStatus = pResponseStatus_+  } + -- | An array of labels for the real-world objects detected. dlrsLabels :: Lens' DetectLabelsResponse [Label] dlrsLabels = lens _dlrsLabels (\ s a -> s{_dlrsLabels = a}) . _Default . _Coerce; --- | Amazon Rekognition returns the orientation of the input image that was detected (clockwise direction). If your application displays the image, you can use this value to correct the orientation. If Rekognition detects that the input image was rotated (for example, by 90 degrees), it first corrects the orientation before detecting the labels.+-- | The orientation of the input image (counter-clockwise direction). If your application displays the image, you can use this value to correct the orientation. If Amazon Rekognition detects that the input image was rotated (for example, by 90 degrees), it first corrects the orientation before detecting the labels. dlrsOrientationCorrection :: Lens' DetectLabelsResponse (Maybe OrientationCorrection) dlrsOrientationCorrection = lens _dlrsOrientationCorrection (\ s a -> s{_dlrsOrientationCorrection = a}); @@ -185,4 +186,4 @@ dlrsResponseStatus :: Lens' DetectLabelsResponse Int dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a}); -instance NFData DetectLabelsResponse+instance NFData DetectLabelsResponse where
+ gen/Network/AWS/Rekognition/DetectModerationLabels.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Rekognition.DetectModerationLabels+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Detects explicit or suggestive adult content in a specified JPEG or PNG format image. Use @DetectModerationLabels@ to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.+--+--+-- To filter images, use the labels returned by @DetectModerationLabels@ to determine which types of content are appropriate. For information about moderation labels, see 'image-moderation' .+--+module Network.AWS.Rekognition.DetectModerationLabels+    (+    -- * Creating a Request+      detectModerationLabels+    , DetectModerationLabels+    -- * Request Lenses+    , dmlMinConfidence+    , dmlImage++    -- * Destructuring the Response+    , detectModerationLabelsResponse+    , DetectModerationLabelsResponse+    -- * Response Lenses+    , dmlrsModerationLabels+    , dmlrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'detectModerationLabels' smart constructor.+data DetectModerationLabels = DetectModerationLabels'+  { _dmlMinConfidence :: !(Maybe Double)+  , _dmlImage         :: !Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DetectModerationLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmlMinConfidence' - Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value. If you don't specify @MinConfidence@ , the operation returns labels with confidence values greater than or equal to 50 percent.+--+-- * 'dmlImage' - The input image as bytes or an S3 object.+detectModerationLabels+    :: Image -- ^ 'dmlImage'+    -> DetectModerationLabels+detectModerationLabels pImage_ =+  DetectModerationLabels' {_dmlMinConfidence = Nothing, _dmlImage = pImage_}+++-- | Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value. If you don't specify @MinConfidence@ , the operation returns labels with confidence values greater than or equal to 50 percent.+dmlMinConfidence :: Lens' DetectModerationLabels (Maybe Double)+dmlMinConfidence = lens _dmlMinConfidence (\ s a -> s{_dmlMinConfidence = a});++-- | The input image as bytes or an S3 object.+dmlImage :: Lens' DetectModerationLabels Image+dmlImage = lens _dmlImage (\ s a -> s{_dmlImage = a});++instance AWSRequest DetectModerationLabels where+        type Rs DetectModerationLabels =+             DetectModerationLabelsResponse+        request = postJSON rekognition+        response+          = receiveJSON+              (\ s h x ->+                 DetectModerationLabelsResponse' <$>+                   (x .?> "ModerationLabels" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DetectModerationLabels where++instance NFData DetectModerationLabels where++instance ToHeaders DetectModerationLabels where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("RekognitionService.DetectModerationLabels" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DetectModerationLabels where+        toJSON DetectModerationLabels'{..}+          = object+              (catMaybes+                 [("MinConfidence" .=) <$> _dmlMinConfidence,+                  Just ("Image" .= _dmlImage)])++instance ToPath DetectModerationLabels where+        toPath = const "/"++instance ToQuery DetectModerationLabels where+        toQuery = const mempty++-- | /See:/ 'detectModerationLabelsResponse' smart constructor.+data DetectModerationLabelsResponse = DetectModerationLabelsResponse'+  { _dmlrsModerationLabels :: !(Maybe [ModerationLabel])+  , _dmlrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DetectModerationLabelsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmlrsModerationLabels' - An array of labels for explicit or suggestive adult content found in the image. The list includes the top-level label and each child label detected in the image. This is useful for filtering specific categories of content.+--+-- * 'dmlrsResponseStatus' - -- | The response status code.+detectModerationLabelsResponse+    :: Int -- ^ 'dmlrsResponseStatus'+    -> DetectModerationLabelsResponse+detectModerationLabelsResponse pResponseStatus_ =+  DetectModerationLabelsResponse'+  {_dmlrsModerationLabels = Nothing, _dmlrsResponseStatus = pResponseStatus_}+++-- | An array of labels for explicit or suggestive adult content found in the image. The list includes the top-level label and each child label detected in the image. This is useful for filtering specific categories of content.+dmlrsModerationLabels :: Lens' DetectModerationLabelsResponse [ModerationLabel]+dmlrsModerationLabels = lens _dmlrsModerationLabels (\ s a -> s{_dmlrsModerationLabels = a}) . _Default . _Coerce;++-- | -- | The response status code.+dmlrsResponseStatus :: Lens' DetectModerationLabelsResponse Int+dmlrsResponseStatus = lens _dmlrsResponseStatus (\ s a -> s{_dmlrsResponseStatus = a});++instance NFData DetectModerationLabelsResponse where
+ gen/Network/AWS/Rekognition/GetCelebrityInfo.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Rekognition.GetCelebrityInfo+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the name and additional information about a celebrity based on his or her Rekognition ID. The additional information is returned as an array of URLs. If there is no additional information about the celebrity, this list is empty. For more information, see 'celebrity-recognition' .+--+--+-- This operation requires permissions to perform the @rekognition:GetCelebrityInfo@ action.+--+module Network.AWS.Rekognition.GetCelebrityInfo+    (+    -- * Creating a Request+      getCelebrityInfo+    , GetCelebrityInfo+    -- * Request Lenses+    , gciId++    -- * Destructuring the Response+    , getCelebrityInfoResponse+    , GetCelebrityInfoResponse+    -- * Response Lenses+    , gcirsURLs+    , gcirsName+    , gcirsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'getCelebrityInfo' smart constructor.+newtype GetCelebrityInfo = GetCelebrityInfo'+  { _gciId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCelebrityInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gciId' - The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.+getCelebrityInfo+    :: Text -- ^ 'gciId'+    -> GetCelebrityInfo+getCelebrityInfo pId_ = GetCelebrityInfo' {_gciId = pId_}+++-- | The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.+gciId :: Lens' GetCelebrityInfo Text+gciId = lens _gciId (\ s a -> s{_gciId = a});++instance AWSRequest GetCelebrityInfo where+        type Rs GetCelebrityInfo = GetCelebrityInfoResponse+        request = postJSON rekognition+        response+          = receiveJSON+              (\ s h x ->+                 GetCelebrityInfoResponse' <$>+                   (x .?> "Urls" .!@ mempty) <*> (x .?> "Name") <*>+                     (pure (fromEnum s)))++instance Hashable GetCelebrityInfo where++instance NFData GetCelebrityInfo where++instance ToHeaders GetCelebrityInfo where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("RekognitionService.GetCelebrityInfo" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetCelebrityInfo where+        toJSON GetCelebrityInfo'{..}+          = object (catMaybes [Just ("Id" .= _gciId)])++instance ToPath GetCelebrityInfo where+        toPath = const "/"++instance ToQuery GetCelebrityInfo where+        toQuery = const mempty++-- | /See:/ 'getCelebrityInfoResponse' smart constructor.+data GetCelebrityInfoResponse = GetCelebrityInfoResponse'+  { _gcirsURLs           :: !(Maybe [Text])+  , _gcirsName           :: !(Maybe Text)+  , _gcirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GetCelebrityInfoResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gcirsURLs' - An array of URLs pointing to additional celebrity information.+--+-- * 'gcirsName' - The name of the celebrity.+--+-- * 'gcirsResponseStatus' - -- | The response status code.+getCelebrityInfoResponse+    :: Int -- ^ 'gcirsResponseStatus'+    -> GetCelebrityInfoResponse+getCelebrityInfoResponse pResponseStatus_ =+  GetCelebrityInfoResponse'+  { _gcirsURLs = Nothing+  , _gcirsName = Nothing+  , _gcirsResponseStatus = pResponseStatus_+  }+++-- | An array of URLs pointing to additional celebrity information.+gcirsURLs :: Lens' GetCelebrityInfoResponse [Text]+gcirsURLs = lens _gcirsURLs (\ s a -> s{_gcirsURLs = a}) . _Default . _Coerce;++-- | The name of the celebrity.+gcirsName :: Lens' GetCelebrityInfoResponse (Maybe Text)+gcirsName = lens _gcirsName (\ s a -> s{_gcirsName = a});++-- | -- | The response status code.+gcirsResponseStatus :: Lens' GetCelebrityInfoResponse Int+gcirsResponseStatus = lens _gcirsResponseStatus (\ s a -> s{_gcirsResponseStatus = a});++instance NFData GetCelebrityInfoResponse where
gen/Network/AWS/Rekognition/IndexFaces.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.IndexFaces--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -25,7 +25,7 @@ -- -- If you provide the optional @externalImageID@ for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image. ----- In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the service for each face that is detected and stored, and an image ID assigned by the service for the input image If you request all facial attributes (using the @detectionAttributes@ parameter, Rekognition returns detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the @IndexFaces@ operation, Rekognition doesn't save duplicate face metadata.+-- In response, the operation returns an array of metadata for all detected faces. This includes, the bounding box of the detected face, confidence value (indicating the bounding box contains a face), a face ID assigned by the service for each face that is detected and stored, and an image ID assigned by the service for the input image. If you request all facial attributes (using the @detectionAttributes@ parameter, Amazon Rekognition returns detailed facial attributes such as facial landmarks (for example, location of eye and mount) and other facial attributes such gender. If you provide the same image, specify the same collection, and use the same external ID in the @IndexFaces@ operation, Amazon Rekognition doesn't save duplicate face metadata. -- -- For an example, see 'example2' . --@@ -51,57 +51,59 @@     , ifrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'indexFaces' smart constructor. data IndexFaces = IndexFaces'-    { _ifExternalImageId     :: !(Maybe Text)-    , _ifDetectionAttributes :: !(Maybe [Attribute])-    , _ifCollectionId        :: !Text-    , _ifImage               :: !Image-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ifExternalImageId     :: !(Maybe Text)+  , _ifDetectionAttributes :: !(Maybe [Attribute])+  , _ifCollectionId        :: !Text+  , _ifImage               :: !Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'IndexFaces' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ifExternalImageId' - ID you want to assign to all the faces detected in the image. ----- * 'ifDetectionAttributes' - (Optional) Returns detailed attributes of indexed faces. By default, the operation returns a subset of the facial attributes.  For example, you can specify the value as, ["ALL"] or ["DEFAULT"]. If you provide both, ["ALL", "DEFAULT"], Rekognition uses the logical AND operator to determine which attributes to return (in this case, it is all attributes). If you specify all attributes, the service performs additional detection, in addition to the default.+-- * 'ifDetectionAttributes' - An array of facial attributes that you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for @Attributes@ or if you specify @["DEFAULT"]@ , the API returns the following subset of facial attributes: @BoundingBox@ , @Confidence@ , @Pose@ , @Quality@ and @Landmarks@ . If you provide @["ALL"]@ , all facial attributes are returned but the operation will take longer to complete. If you provide both, @["ALL", "DEFAULT"]@ , the service uses a logical AND operator to determine which attributes to return (in this case, all attributes). ----- * 'ifCollectionId' - ID of an existing collection to which you want to add the faces that are detected in the input images.+-- * 'ifCollectionId' - The ID of an existing collection to which you want to add the faces that are detected in the input images. ----- * 'ifImage' - Undocumented member.+-- * 'ifImage' - The input image as bytes or an S3 object. indexFaces     :: Text -- ^ 'ifCollectionId'     -> Image -- ^ 'ifImage'     -> IndexFaces indexFaces pCollectionId_ pImage_ =-    IndexFaces'-    { _ifExternalImageId = Nothing-    , _ifDetectionAttributes = Nothing-    , _ifCollectionId = pCollectionId_-    , _ifImage = pImage_-    }+  IndexFaces'+  { _ifExternalImageId = Nothing+  , _ifDetectionAttributes = Nothing+  , _ifCollectionId = pCollectionId_+  , _ifImage = pImage_+  } + -- | ID you want to assign to all the faces detected in the image. ifExternalImageId :: Lens' IndexFaces (Maybe Text) ifExternalImageId = lens _ifExternalImageId (\ s a -> s{_ifExternalImageId = a}); --- | (Optional) Returns detailed attributes of indexed faces. By default, the operation returns a subset of the facial attributes.  For example, you can specify the value as, ["ALL"] or ["DEFAULT"]. If you provide both, ["ALL", "DEFAULT"], Rekognition uses the logical AND operator to determine which attributes to return (in this case, it is all attributes). If you specify all attributes, the service performs additional detection, in addition to the default.+-- | An array of facial attributes that you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for @Attributes@ or if you specify @["DEFAULT"]@ , the API returns the following subset of facial attributes: @BoundingBox@ , @Confidence@ , @Pose@ , @Quality@ and @Landmarks@ . If you provide @["ALL"]@ , all facial attributes are returned but the operation will take longer to complete. If you provide both, @["ALL", "DEFAULT"]@ , the service uses a logical AND operator to determine which attributes to return (in this case, all attributes). ifDetectionAttributes :: Lens' IndexFaces [Attribute] ifDetectionAttributes = lens _ifDetectionAttributes (\ s a -> s{_ifDetectionAttributes = a}) . _Default . _Coerce; --- | ID of an existing collection to which you want to add the faces that are detected in the input images.+-- | The ID of an existing collection to which you want to add the faces that are detected in the input images. ifCollectionId :: Lens' IndexFaces Text ifCollectionId = lens _ifCollectionId (\ s a -> s{_ifCollectionId = a}); --- | Undocumented member.+-- | The input image as bytes or an S3 object. ifImage :: Lens' IndexFaces Image ifImage = lens _ifImage (\ s a -> s{_ifImage = a}); @@ -116,9 +118,9 @@                      (x .?> "OrientationCorrection")                      <*> (pure (fromEnum s))) -instance Hashable IndexFaces+instance Hashable IndexFaces where -instance NFData IndexFaces+instance NFData IndexFaces where  instance ToHeaders IndexFaces where         toHeaders@@ -147,35 +149,37 @@  -- | /See:/ 'indexFacesResponse' smart constructor. data IndexFacesResponse = IndexFacesResponse'-    { _ifrsFaceRecords           :: !(Maybe [FaceRecord])-    , _ifrsOrientationCorrection :: !(Maybe OrientationCorrection)-    , _ifrsResponseStatus        :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ifrsFaceRecords           :: !(Maybe [FaceRecord])+  , _ifrsOrientationCorrection :: !(Maybe OrientationCorrection)+  , _ifrsResponseStatus        :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'IndexFacesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ifrsFaceRecords' - An array of faces detected and added to the collection. For more information, see 'howitworks-index-faces' . ----- * 'ifrsOrientationCorrection' - The algorithm detects the image orientation. If it detects that the image was rotated, it returns the degree of rotation. You can use this value to correct the orientation and also appropriately analyze the bounding box coordinates that are returned.+-- * 'ifrsOrientationCorrection' - The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct image orientation. The bounding box coordinates returned in @FaceRecords@ represent face locations before the image orientation is corrected. -- -- * 'ifrsResponseStatus' - -- | The response status code. indexFacesResponse     :: Int -- ^ 'ifrsResponseStatus'     -> IndexFacesResponse indexFacesResponse pResponseStatus_ =-    IndexFacesResponse'-    { _ifrsFaceRecords = Nothing-    , _ifrsOrientationCorrection = Nothing-    , _ifrsResponseStatus = pResponseStatus_-    }+  IndexFacesResponse'+  { _ifrsFaceRecords = Nothing+  , _ifrsOrientationCorrection = Nothing+  , _ifrsResponseStatus = pResponseStatus_+  } + -- | An array of faces detected and added to the collection. For more information, see 'howitworks-index-faces' . ifrsFaceRecords :: Lens' IndexFacesResponse [FaceRecord] ifrsFaceRecords = lens _ifrsFaceRecords (\ s a -> s{_ifrsFaceRecords = a}) . _Default . _Coerce; --- | The algorithm detects the image orientation. If it detects that the image was rotated, it returns the degree of rotation. You can use this value to correct the orientation and also appropriately analyze the bounding box coordinates that are returned.+-- | The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct image orientation. The bounding box coordinates returned in @FaceRecords@ represent face locations before the image orientation is corrected. ifrsOrientationCorrection :: Lens' IndexFacesResponse (Maybe OrientationCorrection) ifrsOrientationCorrection = lens _ifrsOrientationCorrection (\ s a -> s{_ifrsOrientationCorrection = a}); @@ -183,4 +187,4 @@ ifrsResponseStatus :: Lens' IndexFacesResponse Int ifrsResponseStatus = lens _ifrsResponseStatus (\ s a -> s{_ifrsResponseStatus = a}); -instance NFData IndexFacesResponse+instance NFData IndexFacesResponse where
gen/Network/AWS/Rekognition/ListCollections.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.ListCollections--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -25,6 +25,8 @@ -- -- This operation requires permissions to perform the @rekognition:ListCollections@ action. --+--+-- This operation returns paginated results. module Network.AWS.Rekognition.ListCollections     (     -- * Creating a Request@@ -43,19 +45,21 @@     , lcrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'listCollections' smart constructor. data ListCollections = ListCollections'-    { _lcNextToken  :: !(Maybe Text)-    , _lcMaxResults :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lcNextToken  :: !(Maybe Text)+  , _lcMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListCollections' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,11 +70,9 @@ listCollections     :: ListCollections listCollections =-    ListCollections'-    { _lcNextToken = Nothing-    , _lcMaxResults = Nothing-    }+  ListCollections' {_lcNextToken = Nothing, _lcMaxResults = Nothing} + -- | Pagination token from the previous response. lcNextToken :: Lens' ListCollections (Maybe Text) lcNextToken = lens _lcNextToken (\ s a -> s{_lcNextToken = a});@@ -79,6 +81,13 @@ lcMaxResults :: Lens' ListCollections (Maybe Natural) lcMaxResults = lens _lcMaxResults (\ s a -> s{_lcMaxResults = a}) . mapping _Nat; +instance AWSPager ListCollections where+        page rq rs+          | stop (rs ^. lcrsNextToken) = Nothing+          | stop (rs ^. lcrsCollectionIds) = Nothing+          | otherwise =+            Just $ rq & lcNextToken .~ rs ^. lcrsNextToken+ instance AWSRequest ListCollections where         type Rs ListCollections = ListCollectionsResponse         request = postJSON rekognition@@ -90,9 +99,9 @@                      (x .?> "NextToken")                      <*> (pure (fromEnum s))) -instance Hashable ListCollections+instance Hashable ListCollections where -instance NFData ListCollections+instance NFData ListCollections where  instance ToHeaders ListCollections where         toHeaders@@ -118,11 +127,12 @@  -- | /See:/ 'listCollectionsResponse' smart constructor. data ListCollectionsResponse = ListCollectionsResponse'-    { _lcrsCollectionIds  :: !(Maybe [Text])-    , _lcrsNextToken      :: !(Maybe Text)-    , _lcrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lcrsCollectionIds  :: !(Maybe [Text])+  , _lcrsNextToken      :: !(Maybe Text)+  , _lcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListCollectionsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -136,12 +146,13 @@     :: Int -- ^ 'lcrsResponseStatus'     -> ListCollectionsResponse listCollectionsResponse pResponseStatus_ =-    ListCollectionsResponse'-    { _lcrsCollectionIds = Nothing-    , _lcrsNextToken = Nothing-    , _lcrsResponseStatus = pResponseStatus_-    }+  ListCollectionsResponse'+  { _lcrsCollectionIds = Nothing+  , _lcrsNextToken = Nothing+  , _lcrsResponseStatus = pResponseStatus_+  } + -- | An array of collection IDs. lcrsCollectionIds :: Lens' ListCollectionsResponse [Text] lcrsCollectionIds = lens _lcrsCollectionIds (\ s a -> s{_lcrsCollectionIds = a}) . _Default . _Coerce;@@ -154,4 +165,4 @@ lcrsResponseStatus :: Lens' ListCollectionsResponse Int lcrsResponseStatus = lens _lcrsResponseStatus (\ s a -> s{_lcrsResponseStatus = a}); -instance NFData ListCollectionsResponse+instance NFData ListCollectionsResponse where
gen/Network/AWS/Rekognition/ListFaces.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Rekognition.ListFaces--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -23,6 +23,8 @@ -- -- This operation requires permissions to perform the @rekognition:ListFaces@ action. --+--+-- This operation returns paginated results. module Network.AWS.Rekognition.ListFaces     (     -- * Creating a Request@@ -42,20 +44,22 @@     , lfrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'listFaces' smart constructor. data ListFaces = ListFaces'-    { _lfNextToken    :: !(Maybe Text)-    , _lfMaxResults   :: !(Maybe Nat)-    , _lfCollectionId :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lfNextToken    :: !(Maybe Text)+  , _lfMaxResults   :: !(Maybe Nat)+  , _lfCollectionId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListFaces' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +73,13 @@     :: Text -- ^ 'lfCollectionId'     -> ListFaces listFaces pCollectionId_ =-    ListFaces'-    { _lfNextToken = Nothing-    , _lfMaxResults = Nothing-    , _lfCollectionId = pCollectionId_-    }+  ListFaces'+  { _lfNextToken = Nothing+  , _lfMaxResults = Nothing+  , _lfCollectionId = pCollectionId_+  } + -- | If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces. lfNextToken :: Lens' ListFaces (Maybe Text) lfNextToken = lens _lfNextToken (\ s a -> s{_lfNextToken = a});@@ -87,6 +92,13 @@ lfCollectionId :: Lens' ListFaces Text lfCollectionId = lens _lfCollectionId (\ s a -> s{_lfCollectionId = a}); +instance AWSPager ListFaces where+        page rq rs+          | stop (rs ^. lfrsNextToken) = Nothing+          | stop (rs ^. lfrsFaces) = Nothing+          | otherwise =+            Just $ rq & lfNextToken .~ rs ^. lfrsNextToken+ instance AWSRequest ListFaces where         type Rs ListFaces = ListFacesResponse         request = postJSON rekognition@@ -97,9 +109,9 @@                    (x .?> "NextToken") <*> (x .?> "Faces" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable ListFaces+instance Hashable ListFaces where -instance NFData ListFaces+instance NFData ListFaces where  instance ToHeaders ListFaces where         toHeaders@@ -126,11 +138,12 @@  -- | /See:/ 'listFacesResponse' smart constructor. data ListFacesResponse = ListFacesResponse'-    { _lfrsNextToken      :: !(Maybe Text)-    , _lfrsFaces          :: !(Maybe [Face])-    , _lfrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lfrsNextToken      :: !(Maybe Text)+  , _lfrsFaces          :: !(Maybe [Face])+  , _lfrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListFacesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -144,12 +157,13 @@     :: Int -- ^ 'lfrsResponseStatus'     -> ListFacesResponse listFacesResponse pResponseStatus_ =-    ListFacesResponse'-    { _lfrsNextToken = Nothing-    , _lfrsFaces = Nothing-    , _lfrsResponseStatus = pResponseStatus_-    }+  ListFacesResponse'+  { _lfrsNextToken = Nothing+  , _lfrsFaces = Nothing+  , _lfrsResponseStatus = pResponseStatus_+  } + -- | If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces. lfrsNextToken :: Lens' ListFacesResponse (Maybe Text) lfrsNextToken = lens _lfrsNextToken (\ s a -> s{_lfrsNextToken = a});@@ -162,4 +176,4 @@ lfrsResponseStatus :: Lens' ListFacesResponse Int lfrsResponseStatus = lens _lfrsResponseStatus (\ s a -> s{_lfrsResponseStatus = a}); -instance NFData ListFacesResponse+instance NFData ListFacesResponse where
+ gen/Network/AWS/Rekognition/RecognizeCelebrities.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Rekognition.RecognizeCelebrities+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an array of celebrities recognized in the input image. The image is passed either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. The image must be either a PNG or JPEG formatted file. For more information, see 'celebrity-recognition' .+--+--+-- @RecognizeCelebrities@ returns the 15 largest faces in the image. It lists recognized celebrities in the @CelebrityFaces@ list and unrecognized faces in the @UnrecognizedFaces@ list. The operation doesn't return celebrities whose face sizes are smaller than the largest 15 faces in the image.+--+-- For each celebrity recognized, the API returns a @Celebrity@ object. The @Celebrity@ object contains the celebrity name, ID, URL links to additional information, match confidence, and a @ComparedFace@ object that you can use to locate the celebrity's face on the image.+--+-- Rekognition does not retain information about which images a celebrity has been recognized in. Your application must store this information and use the @Celebrity@ ID property as a unique identifier for the celebrity. If you don't store the celebrity name or additional information URLs returned by @RecognizeCelebrities@ , you will need the ID to identify the celebrity in a call to the operation.+--+-- For an example, see 'recognize-celebrities-tutorial' .+--+-- This operation requires permissions to perform the @rekognition:RecognizeCelebrities@ operation.+--+module Network.AWS.Rekognition.RecognizeCelebrities+    (+    -- * Creating a Request+      recognizeCelebrities+    , RecognizeCelebrities+    -- * Request Lenses+    , rcImage++    -- * Destructuring the Response+    , recognizeCelebritiesResponse+    , RecognizeCelebritiesResponse+    -- * Response Lenses+    , rcrsCelebrityFaces+    , rcrsOrientationCorrection+    , rcrsUnrecognizedFaces+    , rcrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'recognizeCelebrities' smart constructor.+newtype RecognizeCelebrities = RecognizeCelebrities'+  { _rcImage :: Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RecognizeCelebrities' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcImage' - The input image to use for celebrity recognition.+recognizeCelebrities+    :: Image -- ^ 'rcImage'+    -> RecognizeCelebrities+recognizeCelebrities pImage_ = RecognizeCelebrities' {_rcImage = pImage_}+++-- | The input image to use for celebrity recognition.+rcImage :: Lens' RecognizeCelebrities Image+rcImage = lens _rcImage (\ s a -> s{_rcImage = a});++instance AWSRequest RecognizeCelebrities where+        type Rs RecognizeCelebrities =+             RecognizeCelebritiesResponse+        request = postJSON rekognition+        response+          = receiveJSON+              (\ s h x ->+                 RecognizeCelebritiesResponse' <$>+                   (x .?> "CelebrityFaces" .!@ mempty) <*>+                     (x .?> "OrientationCorrection")+                     <*> (x .?> "UnrecognizedFaces" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable RecognizeCelebrities where++instance NFData RecognizeCelebrities where++instance ToHeaders RecognizeCelebrities where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("RekognitionService.RecognizeCelebrities" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON RecognizeCelebrities where+        toJSON RecognizeCelebrities'{..}+          = object (catMaybes [Just ("Image" .= _rcImage)])++instance ToPath RecognizeCelebrities where+        toPath = const "/"++instance ToQuery RecognizeCelebrities where+        toQuery = const mempty++-- | /See:/ 'recognizeCelebritiesResponse' smart constructor.+data RecognizeCelebritiesResponse = RecognizeCelebritiesResponse'+  { _rcrsCelebrityFaces        :: !(Maybe [Celebrity])+  , _rcrsOrientationCorrection :: !(Maybe OrientationCorrection)+  , _rcrsUnrecognizedFaces     :: !(Maybe [ComparedFace])+  , _rcrsResponseStatus        :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RecognizeCelebritiesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrsCelebrityFaces' - Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 celebrities in an image.+--+-- * 'rcrsOrientationCorrection' - The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct the orientation. The bounding box coordinates returned in @CelebrityFaces@ and @UnrecognizedFaces@ represent face locations before the image orientation is corrected.+--+-- * 'rcrsUnrecognizedFaces' - Details about each unrecognized face in the image.+--+-- * 'rcrsResponseStatus' - -- | The response status code.+recognizeCelebritiesResponse+    :: Int -- ^ 'rcrsResponseStatus'+    -> RecognizeCelebritiesResponse+recognizeCelebritiesResponse pResponseStatus_ =+  RecognizeCelebritiesResponse'+  { _rcrsCelebrityFaces = Nothing+  , _rcrsOrientationCorrection = Nothing+  , _rcrsUnrecognizedFaces = Nothing+  , _rcrsResponseStatus = pResponseStatus_+  }+++-- | Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 celebrities in an image.+rcrsCelebrityFaces :: Lens' RecognizeCelebritiesResponse [Celebrity]+rcrsCelebrityFaces = lens _rcrsCelebrityFaces (\ s a -> s{_rcrsCelebrityFaces = a}) . _Default . _Coerce;++-- | The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct the orientation. The bounding box coordinates returned in @CelebrityFaces@ and @UnrecognizedFaces@ represent face locations before the image orientation is corrected.+rcrsOrientationCorrection :: Lens' RecognizeCelebritiesResponse (Maybe OrientationCorrection)+rcrsOrientationCorrection = lens _rcrsOrientationCorrection (\ s a -> s{_rcrsOrientationCorrection = a});++-- | Details about each unrecognized face in the image.+rcrsUnrecognizedFaces :: Lens' RecognizeCelebritiesResponse [ComparedFace]+rcrsUnrecognizedFaces = lens _rcrsUnrecognizedFaces (\ s a -> s{_rcrsUnrecognizedFaces = a}) . _Default . _Coerce;++-- | -- | The response status code.+rcrsResponseStatus :: Lens' RecognizeCelebritiesResponse Int+rcrsResponseStatus = lens _rcrsResponseStatus (\ s a -> s{_rcrsResponseStatus = a});++instance NFData RecognizeCelebritiesResponse where
gen/Network/AWS/Rekognition/SearchFaces.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Rekognition.SearchFaces--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- For a given input face ID, searches the specified collection for matching faces. You get a face ID when you add a face to the collection using the 'IndexFaces' operation. The operation compares the features of the input face with faces in the specified collection.+-- For a given input face ID, searches for matching faces in the collection the face belongs to. You get a face ID when you add a face to the collection using the 'IndexFaces' operation. The operation compares the features of the input face with faces in the specified collection. -- -- -- The operation response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match that is found. Along with the metadata, the response also includes a @confidence@ value for each face match, indicating the confidence that the specific face matches the input face.@@ -47,30 +47,31 @@     , sfrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'searchFaces' smart constructor. data SearchFaces = SearchFaces'-    { _sfFaceMatchThreshold :: !(Maybe Double)-    , _sfMaxFaces           :: !(Maybe Nat)-    , _sfCollectionId       :: !Text-    , _sfFaceId             :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sfFaceMatchThreshold :: !(Maybe Double)+  , _sfMaxFaces           :: !(Maybe Nat)+  , _sfCollectionId       :: !Text+  , _sfFaceId             :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SearchFaces' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'sfFaceMatchThreshold' - Optional value specifying the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. ----- * 'sfMaxFaces' - Maximum number of faces to return. The API will return the maximum number of faces with the highest confidence in the match.+-- * 'sfMaxFaces' - Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match. ----- * 'sfCollectionId' - ID of the collection to search.+-- * 'sfCollectionId' - ID of the collection the face belongs to. -- -- * 'sfFaceId' - ID of a face to find matches for in the collection. searchFaces@@ -78,22 +79,23 @@     -> Text -- ^ 'sfFaceId'     -> SearchFaces searchFaces pCollectionId_ pFaceId_ =-    SearchFaces'-    { _sfFaceMatchThreshold = Nothing-    , _sfMaxFaces = Nothing-    , _sfCollectionId = pCollectionId_-    , _sfFaceId = pFaceId_-    }+  SearchFaces'+  { _sfFaceMatchThreshold = Nothing+  , _sfMaxFaces = Nothing+  , _sfCollectionId = pCollectionId_+  , _sfFaceId = pFaceId_+  } + -- | Optional value specifying the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. sfFaceMatchThreshold :: Lens' SearchFaces (Maybe Double) sfFaceMatchThreshold = lens _sfFaceMatchThreshold (\ s a -> s{_sfFaceMatchThreshold = a}); --- | Maximum number of faces to return. The API will return the maximum number of faces with the highest confidence in the match.+-- | Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match. sfMaxFaces :: Lens' SearchFaces (Maybe Natural) sfMaxFaces = lens _sfMaxFaces (\ s a -> s{_sfMaxFaces = a}) . mapping _Nat; --- | ID of the collection to search.+-- | ID of the collection the face belongs to. sfCollectionId :: Lens' SearchFaces Text sfCollectionId = lens _sfCollectionId (\ s a -> s{_sfCollectionId = a}); @@ -112,9 +114,9 @@                      (x .?> "SearchedFaceId")                      <*> (pure (fromEnum s))) -instance Hashable SearchFaces+instance Hashable SearchFaces where -instance NFData SearchFaces+instance NFData SearchFaces where  instance ToHeaders SearchFaces where         toHeaders@@ -142,11 +144,12 @@  -- | /See:/ 'searchFacesResponse' smart constructor. data SearchFacesResponse = SearchFacesResponse'-    { _sfrsFaceMatches    :: !(Maybe [FaceMatch])-    , _sfrsSearchedFaceId :: !(Maybe Text)-    , _sfrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sfrsFaceMatches    :: !(Maybe [FaceMatch])+  , _sfrsSearchedFaceId :: !(Maybe Text)+  , _sfrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SearchFacesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -160,12 +163,13 @@     :: Int -- ^ 'sfrsResponseStatus'     -> SearchFacesResponse searchFacesResponse pResponseStatus_ =-    SearchFacesResponse'-    { _sfrsFaceMatches = Nothing-    , _sfrsSearchedFaceId = Nothing-    , _sfrsResponseStatus = pResponseStatus_-    }+  SearchFacesResponse'+  { _sfrsFaceMatches = Nothing+  , _sfrsSearchedFaceId = Nothing+  , _sfrsResponseStatus = pResponseStatus_+  } + -- | An array of faces that matched the input face, along with the confidence in the match. sfrsFaceMatches :: Lens' SearchFacesResponse [FaceMatch] sfrsFaceMatches = lens _sfrsFaceMatches (\ s a -> s{_sfrsFaceMatches = a}) . _Default . _Coerce;@@ -178,4 +182,4 @@ sfrsResponseStatus :: Lens' SearchFacesResponse Int sfrsResponseStatus = lens _sfrsResponseStatus (\ s a -> s{_sfrsResponseStatus = a}); -instance NFData SearchFacesResponse+instance NFData SearchFacesResponse where
gen/Network/AWS/Rekognition/SearchFacesByImage.hs view
@@ -12,16 +12,16 @@  -- | -- Module      : Network.AWS.Rekognition.SearchFacesByImage--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection. -- ----- The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a @similarity@ indicating how similar the face is to the input face. In the response, the API also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Rekognition used for the input image.+-- The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a @similarity@ indicating how similar the face is to the input face. In the response, the operation also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Amazon Rekognition used for the input image. -- -- For an example, see 'example3' . --@@ -48,21 +48,22 @@     , sfbirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'searchFacesByImage' smart constructor. data SearchFacesByImage = SearchFacesByImage'-    { _sfbiFaceMatchThreshold :: !(Maybe Double)-    , _sfbiMaxFaces           :: !(Maybe Nat)-    , _sfbiCollectionId       :: !Text-    , _sfbiImage              :: !Image-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sfbiFaceMatchThreshold :: !(Maybe Double)+  , _sfbiMaxFaces           :: !(Maybe Nat)+  , _sfbiCollectionId       :: !Text+  , _sfbiImage              :: !Image+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SearchFacesByImage' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,19 +74,20 @@ -- -- * 'sfbiCollectionId' - ID of the collection to search. ----- * 'sfbiImage' - Undocumented member.+-- * 'sfbiImage' - The input image as bytes or an S3 object. searchFacesByImage     :: Text -- ^ 'sfbiCollectionId'     -> Image -- ^ 'sfbiImage'     -> SearchFacesByImage searchFacesByImage pCollectionId_ pImage_ =-    SearchFacesByImage'-    { _sfbiFaceMatchThreshold = Nothing-    , _sfbiMaxFaces = Nothing-    , _sfbiCollectionId = pCollectionId_-    , _sfbiImage = pImage_-    }+  SearchFacesByImage'+  { _sfbiFaceMatchThreshold = Nothing+  , _sfbiMaxFaces = Nothing+  , _sfbiCollectionId = pCollectionId_+  , _sfbiImage = pImage_+  } + -- | (Optional) Specifies the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. sfbiFaceMatchThreshold :: Lens' SearchFacesByImage (Maybe Double) sfbiFaceMatchThreshold = lens _sfbiFaceMatchThreshold (\ s a -> s{_sfbiFaceMatchThreshold = a});@@ -98,7 +100,7 @@ sfbiCollectionId :: Lens' SearchFacesByImage Text sfbiCollectionId = lens _sfbiCollectionId (\ s a -> s{_sfbiCollectionId = a}); --- | Undocumented member.+-- | The input image as bytes or an S3 object. sfbiImage :: Lens' SearchFacesByImage Image sfbiImage = lens _sfbiImage (\ s a -> s{_sfbiImage = a}); @@ -115,9 +117,9 @@                      <*> (x .?> "SearchedFaceConfidence")                      <*> (pure (fromEnum s))) -instance Hashable SearchFacesByImage+instance Hashable SearchFacesByImage where -instance NFData SearchFacesByImage+instance NFData SearchFacesByImage where  instance ToHeaders SearchFacesByImage where         toHeaders@@ -147,19 +149,20 @@  -- | /See:/ 'searchFacesByImageResponse' smart constructor. data SearchFacesByImageResponse = SearchFacesByImageResponse'-    { _sfbirsFaceMatches             :: !(Maybe [FaceMatch])-    , _sfbirsSearchedFaceBoundingBox :: !(Maybe BoundingBox)-    , _sfbirsSearchedFaceConfidence  :: !(Maybe Double)-    , _sfbirsResponseStatus          :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sfbirsFaceMatches             :: !(Maybe [FaceMatch])+  , _sfbirsSearchedFaceBoundingBox :: !(Maybe BoundingBox)+  , _sfbirsSearchedFaceConfidence  :: !(Maybe Double)+  , _sfbirsResponseStatus          :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SearchFacesByImageResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'sfbirsFaceMatches' - An array of faces that match the input face, along with the confidence in the match. ----- * 'sfbirsSearchedFaceBoundingBox' - The bounding box around the face in the input image that Rekognition used for the search.+-- * 'sfbirsSearchedFaceBoundingBox' - The bounding box around the face in the input image that Amazon Rekognition used for the search. -- -- * 'sfbirsSearchedFaceConfidence' - The level of confidence that the @searchedFaceBoundingBox@ , contains a face. --@@ -168,18 +171,19 @@     :: Int -- ^ 'sfbirsResponseStatus'     -> SearchFacesByImageResponse searchFacesByImageResponse pResponseStatus_ =-    SearchFacesByImageResponse'-    { _sfbirsFaceMatches = Nothing-    , _sfbirsSearchedFaceBoundingBox = Nothing-    , _sfbirsSearchedFaceConfidence = Nothing-    , _sfbirsResponseStatus = pResponseStatus_-    }+  SearchFacesByImageResponse'+  { _sfbirsFaceMatches = Nothing+  , _sfbirsSearchedFaceBoundingBox = Nothing+  , _sfbirsSearchedFaceConfidence = Nothing+  , _sfbirsResponseStatus = pResponseStatus_+  } + -- | An array of faces that match the input face, along with the confidence in the match. sfbirsFaceMatches :: Lens' SearchFacesByImageResponse [FaceMatch] sfbirsFaceMatches = lens _sfbirsFaceMatches (\ s a -> s{_sfbirsFaceMatches = a}) . _Default . _Coerce; --- | The bounding box around the face in the input image that Rekognition used for the search.+-- | The bounding box around the face in the input image that Amazon Rekognition used for the search. sfbirsSearchedFaceBoundingBox :: Lens' SearchFacesByImageResponse (Maybe BoundingBox) sfbirsSearchedFaceBoundingBox = lens _sfbirsSearchedFaceBoundingBox (\ s a -> s{_sfbirsSearchedFaceBoundingBox = a}); @@ -191,4 +195,4 @@ sfbirsResponseStatus :: Lens' SearchFacesByImageResponse Int sfbirsResponseStatus = lens _sfbirsResponseStatus (\ s a -> s{_sfbirsResponseStatus = a}); -instance NFData SearchFacesByImageResponse+instance NFData SearchFacesByImageResponse where
gen/Network/AWS/Rekognition/Types.hs view
@@ -4,9 +4,9 @@  -- | -- Module      : Network.AWS.Rekognition.Types--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -43,6 +43,12 @@     -- * OrientationCorrection     , OrientationCorrection (..) +    -- * AgeRange+    , AgeRange+    , ageRange+    , arLow+    , arHigh+     -- * Beard     , Beard     , beard@@ -57,6 +63,15 @@     , bbWidth     , bbTop +    -- * Celebrity+    , Celebrity+    , celebrity+    , cMatchConfidence+    , cURLs+    , cName+    , cId+    , cFace+     -- * CompareFacesMatch     , CompareFacesMatch     , compareFacesMatch@@ -67,7 +82,10 @@     , ComparedFace     , comparedFace     , cfBoundingBox+    , cfPose     , cfConfidence+    , cfQuality+    , cfLandmarks      -- * ComparedSourceImageFace     , ComparedSourceImageFace@@ -105,6 +123,7 @@     -- * FaceDetail     , FaceDetail     , faceDetail+    , fdAgeRange     , fdSunglasses     , fdMouthOpen     , fdBoundingBox@@ -163,6 +182,13 @@     , lX     , lY +    -- * ModerationLabel+    , ModerationLabel+    , moderationLabel+    , mlConfidence+    , mlName+    , mlParentName+     -- * MouthOpen     , MouthOpen     , mouthOpen@@ -202,38 +228,40 @@     , sConfidence     ) where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types.Product-import           Network.AWS.Rekognition.Types.Sum-import           Network.AWS.Sign.V4+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types.Product+import Network.AWS.Rekognition.Types.Sum+import Network.AWS.Sign.V4  -- | API version @2016-06-27@ of the Amazon Rekognition SDK configuration. rekognition :: Service rekognition =-    Service-    { _svcAbbrev = "Rekognition"-    , _svcSigner = v4-    , _svcPrefix = "rekognition"-    , _svcVersion = "2016-06-27"-    , _svcEndpoint = defaultEndpoint rekognition-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseJSONError "Rekognition"-    , _svcRetry = retry-    }+  Service+  { _svcAbbrev = "Rekognition"+  , _svcSigner = v4+  , _svcPrefix = "rekognition"+  , _svcVersion = "2016-06-27"+  , _svcEndpoint = defaultEndpoint rekognition+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseJSONError "Rekognition"+  , _svcRetry = retry+  }   where     retry =-        Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }+      Exponential+      { _retryBase = 5.0e-2+      , _retryGrowth = 2+      , _retryAttempts = 5+      , _retryCheck = check+      }     check e+      | has (hasCode "ThrottledException" . hasStatus 400) e =+        Just "throttled_exception"       | has (hasStatus 429) e = Just "too_many_requests"       | has (hasCode "ThrottlingException" . hasStatus 400) e =-          Just "throttling_exception"+        Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"       | has (hasStatus 502) e = Just "bad_gateway"@@ -242,74 +270,88 @@       | has (hasStatus 509) e = Just "limit_exceeded"       | otherwise = Nothing + -- | You are not authorized to perform the action. -- -- _AccessDeniedException :: AsError a => Getting (First ServiceError) a ServiceError-_AccessDeniedException = _ServiceError . hasCode "AccessDeniedException"+_AccessDeniedException = _MatchServiceError rekognition "AccessDeniedException" --- | Input parameter violated a constraint. Validate your parameter before calling the API again.++-- | Input parameter violated a constraint. Validate your parameter before calling the API operation again. -- -- _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidParameterException =-    _ServiceError . hasCode "InvalidParameterException"+  _MatchServiceError rekognition "InvalidParameterException" + -- | The provided image format is not supported. -- -- _InvalidImageFormatException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidImageFormatException =-    _ServiceError . hasCode "InvalidImageFormatException"+  _MatchServiceError rekognition "InvalidImageFormatException" --- | The collection with specific ID already exist.++-- | A collection with the specified ID already exists. -- -- _ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError _ResourceAlreadyExistsException =-    _ServiceError . hasCode "ResourceAlreadyExistsException"+  _MatchServiceError rekognition "ResourceAlreadyExistsException" + -- | Amazon Rekognition is unable to access the S3 object specified in the request. -- -- _InvalidS3ObjectException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidS3ObjectException = _ServiceError . hasCode "InvalidS3ObjectException"+_InvalidS3ObjectException =+  _MatchServiceError rekognition "InvalidS3ObjectException" + -- | The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition. -- -- _ProvisionedThroughputExceededException :: AsError a => Getting (First ServiceError) a ServiceError _ProvisionedThroughputExceededException =-    _ServiceError . hasCode "ProvisionedThroughputExceededException"+  _MatchServiceError rekognition "ProvisionedThroughputExceededException" + -- | The input image size exceeds the allowed limit. For more information, see 'limits' . -- -- _ImageTooLargeException :: AsError a => Getting (First ServiceError) a ServiceError-_ImageTooLargeException = _ServiceError . hasCode "ImageTooLargeException"+_ImageTooLargeException =+  _MatchServiceError rekognition "ImageTooLargeException" + -- | Amazon Rekognition is temporarily unable to process the request. Try your call again. -- -- _ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError-_ThrottlingException = _ServiceError . hasCode "ThrottlingException"+_ThrottlingException = _MatchServiceError rekognition "ThrottlingException" + -- | Amazon Rekognition experienced a service issue. Try your call again. -- -- _InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError-_InternalServerError = _ServiceError . hasCode "InternalServerError"+_InternalServerError = _MatchServiceError rekognition "InternalServerError" + -- | Collection specified in the request is not found. -- -- _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _ResourceNotFoundException =-    _ServiceError . hasCode "ResourceNotFoundException"+  _MatchServiceError rekognition "ResourceNotFoundException" + -- | Pagination token in the request is not valid. -- -- _InvalidPaginationTokenException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidPaginationTokenException =-    _ServiceError . hasCode "InvalidPaginationTokenException"+  _MatchServiceError rekognition "InvalidPaginationTokenException"+
gen/Network/AWS/Rekognition/Types/Product.hs view
@@ -9,28 +9,72 @@  -- | -- Module      : Network.AWS.Rekognition.Types.Product--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Rekognition.Types.Product where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types.Sum +-- | Structure containing the estimated age range, in years, for a face.+--+--+-- Rekognition estimates an age-range for faces detected in the input image. Estimated age ranges can overlap; a face of a 5 year old may have an estimated range of 4-6 whilst the face of a 6 year old may have an estimated range of 4-8.+--+--+-- /See:/ 'ageRange' smart constructor.+data AgeRange = AgeRange'+  { _arLow  :: !(Maybe Nat)+  , _arHigh :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AgeRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'arLow' - The lowest estimated age.+--+-- * 'arHigh' - The highest estimated age.+ageRange+    :: AgeRange+ageRange = AgeRange' {_arLow = Nothing, _arHigh = Nothing}+++-- | The lowest estimated age.+arLow :: Lens' AgeRange (Maybe Natural)+arLow = lens _arLow (\ s a -> s{_arLow = a}) . mapping _Nat;++-- | The highest estimated age.+arHigh :: Lens' AgeRange (Maybe Natural)+arHigh = lens _arHigh (\ s a -> s{_arHigh = a}) . mapping _Nat;++instance FromJSON AgeRange where+        parseJSON+          = withObject "AgeRange"+              (\ x ->+                 AgeRange' <$> (x .:? "Low") <*> (x .:? "High"))++instance Hashable AgeRange where++instance NFData AgeRange where+ -- | Indicates whether or not the face has a beard, and the confidence level in the determination. -- -- -- -- /See:/ 'beard' smart constructor. data Beard = Beard'-    { _bValue      :: !(Maybe Bool)-    , _bConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _bValue      :: !(Maybe Bool)+  , _bConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Beard' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -40,12 +84,9 @@ -- * 'bConfidence' - Level of confidence in the determination. beard     :: Beard-beard =-    Beard'-    { _bValue = Nothing-    , _bConfidence = Nothing-    }+beard = Beard' {_bValue = Nothing, _bConfidence = Nothing} + -- | Boolean value that indicates whether the face has beard or not. bValue :: Lens' Beard (Maybe Bool) bValue = lens _bValue (\ s a -> s{_bValue = a});@@ -60,9 +101,9 @@               (\ x ->                  Beard' <$> (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable Beard+instance Hashable Beard where -instance NFData Beard+instance NFData Beard where  -- | Identifies the bounding box around the object or face. The @left@ (x-coordinate) and @top@ (y-coordinate) are coordinates representing the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0). --@@ -74,12 +115,13 @@ -- -- /See:/ 'boundingBox' smart constructor. data BoundingBox = BoundingBox'-    { _bbHeight :: !(Maybe Double)-    , _bbLeft   :: !(Maybe Double)-    , _bbWidth  :: !(Maybe Double)-    , _bbTop    :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _bbHeight :: !(Maybe Double)+  , _bbLeft   :: !(Maybe Double)+  , _bbWidth  :: !(Maybe Double)+  , _bbTop    :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'BoundingBox' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -94,13 +136,10 @@ boundingBox     :: BoundingBox boundingBox =-    BoundingBox'-    { _bbHeight = Nothing-    , _bbLeft = Nothing-    , _bbWidth = Nothing-    , _bbTop = Nothing-    }+  BoundingBox'+  {_bbHeight = Nothing, _bbLeft = Nothing, _bbWidth = Nothing, _bbTop = Nothing} + -- | Height of the bounding box as a ratio of the overall image height. bbHeight :: Lens' BoundingBox (Maybe Double) bbHeight = lens _bbHeight (\ s a -> s{_bbHeight = a});@@ -126,20 +165,95 @@                      (x .:? "Width")                      <*> (x .:? "Top")) -instance Hashable BoundingBox+instance Hashable BoundingBox where -instance NFData BoundingBox+instance NFData BoundingBox where --- | Provide the bounding box, confidence that the bounding box actually contains a face, and the similarity between the face in the bounding box and the face in the source image.+-- | Provides information about a celebrity recognized by the operation. -- -- --+-- /See:/ 'celebrity' smart constructor.+data Celebrity = Celebrity'+  { _cMatchConfidence :: !(Maybe Double)+  , _cURLs            :: !(Maybe [Text])+  , _cName            :: !(Maybe Text)+  , _cId              :: !(Maybe Text)+  , _cFace            :: !(Maybe ComparedFace)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Celebrity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cMatchConfidence' - The confidence, in percentage, that Rekognition has that the recognized face is the celebrity.+--+-- * 'cURLs' - An array of URLs pointing to additional information about the celebrity. If there is no additional information about the celebrity, this list is empty.+--+-- * 'cName' - The name of the celebrity.+--+-- * 'cId' - A unique identifier for the celebrity.+--+-- * 'cFace' - Provides information about the celebrity's face, such as its location on the image.+celebrity+    :: Celebrity+celebrity =+  Celebrity'+  { _cMatchConfidence = Nothing+  , _cURLs = Nothing+  , _cName = Nothing+  , _cId = Nothing+  , _cFace = Nothing+  }+++-- | The confidence, in percentage, that Rekognition has that the recognized face is the celebrity.+cMatchConfidence :: Lens' Celebrity (Maybe Double)+cMatchConfidence = lens _cMatchConfidence (\ s a -> s{_cMatchConfidence = a});++-- | An array of URLs pointing to additional information about the celebrity. If there is no additional information about the celebrity, this list is empty.+cURLs :: Lens' Celebrity [Text]+cURLs = lens _cURLs (\ s a -> s{_cURLs = a}) . _Default . _Coerce;++-- | The name of the celebrity.+cName :: Lens' Celebrity (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a});++-- | A unique identifier for the celebrity.+cId :: Lens' Celebrity (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a});++-- | Provides information about the celebrity's face, such as its location on the image.+cFace :: Lens' Celebrity (Maybe ComparedFace)+cFace = lens _cFace (\ s a -> s{_cFace = a});++instance FromJSON Celebrity where+        parseJSON+          = withObject "Celebrity"+              (\ x ->+                 Celebrity' <$>+                   (x .:? "MatchConfidence") <*>+                     (x .:? "Urls" .!= mempty)+                     <*> (x .:? "Name")+                     <*> (x .:? "Id")+                     <*> (x .:? "Face"))++instance Hashable Celebrity where++instance NFData Celebrity where++-- | Provides information about a face in a target image that matches the source image face analysed by @CompareFaces@ . The @Face@ property contains the bounding box of the face in the target image. The @Similarity@ property is the confidence that the source image face matches the face in the bounding box.+--+--+-- -- /See:/ 'compareFacesMatch' smart constructor. data CompareFacesMatch = CompareFacesMatch'-    { _cfmSimilarity :: !(Maybe Double)-    , _cfmFace       :: !(Maybe ComparedFace)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cfmSimilarity :: !(Maybe Double)+  , _cfmFace       :: !(Maybe ComparedFace)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CompareFacesMatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -150,11 +264,9 @@ compareFacesMatch     :: CompareFacesMatch compareFacesMatch =-    CompareFacesMatch'-    { _cfmSimilarity = Nothing-    , _cfmFace = Nothing-    }+  CompareFacesMatch' {_cfmSimilarity = Nothing, _cfmFace = Nothing} + -- | Level of confidence that the faces match. cfmSimilarity :: Lens' CompareFacesMatch (Maybe Double) cfmSimilarity = lens _cfmSimilarity (\ s a -> s{_cfmSimilarity = a});@@ -170,53 +282,82 @@                  CompareFacesMatch' <$>                    (x .:? "Similarity") <*> (x .:? "Face")) -instance Hashable CompareFacesMatch+instance Hashable CompareFacesMatch where -instance NFData CompareFacesMatch+instance NFData CompareFacesMatch where --- | Provides face metadata (bounding box and confidence that the bounding box actually contains a face).+-- | Provides face metadata for target image faces that are analysed by @CompareFaces@ and @RecognizeCelebrities@ . -- -- -- -- /See:/ 'comparedFace' smart constructor. data ComparedFace = ComparedFace'-    { _cfBoundingBox :: !(Maybe BoundingBox)-    , _cfConfidence  :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cfBoundingBox :: !(Maybe BoundingBox)+  , _cfPose        :: !(Maybe Pose)+  , _cfConfidence  :: !(Maybe Double)+  , _cfQuality     :: !(Maybe ImageQuality)+  , _cfLandmarks   :: !(Maybe [Landmark])+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ComparedFace' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cfBoundingBox' - Undocumented member.+-- * 'cfBoundingBox' - Bounding box of the face. --+-- * 'cfPose' - Indicates the pose of the face as determined by its pitch, roll, and yaw.+-- -- * 'cfConfidence' - Level of confidence that what the bounding box contains is a face.+--+-- * 'cfQuality' - Identifies face image brightness and sharpness.+--+-- * 'cfLandmarks' - An array of facial landmarks. comparedFace     :: ComparedFace comparedFace =-    ComparedFace'-    { _cfBoundingBox = Nothing-    , _cfConfidence = Nothing-    }+  ComparedFace'+  { _cfBoundingBox = Nothing+  , _cfPose = Nothing+  , _cfConfidence = Nothing+  , _cfQuality = Nothing+  , _cfLandmarks = Nothing+  } --- | Undocumented member.++-- | Bounding box of the face. cfBoundingBox :: Lens' ComparedFace (Maybe BoundingBox) cfBoundingBox = lens _cfBoundingBox (\ s a -> s{_cfBoundingBox = a}); +-- | Indicates the pose of the face as determined by its pitch, roll, and yaw.+cfPose :: Lens' ComparedFace (Maybe Pose)+cfPose = lens _cfPose (\ s a -> s{_cfPose = a});+ -- | Level of confidence that what the bounding box contains is a face. cfConfidence :: Lens' ComparedFace (Maybe Double) cfConfidence = lens _cfConfidence (\ s a -> s{_cfConfidence = a}); +-- | Identifies face image brightness and sharpness.+cfQuality :: Lens' ComparedFace (Maybe ImageQuality)+cfQuality = lens _cfQuality (\ s a -> s{_cfQuality = a});++-- | An array of facial landmarks.+cfLandmarks :: Lens' ComparedFace [Landmark]+cfLandmarks = lens _cfLandmarks (\ s a -> s{_cfLandmarks = a}) . _Default . _Coerce;+ instance FromJSON ComparedFace where         parseJSON           = withObject "ComparedFace"               (\ x ->                  ComparedFace' <$>-                   (x .:? "BoundingBox") <*> (x .:? "Confidence"))+                   (x .:? "BoundingBox") <*> (x .:? "Pose") <*>+                     (x .:? "Confidence")+                     <*> (x .:? "Quality")+                     <*> (x .:? "Landmarks" .!= mempty)) -instance Hashable ComparedFace+instance Hashable ComparedFace where -instance NFData ComparedFace+instance NFData ComparedFace where  -- | Type that describes the face Amazon Rekognition chose to compare with the faces in the target. This contains a bounding box for the selected face and confidence level that the bounding box contains a face. Note that Amazon Rekognition selects the largest face in the source image for this comparison. --@@ -224,30 +365,30 @@ -- -- /See:/ 'comparedSourceImageFace' smart constructor. data ComparedSourceImageFace = ComparedSourceImageFace'-    { _csifBoundingBox :: !(Maybe BoundingBox)-    , _csifConfidence  :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _csifBoundingBox :: !(Maybe BoundingBox)+  , _csifConfidence  :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ComparedSourceImageFace' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'csifBoundingBox' - Undocumented member.+-- * 'csifBoundingBox' - Bounding box of the face. ----- * 'csifConfidence' - Confidence that the selected bounding box contains a face.+-- * 'csifConfidence' - Confidence level that the selected bounding box contains a face. comparedSourceImageFace     :: ComparedSourceImageFace comparedSourceImageFace =-    ComparedSourceImageFace'-    { _csifBoundingBox = Nothing-    , _csifConfidence = Nothing-    }+  ComparedSourceImageFace'+  {_csifBoundingBox = Nothing, _csifConfidence = Nothing} --- | Undocumented member.++-- | Bounding box of the face. csifBoundingBox :: Lens' ComparedSourceImageFace (Maybe BoundingBox) csifBoundingBox = lens _csifBoundingBox (\ s a -> s{_csifBoundingBox = a}); --- | Confidence that the selected bounding box contains a face.+-- | Confidence level that the selected bounding box contains a face. csifConfidence :: Lens' ComparedSourceImageFace (Maybe Double) csifConfidence = lens _csifConfidence (\ s a -> s{_csifConfidence = a}); @@ -258,9 +399,9 @@                  ComparedSourceImageFace' <$>                    (x .:? "BoundingBox") <*> (x .:? "Confidence")) -instance Hashable ComparedSourceImageFace+instance Hashable ComparedSourceImageFace where -instance NFData ComparedSourceImageFace+instance NFData ComparedSourceImageFace where  -- | The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY. --@@ -268,10 +409,11 @@ -- -- /See:/ 'emotion' smart constructor. data Emotion = Emotion'-    { _eConfidence :: !(Maybe Double)-    , _eType       :: !(Maybe EmotionName)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _eConfidence :: !(Maybe Double)+  , _eType       :: !(Maybe EmotionName)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Emotion' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -281,12 +423,9 @@ -- * 'eType' - Type of emotion detected. emotion     :: Emotion-emotion =-    Emotion'-    { _eConfidence = Nothing-    , _eType = Nothing-    }+emotion = Emotion' {_eConfidence = Nothing, _eType = Nothing} + -- | Level of confidence in the determination. eConfidence :: Lens' Emotion (Maybe Double) eConfidence = lens _eConfidence (\ s a -> s{_eConfidence = a});@@ -301,9 +440,9 @@               (\ x ->                  Emotion' <$> (x .:? "Confidence") <*> (x .:? "Type")) -instance Hashable Emotion+instance Hashable Emotion where -instance NFData Emotion+instance NFData Emotion where  -- | Indicates whether or not the eyes on the face are open, and the confidence level in the determination. --@@ -311,10 +450,11 @@ -- -- /See:/ 'eyeOpen' smart constructor. data EyeOpen = EyeOpen'-    { _eoValue      :: !(Maybe Bool)-    , _eoConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _eoValue      :: !(Maybe Bool)+  , _eoConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'EyeOpen' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -324,12 +464,9 @@ -- * 'eoConfidence' - Level of confidence in the determination. eyeOpen     :: EyeOpen-eyeOpen =-    EyeOpen'-    { _eoValue = Nothing-    , _eoConfidence = Nothing-    }+eyeOpen = EyeOpen' {_eoValue = Nothing, _eoConfidence = Nothing} + -- | Boolean value that indicates whether the eyes on the face are open. eoValue :: Lens' EyeOpen (Maybe Bool) eoValue = lens _eoValue (\ s a -> s{_eoValue = a});@@ -345,9 +482,9 @@                  EyeOpen' <$>                    (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable EyeOpen+instance Hashable EyeOpen where -instance NFData EyeOpen+instance NFData EyeOpen where  -- | Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination. --@@ -355,10 +492,11 @@ -- -- /See:/ 'eyeglasses' smart constructor. data Eyeglasses = Eyeglasses'-    { _eyeValue      :: !(Maybe Bool)-    , _eyeConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _eyeValue      :: !(Maybe Bool)+  , _eyeConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Eyeglasses' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -368,12 +506,9 @@ -- * 'eyeConfidence' - Level of confidence in the determination. eyeglasses     :: Eyeglasses-eyeglasses =-    Eyeglasses'-    { _eyeValue = Nothing-    , _eyeConfidence = Nothing-    }+eyeglasses = Eyeglasses' {_eyeValue = Nothing, _eyeConfidence = Nothing} + -- | Boolean value that indicates whether the face is wearing eye glasses or not. eyeValue :: Lens' Eyeglasses (Maybe Bool) eyeValue = lens _eyeValue (\ s a -> s{_eyeValue = a});@@ -389,52 +524,54 @@                  Eyeglasses' <$>                    (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable Eyeglasses+instance Hashable Eyeglasses where -instance NFData Eyeglasses+instance NFData Eyeglasses where --- | Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.+-- | Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned. -- -- -- -- /See:/ 'face' smart constructor. data Face = Face'-    { _fFaceId          :: !(Maybe Text)-    , _fBoundingBox     :: !(Maybe BoundingBox)-    , _fExternalImageId :: !(Maybe Text)-    , _fConfidence      :: !(Maybe Double)-    , _fImageId         :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _fFaceId          :: !(Maybe Text)+  , _fBoundingBox     :: !(Maybe BoundingBox)+  , _fExternalImageId :: !(Maybe Text)+  , _fConfidence      :: !(Maybe Double)+  , _fImageId         :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Face' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'fFaceId' - Unique identifier that Amazon Rekognition assigns to the face. ----- * 'fBoundingBox' - Undocumented member.+-- * 'fBoundingBox' - Bounding box of the face. -- -- * 'fExternalImageId' - Identifier that you assign to all the faces in the input image. -- -- * 'fConfidence' - Confidence level that the bounding box contains a face (and not a different object such as a tree). ----- * 'fImageId' - Unique identifier that Amazon Rekognition assigns to the source image.+-- * 'fImageId' - Unique identifier that Amazon Rekognition assigns to the input image. face     :: Face face =-    Face'-    { _fFaceId = Nothing-    , _fBoundingBox = Nothing-    , _fExternalImageId = Nothing-    , _fConfidence = Nothing-    , _fImageId = Nothing-    }+  Face'+  { _fFaceId = Nothing+  , _fBoundingBox = Nothing+  , _fExternalImageId = Nothing+  , _fConfidence = Nothing+  , _fImageId = Nothing+  } + -- | Unique identifier that Amazon Rekognition assigns to the face. fFaceId :: Lens' Face (Maybe Text) fFaceId = lens _fFaceId (\ s a -> s{_fFaceId = a}); --- | Undocumented member.+-- | Bounding box of the face. fBoundingBox :: Lens' Face (Maybe BoundingBox) fBoundingBox = lens _fBoundingBox (\ s a -> s{_fBoundingBox = a}); @@ -446,7 +583,7 @@ fConfidence :: Lens' Face (Maybe Double) fConfidence = lens _fConfidence (\ s a -> s{_fConfidence = a}); --- | Unique identifier that Amazon Rekognition assigns to the source image.+-- | Unique identifier that Amazon Rekognition assigns to the input image. fImageId :: Lens' Face (Maybe Text) fImageId = lens _fImageId (\ s a -> s{_fImageId = a}); @@ -460,9 +597,9 @@                      <*> (x .:? "Confidence")                      <*> (x .:? "ImageId")) -instance Hashable Face+instance Hashable Face where -instance NFData Face+instance NFData Face where  -- | Structure containing attributes of the face that the algorithm detected. --@@ -470,26 +607,30 @@ -- -- /See:/ 'faceDetail' smart constructor. data FaceDetail = FaceDetail'-    { _fdSunglasses  :: !(Maybe Sunglasses)-    , _fdMouthOpen   :: !(Maybe MouthOpen)-    , _fdBoundingBox :: !(Maybe BoundingBox)-    , _fdEmotions    :: !(Maybe [Emotion])-    , _fdEyesOpen    :: !(Maybe EyeOpen)-    , _fdPose        :: !(Maybe Pose)-    , _fdConfidence  :: !(Maybe Double)-    , _fdGender      :: !(Maybe Gender)-    , _fdQuality     :: !(Maybe ImageQuality)-    , _fdEyeglasses  :: !(Maybe Eyeglasses)-    , _fdBeard       :: !(Maybe Beard)-    , _fdMustache    :: !(Maybe Mustache)-    , _fdSmile       :: !(Maybe Smile)-    , _fdLandmarks   :: !(Maybe [Landmark])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _fdAgeRange    :: !(Maybe AgeRange)+  , _fdSunglasses  :: !(Maybe Sunglasses)+  , _fdMouthOpen   :: !(Maybe MouthOpen)+  , _fdBoundingBox :: !(Maybe BoundingBox)+  , _fdEmotions    :: !(Maybe [Emotion])+  , _fdEyesOpen    :: !(Maybe EyeOpen)+  , _fdPose        :: !(Maybe Pose)+  , _fdConfidence  :: !(Maybe Double)+  , _fdGender      :: !(Maybe Gender)+  , _fdQuality     :: !(Maybe ImageQuality)+  , _fdEyeglasses  :: !(Maybe Eyeglasses)+  , _fdBeard       :: !(Maybe Beard)+  , _fdMustache    :: !(Maybe Mustache)+  , _fdSmile       :: !(Maybe Smile)+  , _fdLandmarks   :: !(Maybe [Landmark])+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'FaceDetail' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'fdAgeRange' - The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.+-- -- * 'fdSunglasses' - Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination. -- -- * 'fdMouthOpen' - Indicates whether or not the mouth on the face is open, and the confidence level in the determination.@@ -500,7 +641,7 @@ -- -- * 'fdEyesOpen' - Indicates whether or not the eyes on the face are open, and the confidence level in the determination. ----- * 'fdPose' - Indicates the pose of the face as determined by pitch, roll, and the yaw.+-- * 'fdPose' - Indicates the pose of the face as determined by its pitch, roll, and yaw. -- -- * 'fdConfidence' - Confidence level that the bounding box contains a face (and not a different object such as a tree). --@@ -516,27 +657,33 @@ -- -- * 'fdSmile' - Indicates whether or not the face is smiling, and the confidence level in the determination. ----- * 'fdLandmarks' - Indicates the location of the landmark on the face.+-- * 'fdLandmarks' - Indicates the location of landmarks on the face. faceDetail     :: FaceDetail faceDetail =-    FaceDetail'-    { _fdSunglasses = Nothing-    , _fdMouthOpen = Nothing-    , _fdBoundingBox = Nothing-    , _fdEmotions = Nothing-    , _fdEyesOpen = Nothing-    , _fdPose = Nothing-    , _fdConfidence = Nothing-    , _fdGender = Nothing-    , _fdQuality = Nothing-    , _fdEyeglasses = Nothing-    , _fdBeard = Nothing-    , _fdMustache = Nothing-    , _fdSmile = Nothing-    , _fdLandmarks = Nothing-    }+  FaceDetail'+  { _fdAgeRange = Nothing+  , _fdSunglasses = Nothing+  , _fdMouthOpen = Nothing+  , _fdBoundingBox = Nothing+  , _fdEmotions = Nothing+  , _fdEyesOpen = Nothing+  , _fdPose = Nothing+  , _fdConfidence = Nothing+  , _fdGender = Nothing+  , _fdQuality = Nothing+  , _fdEyeglasses = Nothing+  , _fdBeard = Nothing+  , _fdMustache = Nothing+  , _fdSmile = Nothing+  , _fdLandmarks = Nothing+  } ++-- | The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.+fdAgeRange :: Lens' FaceDetail (Maybe AgeRange)+fdAgeRange = lens _fdAgeRange (\ s a -> s{_fdAgeRange = a});+ -- | Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination. fdSunglasses :: Lens' FaceDetail (Maybe Sunglasses) fdSunglasses = lens _fdSunglasses (\ s a -> s{_fdSunglasses = a});@@ -557,7 +704,7 @@ fdEyesOpen :: Lens' FaceDetail (Maybe EyeOpen) fdEyesOpen = lens _fdEyesOpen (\ s a -> s{_fdEyesOpen = a}); --- | Indicates the pose of the face as determined by pitch, roll, and the yaw.+-- | Indicates the pose of the face as determined by its pitch, roll, and yaw. fdPose :: Lens' FaceDetail (Maybe Pose) fdPose = lens _fdPose (\ s a -> s{_fdPose = a}); @@ -589,7 +736,7 @@ fdSmile :: Lens' FaceDetail (Maybe Smile) fdSmile = lens _fdSmile (\ s a -> s{_fdSmile = a}); --- | Indicates the location of the landmark on the face.+-- | Indicates the location of landmarks on the face. fdLandmarks :: Lens' FaceDetail [Landmark] fdLandmarks = lens _fdLandmarks (\ s a -> s{_fdLandmarks = a}) . _Default . _Coerce; @@ -598,8 +745,9 @@           = withObject "FaceDetail"               (\ x ->                  FaceDetail' <$>-                   (x .:? "Sunglasses") <*> (x .:? "MouthOpen") <*>-                     (x .:? "BoundingBox")+                   (x .:? "AgeRange") <*> (x .:? "Sunglasses") <*>+                     (x .:? "MouthOpen")+                     <*> (x .:? "BoundingBox")                      <*> (x .:? "Emotions" .!= mempty)                      <*> (x .:? "EyesOpen")                      <*> (x .:? "Pose")@@ -612,9 +760,9 @@                      <*> (x .:? "Smile")                      <*> (x .:? "Landmarks" .!= mempty)) -instance Hashable FaceDetail+instance Hashable FaceDetail where -instance NFData FaceDetail+instance NFData FaceDetail where  -- | Provides face metadata. In addition, it also provides the confidence in the match of this face with the input face. --@@ -622,30 +770,28 @@ -- -- /See:/ 'faceMatch' smart constructor. data FaceMatch = FaceMatch'-    { _fmSimilarity :: !(Maybe Double)-    , _fmFace       :: !(Maybe Face)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _fmSimilarity :: !(Maybe Double)+  , _fmFace       :: !(Maybe Face)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'FaceMatch' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'fmSimilarity' - Confidence in the match of this face with the input face. ----- * 'fmFace' - Undocumented member.+-- * 'fmFace' - Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned. faceMatch     :: FaceMatch-faceMatch =-    FaceMatch'-    { _fmSimilarity = Nothing-    , _fmFace = Nothing-    }+faceMatch = FaceMatch' {_fmSimilarity = Nothing, _fmFace = Nothing} + -- | Confidence in the match of this face with the input face. fmSimilarity :: Lens' FaceMatch (Maybe Double) fmSimilarity = lens _fmSimilarity (\ s a -> s{_fmSimilarity = a}); --- | Undocumented member.+-- | Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned. fmFace :: Lens' FaceMatch (Maybe Face) fmFace = lens _fmFace (\ s a -> s{_fmFace = a}); @@ -656,9 +802,9 @@                  FaceMatch' <$>                    (x .:? "Similarity") <*> (x .:? "Face")) -instance Hashable FaceMatch+instance Hashable FaceMatch where -instance NFData FaceMatch+instance NFData FaceMatch where  -- | Object containing both the face metadata (stored in the back-end database) and facial attributes that are detected but aren't stored in the database. --@@ -666,30 +812,28 @@ -- -- /See:/ 'faceRecord' smart constructor. data FaceRecord = FaceRecord'-    { _frFaceDetail :: !(Maybe FaceDetail)-    , _frFace       :: !(Maybe Face)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _frFaceDetail :: !(Maybe FaceDetail)+  , _frFace       :: !(Maybe Face)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'FaceRecord' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'frFaceDetail' - Undocumented member.+-- * 'frFaceDetail' - Structure containing attributes of the face that the algorithm detected. ----- * 'frFace' - Undocumented member.+-- * 'frFace' - Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned. faceRecord     :: FaceRecord-faceRecord =-    FaceRecord'-    { _frFaceDetail = Nothing-    , _frFace = Nothing-    }+faceRecord = FaceRecord' {_frFaceDetail = Nothing, _frFace = Nothing} --- | Undocumented member.++-- | Structure containing attributes of the face that the algorithm detected. frFaceDetail :: Lens' FaceRecord (Maybe FaceDetail) frFaceDetail = lens _frFaceDetail (\ s a -> s{_frFaceDetail = a}); --- | Undocumented member.+-- | Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned. frFace :: Lens' FaceRecord (Maybe Face) frFace = lens _frFace (\ s a -> s{_frFace = a}); @@ -700,9 +844,9 @@                  FaceRecord' <$>                    (x .:? "FaceDetail") <*> (x .:? "Face")) -instance Hashable FaceRecord+instance Hashable FaceRecord where -instance NFData FaceRecord+instance NFData FaceRecord where  -- | Gender of the face and the confidence level in the determination. --@@ -710,10 +854,11 @@ -- -- /See:/ 'gender' smart constructor. data Gender = Gender'-    { _gValue      :: !(Maybe GenderType)-    , _gConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gValue      :: !(Maybe GenderType)+  , _gConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Gender' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -723,12 +868,9 @@ -- * 'gConfidence' - Level of confidence in the determination. gender     :: Gender-gender =-    Gender'-    { _gValue = Nothing-    , _gConfidence = Nothing-    }+gender = Gender' {_gValue = Nothing, _gConfidence = Nothing} + -- | Gender of the face. gValue :: Lens' Gender (Maybe GenderType) gValue = lens _gValue (\ s a -> s{_gValue = a});@@ -743,20 +885,31 @@               (\ x ->                  Gender' <$> (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable Gender+instance Hashable Gender where -instance NFData Gender+instance NFData Gender where --- | Provides the source image either as bytes or an S3 object.+-- | Provides the input image either as bytes or an S3 object. -- --+-- You pass image bytes to a Rekognition API operation by using the @Bytes@ property. For example, you would use the @Bytes@ property to pass an image loaded from a local file system. Image bytes passed by using the @Bytes@ property must be base64-encoded. Your code may not need to encode image bytes if you are using an AWS SDK to call Rekognition API operations. For more information, see 'example4' . --+-- You pass images stored in an S3 bucket to a Rekognition API operation by using the @S3Object@ property. Images stored in an S3 bucket do not need to be base64-encoded.+--+-- The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.+--+-- If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes using the Bytes property is not supported. You must first upload the image to an Amazon S3 bucket and then call the operation using the S3Object property.+--+-- For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see 'manage-access-resource-policies' .+--+-- -- /See:/ 'image' smart constructor. data Image = Image'-    { _iS3Object :: !(Maybe S3Object)-    , _iBytes    :: !(Maybe Base64)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _iS3Object :: !(Maybe S3Object)+  , _iBytes    :: !(Maybe Base64)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Image' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -766,12 +919,9 @@ -- * 'iBytes' - Blob of image bytes up to 5 MBs.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data. image     :: Image-image =-    Image'-    { _iS3Object = Nothing-    , _iBytes = Nothing-    }+image = Image' {_iS3Object = Nothing, _iBytes = Nothing} + -- | Identifies an S3 object as the image source. iS3Object :: Lens' Image (Maybe S3Object) iS3Object = lens _iS3Object (\ s a -> s{_iS3Object = a});@@ -780,9 +930,9 @@ iBytes :: Lens' Image (Maybe ByteString) iBytes = lens _iBytes (\ s a -> s{_iBytes = a}) . mapping _Base64; -instance Hashable Image+instance Hashable Image where -instance NFData Image+instance NFData Image where  instance ToJSON Image where         toJSON Image'{..}@@ -791,36 +941,34 @@                  [("S3Object" .=) <$> _iS3Object,                   ("Bytes" .=) <$> _iBytes]) --- | Identifies image brightness and sharpness.+-- | Identifies face image brightness and sharpness. -- -- -- -- /See:/ 'imageQuality' smart constructor. data ImageQuality = ImageQuality'-    { _iqSharpness  :: !(Maybe Double)-    , _iqBrightness :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _iqSharpness  :: !(Maybe Double)+  , _iqBrightness :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ImageQuality' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'iqSharpness' - Value representing sharpness of the face.+-- * 'iqSharpness' - Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image. ----- * 'iqBrightness' - Value representing brightness of the face. The service returns a value between 0 and 1 (inclusive).+-- * 'iqBrightness' - Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image. imageQuality     :: ImageQuality-imageQuality =-    ImageQuality'-    { _iqSharpness = Nothing-    , _iqBrightness = Nothing-    }+imageQuality = ImageQuality' {_iqSharpness = Nothing, _iqBrightness = Nothing} --- | Value representing sharpness of the face.++-- | Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image. iqSharpness :: Lens' ImageQuality (Maybe Double) iqSharpness = lens _iqSharpness (\ s a -> s{_iqSharpness = a}); --- | Value representing brightness of the face. The service returns a value between 0 and 1 (inclusive).+-- | Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image. iqBrightness :: Lens' ImageQuality (Maybe Double) iqBrightness = lens _iqBrightness (\ s a -> s{_iqBrightness = a}); @@ -831,20 +979,21 @@                  ImageQuality' <$>                    (x .:? "Sharpness") <*> (x .:? "Brightness")) -instance Hashable ImageQuality+instance Hashable ImageQuality where -instance NFData ImageQuality+instance NFData ImageQuality where --- | Structure containing details about the detected label, including bounding box, name, and level of confidence.+-- | Structure containing details about the detected label, including name, and level of confidence. -- -- -- -- /See:/ 'label' smart constructor. data Label = Label'-    { _lConfidence :: !(Maybe Double)-    , _lName       :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lConfidence :: !(Maybe Double)+  , _lName       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Label' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -854,12 +1003,9 @@ -- * 'lName' - The name (label) of the object. label     :: Label-label =-    Label'-    { _lConfidence = Nothing-    , _lName = Nothing-    }+label = Label' {_lConfidence = Nothing, _lName = Nothing} + -- | Level of confidence. lConfidence :: Lens' Label (Maybe Double) lConfidence = lens _lConfidence (\ s a -> s{_lConfidence = a});@@ -874,9 +1020,9 @@               (\ x ->                  Label' <$> (x .:? "Confidence") <*> (x .:? "Name")) -instance Hashable Label+instance Hashable Label where -instance NFData Label+instance NFData Label where  -- | Indicates the location of the landmark on the face. --@@ -884,38 +1030,35 @@ -- -- /See:/ 'landmark' smart constructor. data Landmark = Landmark'-    { _lType :: !(Maybe LandmarkType)-    , _lX    :: !(Maybe Double)-    , _lY    :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lType :: !(Maybe LandmarkType)+  , _lX    :: !(Maybe Double)+  , _lY    :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Landmark' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lType' - Type of the landmark. ----- * 'lX' - x-coordinate from the top left of the landmark expressed as the ration of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, then this value is 0.5.+-- * 'lX' - x-coordinate from the top left of the landmark expressed as the ratio of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, this value is 0.5. ----- * 'lY' - y-coordinate from the top left of the landmark expressed as the ration of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, then this value is 0.5.+-- * 'lY' - y-coordinate from the top left of the landmark expressed as the ratio of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, this value is 0.5. landmark     :: Landmark-landmark =-    Landmark'-    { _lType = Nothing-    , _lX = Nothing-    , _lY = Nothing-    }+landmark = Landmark' {_lType = Nothing, _lX = Nothing, _lY = Nothing} + -- | Type of the landmark. lType :: Lens' Landmark (Maybe LandmarkType) lType = lens _lType (\ s a -> s{_lType = a}); --- | x-coordinate from the top left of the landmark expressed as the ration of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, then this value is 0.5.+-- | x-coordinate from the top left of the landmark expressed as the ratio of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, this value is 0.5. lX :: Lens' Landmark (Maybe Double) lX = lens _lX (\ s a -> s{_lX = a}); --- | y-coordinate from the top left of the landmark expressed as the ration of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, then this value is 0.5.+-- | y-coordinate from the top left of the landmark expressed as the ratio of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, this value is 0.5. lY :: Lens' Landmark (Maybe Double) lY = lens _lY (\ s a -> s{_lY = a}); @@ -926,20 +1069,73 @@                  Landmark' <$>                    (x .:? "Type") <*> (x .:? "X") <*> (x .:? "Y")) -instance Hashable Landmark+instance Hashable Landmark where -instance NFData Landmark+instance NFData Landmark where +-- | Provides information about a single type of moderated content found in an image. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see 'image-moderation' .+--+--+--+-- /See:/ 'moderationLabel' smart constructor.+data ModerationLabel = ModerationLabel'+  { _mlConfidence :: !(Maybe Double)+  , _mlName       :: !(Maybe Text)+  , _mlParentName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ModerationLabel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mlConfidence' - Specifies the confidence that Amazon Rekognition has that the label has been correctly identified. If you don't specify the @MinConfidence@ parameter in the call to @DetectModerationLabels@ , the operation returns labels with a confidence value greater than or equal to 50 percent.+--+-- * 'mlName' - The label name for the type of content detected in the image.+--+-- * 'mlParentName' - The name for the parent label. Labels at the top-level of the hierarchy have the parent label @""@ .+moderationLabel+    :: ModerationLabel+moderationLabel =+  ModerationLabel'+  {_mlConfidence = Nothing, _mlName = Nothing, _mlParentName = Nothing}+++-- | Specifies the confidence that Amazon Rekognition has that the label has been correctly identified. If you don't specify the @MinConfidence@ parameter in the call to @DetectModerationLabels@ , the operation returns labels with a confidence value greater than or equal to 50 percent.+mlConfidence :: Lens' ModerationLabel (Maybe Double)+mlConfidence = lens _mlConfidence (\ s a -> s{_mlConfidence = a});++-- | The label name for the type of content detected in the image.+mlName :: Lens' ModerationLabel (Maybe Text)+mlName = lens _mlName (\ s a -> s{_mlName = a});++-- | The name for the parent label. Labels at the top-level of the hierarchy have the parent label @""@ .+mlParentName :: Lens' ModerationLabel (Maybe Text)+mlParentName = lens _mlParentName (\ s a -> s{_mlParentName = a});++instance FromJSON ModerationLabel where+        parseJSON+          = withObject "ModerationLabel"+              (\ x ->+                 ModerationLabel' <$>+                   (x .:? "Confidence") <*> (x .:? "Name") <*>+                     (x .:? "ParentName"))++instance Hashable ModerationLabel where++instance NFData ModerationLabel where+ -- | Indicates whether or not the mouth on the face is open, and the confidence level in the determination. -- -- -- -- /See:/ 'mouthOpen' smart constructor. data MouthOpen = MouthOpen'-    { _moValue      :: !(Maybe Bool)-    , _moConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _moValue      :: !(Maybe Bool)+  , _moConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'MouthOpen' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -949,12 +1145,9 @@ -- * 'moConfidence' - Level of confidence in the determination. mouthOpen     :: MouthOpen-mouthOpen =-    MouthOpen'-    { _moValue = Nothing-    , _moConfidence = Nothing-    }+mouthOpen = MouthOpen' {_moValue = Nothing, _moConfidence = Nothing} + -- | Boolean value that indicates whether the mouth on the face is open or not. moValue :: Lens' MouthOpen (Maybe Bool) moValue = lens _moValue (\ s a -> s{_moValue = a});@@ -970,9 +1163,9 @@                  MouthOpen' <$>                    (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable MouthOpen+instance Hashable MouthOpen where -instance NFData MouthOpen+instance NFData MouthOpen where  -- | Indicates whether or not the face has a mustache, and the confidence level in the determination. --@@ -980,10 +1173,11 @@ -- -- /See:/ 'mustache' smart constructor. data Mustache = Mustache'-    { _mValue      :: !(Maybe Bool)-    , _mConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mValue      :: !(Maybe Bool)+  , _mConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Mustache' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -993,12 +1187,9 @@ -- * 'mConfidence' - Level of confidence in the determination. mustache     :: Mustache-mustache =-    Mustache'-    { _mValue = Nothing-    , _mConfidence = Nothing-    }+mustache = Mustache' {_mValue = Nothing, _mConfidence = Nothing} + -- | Boolean value that indicates whether the face has mustache or not. mValue :: Lens' Mustache (Maybe Bool) mValue = lens _mValue (\ s a -> s{_mValue = a});@@ -1014,21 +1205,22 @@                  Mustache' <$>                    (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable Mustache+instance Hashable Mustache where -instance NFData Mustache+instance NFData Mustache where --- | Indicates the pose of the face as determined by pitch, roll, and the yaw.+-- | Indicates the pose of the face as determined by its pitch, roll, and yaw. -- -- -- -- /See:/ 'pose' smart constructor. data Pose = Pose'-    { _pYaw   :: !(Maybe Double)-    , _pRoll  :: !(Maybe Double)-    , _pPitch :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _pYaw   :: !(Maybe Double)+  , _pRoll  :: !(Maybe Double)+  , _pPitch :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Pose' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -1040,13 +1232,9 @@ -- * 'pPitch' - Value representing the face rotation on the pitch axis. pose     :: Pose-pose =-    Pose'-    { _pYaw = Nothing-    , _pRoll = Nothing-    , _pPitch = Nothing-    }+pose = Pose' {_pYaw = Nothing, _pRoll = Nothing, _pPitch = Nothing} + -- | Value representing the face rotation on the yaw axis. pYaw :: Lens' Pose (Maybe Double) pYaw = lens _pYaw (\ s a -> s{_pYaw = a});@@ -1066,21 +1254,26 @@                  Pose' <$>                    (x .:? "Yaw") <*> (x .:? "Roll") <*> (x .:? "Pitch")) -instance Hashable Pose+instance Hashable Pose where -instance NFData Pose+instance NFData Pose where  -- | Provides the S3 bucket name and object name. -- --+-- The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations. --+-- For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see 'manage-access-resource-policies' .+--+-- -- /See:/ 's3Object' smart constructor. data S3Object = S3Object'-    { _soBucket  :: !(Maybe Text)-    , _soName    :: !(Maybe Text)-    , _soVersion :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _soBucket  :: !(Maybe Text)+  , _soName    :: !(Maybe Text)+  , _soVersion :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'S3Object' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -1093,12 +1286,9 @@ s3Object     :: S3Object s3Object =-    S3Object'-    { _soBucket = Nothing-    , _soName = Nothing-    , _soVersion = Nothing-    }+  S3Object' {_soBucket = Nothing, _soName = Nothing, _soVersion = Nothing} + -- | Name of the S3 bucket. soBucket :: Lens' S3Object (Maybe Text) soBucket = lens _soBucket (\ s a -> s{_soBucket = a});@@ -1111,9 +1301,9 @@ soVersion :: Lens' S3Object (Maybe Text) soVersion = lens _soVersion (\ s a -> s{_soVersion = a}); -instance Hashable S3Object+instance Hashable S3Object where -instance NFData S3Object+instance NFData S3Object where  instance ToJSON S3Object where         toJSON S3Object'{..}@@ -1129,10 +1319,11 @@ -- -- /See:/ 'smile' smart constructor. data Smile = Smile'-    { _smiValue      :: !(Maybe Bool)-    , _smiConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _smiValue      :: !(Maybe Bool)+  , _smiConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Smile' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -1142,12 +1333,9 @@ -- * 'smiConfidence' - Level of confidence in the determination. smile     :: Smile-smile =-    Smile'-    { _smiValue = Nothing-    , _smiConfidence = Nothing-    }+smile = Smile' {_smiValue = Nothing, _smiConfidence = Nothing} + -- | Boolean value that indicates whether the face is smiling or not. smiValue :: Lens' Smile (Maybe Bool) smiValue = lens _smiValue (\ s a -> s{_smiValue = a});@@ -1162,9 +1350,9 @@               (\ x ->                  Smile' <$> (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable Smile+instance Hashable Smile where -instance NFData Smile+instance NFData Smile where  -- | Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination. --@@ -1172,10 +1360,11 @@ -- -- /See:/ 'sunglasses' smart constructor. data Sunglasses = Sunglasses'-    { _sValue      :: !(Maybe Bool)-    , _sConfidence :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sValue      :: !(Maybe Bool)+  , _sConfidence :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Sunglasses' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -1185,12 +1374,9 @@ -- * 'sConfidence' - Level of confidence in the determination. sunglasses     :: Sunglasses-sunglasses =-    Sunglasses'-    { _sValue = Nothing-    , _sConfidence = Nothing-    }+sunglasses = Sunglasses' {_sValue = Nothing, _sConfidence = Nothing} + -- | Boolean value that indicates whether the face is wearing sunglasses or not. sValue :: Lens' Sunglasses (Maybe Bool) sValue = lens _sValue (\ s a -> s{_sValue = a});@@ -1206,6 +1392,6 @@                  Sunglasses' <$>                    (x .:? "Value") <*> (x .:? "Confidence")) -instance Hashable Sunglasses+instance Hashable Sunglasses where -instance NFData Sunglasses+instance NFData Sunglasses where
gen/Network/AWS/Rekognition/Types/Sum.hs view
@@ -9,21 +9,22 @@  -- | -- Module      : Network.AWS.Rekognition.Types.Sum--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Rekognition.Types.Sum where -import           Network.AWS.Prelude+import Network.AWS.Prelude  data Attribute-    = All-    | Default-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = All+  | Default+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText Attribute where     parser = takeLowerText >>= \case         "all" -> pure All@@ -46,16 +47,17 @@     toJSON = toJSONText  data EmotionName-    = Angry-    | Calm-    | Confused-    | Disgusted-    | Happy-    | Sad-    | Surprised-    | Unknown-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Angry+  | Calm+  | Confused+  | Disgusted+  | Happy+  | Sad+  | Surprised+  | Unknown+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText EmotionName where     parser = takeLowerText >>= \case         "angry" -> pure Angry@@ -90,10 +92,11 @@     parseJSON = parseJSONText "EmotionName"  data GenderType-    = Female-    | Male-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Female+  | Male+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText GenderType where     parser = takeLowerText >>= \case         "female" -> pure Female@@ -103,8 +106,8 @@  instance ToText GenderType where     toText = \case-        Female -> "FEMALE"-        Male -> "MALE"+        Female -> "Female"+        Male -> "Male"  instance Hashable     GenderType instance NFData       GenderType@@ -116,90 +119,91 @@     parseJSON = parseJSONText "GenderType"  data LandmarkType-    = EyeLeft-    | EyeRight-    | LeftEyeDown-    | LeftEyeLeft-    | LeftEyeRight-    | LeftEyeUp-    | LeftEyebrowLeft-    | LeftEyebrowRight-    | LeftEyebrowUp-    | LeftPupil-    | MouthDown-    | MouthLeft-    | MouthRight-    | MouthUp-    | Nose-    | NoseLeft-    | NoseRight-    | RightEyeDown-    | RightEyeLeft-    | RightEyeRight-    | RightEyeUp-    | RightEyebrowLeft-    | RightEyebrowRight-    | RightEyebrowUp-    | RightPupil-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = EyeLeft+  | EyeRight+  | LeftEyeBrowLeft+  | LeftEyeBrowRight+  | LeftEyeBrowUp+  | LeftEyeDown+  | LeftEyeLeft+  | LeftEyeRight+  | LeftEyeUp+  | LeftPupil+  | MouthDown+  | MouthLeft+  | MouthRight+  | MouthUp+  | Nose+  | NoseLeft+  | NoseRight+  | RightEyeBrowLeft+  | RightEyeBrowRight+  | RightEyeBrowUp+  | RightEyeDown+  | RightEyeLeft+  | RightEyeRight+  | RightEyeUp+  | RightPupil+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText LandmarkType where     parser = takeLowerText >>= \case-        "eye_left" -> pure EyeLeft-        "eye_right" -> pure EyeRight-        "left_eye_down" -> pure LeftEyeDown-        "left_eye_left" -> pure LeftEyeLeft-        "left_eye_right" -> pure LeftEyeRight-        "left_eye_up" -> pure LeftEyeUp-        "left_eyebrow_left" -> pure LeftEyebrowLeft-        "left_eyebrow_right" -> pure LeftEyebrowRight-        "left_eyebrow_up" -> pure LeftEyebrowUp-        "left_pupil" -> pure LeftPupil-        "mouth_down" -> pure MouthDown-        "mouth_left" -> pure MouthLeft-        "mouth_right" -> pure MouthRight-        "mouth_up" -> pure MouthUp+        "eyeleft" -> pure EyeLeft+        "eyeright" -> pure EyeRight+        "lefteyebrowleft" -> pure LeftEyeBrowLeft+        "lefteyebrowright" -> pure LeftEyeBrowRight+        "lefteyebrowup" -> pure LeftEyeBrowUp+        "lefteyedown" -> pure LeftEyeDown+        "lefteyeleft" -> pure LeftEyeLeft+        "lefteyeright" -> pure LeftEyeRight+        "lefteyeup" -> pure LeftEyeUp+        "leftpupil" -> pure LeftPupil+        "mouthdown" -> pure MouthDown+        "mouthleft" -> pure MouthLeft+        "mouthright" -> pure MouthRight+        "mouthup" -> pure MouthUp         "nose" -> pure Nose-        "nose_left" -> pure NoseLeft-        "nose_right" -> pure NoseRight-        "right_eye_down" -> pure RightEyeDown-        "right_eye_left" -> pure RightEyeLeft-        "right_eye_right" -> pure RightEyeRight-        "right_eye_up" -> pure RightEyeUp-        "right_eyebrow_left" -> pure RightEyebrowLeft-        "right_eyebrow_right" -> pure RightEyebrowRight-        "right_eyebrow_up" -> pure RightEyebrowUp-        "right_pupil" -> pure RightPupil+        "noseleft" -> pure NoseLeft+        "noseright" -> pure NoseRight+        "righteyebrowleft" -> pure RightEyeBrowLeft+        "righteyebrowright" -> pure RightEyeBrowRight+        "righteyebrowup" -> pure RightEyeBrowUp+        "righteyedown" -> pure RightEyeDown+        "righteyeleft" -> pure RightEyeLeft+        "righteyeright" -> pure RightEyeRight+        "righteyeup" -> pure RightEyeUp+        "rightpupil" -> pure RightPupil         e -> fromTextError $ "Failure parsing LandmarkType from value: '" <> e-           <> "'. Accepted values: eye_left, eye_right, left_eye_down, left_eye_left, left_eye_right, left_eye_up, left_eyebrow_left, left_eyebrow_right, left_eyebrow_up, left_pupil, mouth_down, mouth_left, mouth_right, mouth_up, nose, nose_left, nose_right, right_eye_down, right_eye_left, right_eye_right, right_eye_up, right_eyebrow_left, right_eyebrow_right, right_eyebrow_up, right_pupil"+           <> "'. Accepted values: eyeleft, eyeright, lefteyebrowleft, lefteyebrowright, lefteyebrowup, lefteyedown, lefteyeleft, lefteyeright, lefteyeup, leftpupil, mouthdown, mouthleft, mouthright, mouthup, nose, noseleft, noseright, righteyebrowleft, righteyebrowright, righteyebrowup, righteyedown, righteyeleft, righteyeright, righteyeup, rightpupil"  instance ToText LandmarkType where     toText = \case-        EyeLeft -> "EYE_LEFT"-        EyeRight -> "EYE_RIGHT"-        LeftEyeDown -> "LEFT_EYE_DOWN"-        LeftEyeLeft -> "LEFT_EYE_LEFT"-        LeftEyeRight -> "LEFT_EYE_RIGHT"-        LeftEyeUp -> "LEFT_EYE_UP"-        LeftEyebrowLeft -> "LEFT_EYEBROW_LEFT"-        LeftEyebrowRight -> "LEFT_EYEBROW_RIGHT"-        LeftEyebrowUp -> "LEFT_EYEBROW_UP"-        LeftPupil -> "LEFT_PUPIL"-        MouthDown -> "MOUTH_DOWN"-        MouthLeft -> "MOUTH_LEFT"-        MouthRight -> "MOUTH_RIGHT"-        MouthUp -> "MOUTH_UP"-        Nose -> "NOSE"-        NoseLeft -> "NOSE_LEFT"-        NoseRight -> "NOSE_RIGHT"-        RightEyeDown -> "RIGHT_EYE_DOWN"-        RightEyeLeft -> "RIGHT_EYE_LEFT"-        RightEyeRight -> "RIGHT_EYE_RIGHT"-        RightEyeUp -> "RIGHT_EYE_UP"-        RightEyebrowLeft -> "RIGHT_EYEBROW_LEFT"-        RightEyebrowRight -> "RIGHT_EYEBROW_RIGHT"-        RightEyebrowUp -> "RIGHT_EYEBROW_UP"-        RightPupil -> "RIGHT_PUPIL"+        EyeLeft -> "eyeLeft"+        EyeRight -> "eyeRight"+        LeftEyeBrowLeft -> "leftEyeBrowLeft"+        LeftEyeBrowRight -> "leftEyeBrowRight"+        LeftEyeBrowUp -> "leftEyeBrowUp"+        LeftEyeDown -> "leftEyeDown"+        LeftEyeLeft -> "leftEyeLeft"+        LeftEyeRight -> "leftEyeRight"+        LeftEyeUp -> "leftEyeUp"+        LeftPupil -> "leftPupil"+        MouthDown -> "mouthDown"+        MouthLeft -> "mouthLeft"+        MouthRight -> "mouthRight"+        MouthUp -> "mouthUp"+        Nose -> "nose"+        NoseLeft -> "noseLeft"+        NoseRight -> "noseRight"+        RightEyeBrowLeft -> "rightEyeBrowLeft"+        RightEyeBrowRight -> "rightEyeBrowRight"+        RightEyeBrowUp -> "rightEyeBrowUp"+        RightEyeDown -> "rightEyeDown"+        RightEyeLeft -> "rightEyeLeft"+        RightEyeRight -> "rightEyeRight"+        RightEyeUp -> "rightEyeUp"+        RightPupil -> "rightPupil"  instance Hashable     LandmarkType instance NFData       LandmarkType@@ -211,11 +215,12 @@     parseJSON = parseJSONText "LandmarkType"  data OrientationCorrection-    = Rotate0-    | Rotate180-    | Rotate270-    | Rotate90-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Rotate0+  | Rotate180+  | Rotate270+  | Rotate90+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+  instance FromText OrientationCorrection where     parser = takeLowerText >>= \case
gen/Network/AWS/Rekognition/Waiters.hs view
@@ -7,15 +7,15 @@  -- | -- Module      : Network.AWS.Rekognition.Waiters--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Rekognition.Waiters where -import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Rekognition.Types-import           Network.AWS.Waiter+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Rekognition.Types+import Network.AWS.Waiter
test/Main.hs view
@@ -2,9 +2,9 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --
test/Test/AWS/Gen/Rekognition.hs view
@@ -5,20 +5,20 @@  -- | -- Module      : Test.AWS.Gen.Rekognition--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Test.AWS.Gen.Rekognition where  import Data.Proxy+import Network.AWS.Rekognition import Test.AWS.Fixture import Test.AWS.Prelude-import Test.Tasty-import Network.AWS.Rekognition import Test.AWS.Rekognition.Internal+import Test.Tasty  -- Auto-generated: the actual test selection needs to be manually placed into -- the top-level so that real test data can be incrementally added.@@ -43,6 +43,9 @@ --         , requestSearchFacesByImage $ --             searchFacesByImage --+--         , requestRecognizeCelebrities $+--             recognizeCelebrities+-- --         , requestSearchFaces $ --             searchFaces --@@ -61,6 +64,12 @@ --         , requestDeleteFaces $ --             deleteFaces --+--         , requestGetCelebrityInfo $+--             getCelebrityInfo+--+--         , requestDetectModerationLabels $+--             detectModerationLabels+-- --           ]  --     , testGroup "response"@@ -79,6 +88,9 @@ --         , responseSearchFacesByImage $ --             searchFacesByImageResponse --+--         , responseRecognizeCelebrities $+--             recognizeCelebritiesResponse+-- --         , responseSearchFaces $ --             searchFacesResponse --@@ -97,6 +109,12 @@ --         , responseDeleteFaces $ --             deleteFacesResponse --+--         , responseGetCelebrityInfo $+--             getCelebrityInfoResponse+--+--         , responseDetectModerationLabels $+--             detectModerationLabelsResponse+-- --           ] --     ] @@ -127,6 +145,11 @@     "SearchFacesByImage"     "fixture/SearchFacesByImage.yaml" +requestRecognizeCelebrities :: RecognizeCelebrities -> TestTree+requestRecognizeCelebrities = req+    "RecognizeCelebrities"+    "fixture/RecognizeCelebrities.yaml"+ requestSearchFaces :: SearchFaces -> TestTree requestSearchFaces = req     "SearchFaces"@@ -157,6 +180,16 @@     "DeleteFaces"     "fixture/DeleteFaces.yaml" +requestGetCelebrityInfo :: GetCelebrityInfo -> TestTree+requestGetCelebrityInfo = req+    "GetCelebrityInfo"+    "fixture/GetCelebrityInfo.yaml"++requestDetectModerationLabels :: DetectModerationLabels -> TestTree+requestDetectModerationLabels = req+    "DetectModerationLabels"+    "fixture/DetectModerationLabels.yaml"+ -- Responses  responseListCollections :: ListCollectionsResponse -> TestTree@@ -194,6 +227,13 @@     rekognition     (Proxy :: Proxy SearchFacesByImage) +responseRecognizeCelebrities :: RecognizeCelebritiesResponse -> TestTree+responseRecognizeCelebrities = res+    "RecognizeCelebritiesResponse"+    "fixture/RecognizeCelebritiesResponse.proto"+    rekognition+    (Proxy :: Proxy RecognizeCelebrities)+ responseSearchFaces :: SearchFacesResponse -> TestTree responseSearchFaces = res     "SearchFacesResponse"@@ -235,3 +275,17 @@     "fixture/DeleteFacesResponse.proto"     rekognition     (Proxy :: Proxy DeleteFaces)++responseGetCelebrityInfo :: GetCelebrityInfoResponse -> TestTree+responseGetCelebrityInfo = res+    "GetCelebrityInfoResponse"+    "fixture/GetCelebrityInfoResponse.proto"+    rekognition+    (Proxy :: Proxy GetCelebrityInfo)++responseDetectModerationLabels :: DetectModerationLabelsResponse -> TestTree+responseDetectModerationLabels = res+    "DetectModerationLabelsResponse"+    "fixture/DetectModerationLabelsResponse.proto"+    rekognition+    (Proxy :: Proxy DetectModerationLabels)