{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Rekognition.DeleteProjectPolicy
(
DeleteProjectPolicy (..),
newDeleteProjectPolicy,
deleteProjectPolicy_policyRevisionId,
deleteProjectPolicy_projectArn,
deleteProjectPolicy_policyName,
DeleteProjectPolicyResponse (..),
newDeleteProjectPolicyResponse,
deleteProjectPolicyResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.Rekognition.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteProjectPolicy = DeleteProjectPolicy'
{
DeleteProjectPolicy -> Maybe Text
policyRevisionId :: Prelude.Maybe Prelude.Text,
DeleteProjectPolicy -> Text
projectArn :: Prelude.Text,
DeleteProjectPolicy -> Text
policyName :: Prelude.Text
}
deriving (DeleteProjectPolicy -> DeleteProjectPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteProjectPolicy -> DeleteProjectPolicy -> Bool
$c/= :: DeleteProjectPolicy -> DeleteProjectPolicy -> Bool
== :: DeleteProjectPolicy -> DeleteProjectPolicy -> Bool
$c== :: DeleteProjectPolicy -> DeleteProjectPolicy -> Bool
Prelude.Eq, ReadPrec [DeleteProjectPolicy]
ReadPrec DeleteProjectPolicy
Int -> ReadS DeleteProjectPolicy
ReadS [DeleteProjectPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteProjectPolicy]
$creadListPrec :: ReadPrec [DeleteProjectPolicy]
readPrec :: ReadPrec DeleteProjectPolicy
$creadPrec :: ReadPrec DeleteProjectPolicy
readList :: ReadS [DeleteProjectPolicy]
$creadList :: ReadS [DeleteProjectPolicy]
readsPrec :: Int -> ReadS DeleteProjectPolicy
$creadsPrec :: Int -> ReadS DeleteProjectPolicy
Prelude.Read, Int -> DeleteProjectPolicy -> ShowS
[DeleteProjectPolicy] -> ShowS
DeleteProjectPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteProjectPolicy] -> ShowS
$cshowList :: [DeleteProjectPolicy] -> ShowS
show :: DeleteProjectPolicy -> String
$cshow :: DeleteProjectPolicy -> String
showsPrec :: Int -> DeleteProjectPolicy -> ShowS
$cshowsPrec :: Int -> DeleteProjectPolicy -> ShowS
Prelude.Show, forall x. Rep DeleteProjectPolicy x -> DeleteProjectPolicy
forall x. DeleteProjectPolicy -> Rep DeleteProjectPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteProjectPolicy x -> DeleteProjectPolicy
$cfrom :: forall x. DeleteProjectPolicy -> Rep DeleteProjectPolicy x
Prelude.Generic)
newDeleteProjectPolicy ::
Prelude.Text ->
Prelude.Text ->
DeleteProjectPolicy
newDeleteProjectPolicy :: Text -> Text -> DeleteProjectPolicy
newDeleteProjectPolicy Text
pProjectArn_ Text
pPolicyName_ =
DeleteProjectPolicy'
{ $sel:policyRevisionId:DeleteProjectPolicy' :: Maybe Text
policyRevisionId =
forall a. Maybe a
Prelude.Nothing,
$sel:projectArn:DeleteProjectPolicy' :: Text
projectArn = Text
pProjectArn_,
$sel:policyName:DeleteProjectPolicy' :: Text
policyName = Text
pPolicyName_
}
deleteProjectPolicy_policyRevisionId :: Lens.Lens' DeleteProjectPolicy (Prelude.Maybe Prelude.Text)
deleteProjectPolicy_policyRevisionId :: Lens' DeleteProjectPolicy (Maybe Text)
deleteProjectPolicy_policyRevisionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteProjectPolicy' {Maybe Text
policyRevisionId :: Maybe Text
$sel:policyRevisionId:DeleteProjectPolicy' :: DeleteProjectPolicy -> Maybe Text
policyRevisionId} -> Maybe Text
policyRevisionId) (\s :: DeleteProjectPolicy
s@DeleteProjectPolicy' {} Maybe Text
a -> DeleteProjectPolicy
s {$sel:policyRevisionId:DeleteProjectPolicy' :: Maybe Text
policyRevisionId = Maybe Text
a} :: DeleteProjectPolicy)
deleteProjectPolicy_projectArn :: Lens.Lens' DeleteProjectPolicy Prelude.Text
deleteProjectPolicy_projectArn :: Lens' DeleteProjectPolicy Text
deleteProjectPolicy_projectArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteProjectPolicy' {Text
projectArn :: Text
$sel:projectArn:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
projectArn} -> Text
projectArn) (\s :: DeleteProjectPolicy
s@DeleteProjectPolicy' {} Text
a -> DeleteProjectPolicy
s {$sel:projectArn:DeleteProjectPolicy' :: Text
projectArn = Text
a} :: DeleteProjectPolicy)
deleteProjectPolicy_policyName :: Lens.Lens' DeleteProjectPolicy Prelude.Text
deleteProjectPolicy_policyName :: Lens' DeleteProjectPolicy Text
deleteProjectPolicy_policyName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteProjectPolicy' {Text
policyName :: Text
$sel:policyName:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
policyName} -> Text
policyName) (\s :: DeleteProjectPolicy
s@DeleteProjectPolicy' {} Text
a -> DeleteProjectPolicy
s {$sel:policyName:DeleteProjectPolicy' :: Text
policyName = Text
a} :: DeleteProjectPolicy)
instance Core.AWSRequest DeleteProjectPolicy where
type
AWSResponse DeleteProjectPolicy =
DeleteProjectPolicyResponse
request :: (Service -> Service)
-> DeleteProjectPolicy -> Request DeleteProjectPolicy
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteProjectPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteProjectPolicy)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeleteProjectPolicyResponse
DeleteProjectPolicyResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable DeleteProjectPolicy where
hashWithSalt :: Int -> DeleteProjectPolicy -> Int
hashWithSalt Int
_salt DeleteProjectPolicy' {Maybe Text
Text
policyName :: Text
projectArn :: Text
policyRevisionId :: Maybe Text
$sel:policyName:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
$sel:projectArn:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
$sel:policyRevisionId:DeleteProjectPolicy' :: DeleteProjectPolicy -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
policyRevisionId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
projectArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
policyName
instance Prelude.NFData DeleteProjectPolicy where
rnf :: DeleteProjectPolicy -> ()
rnf DeleteProjectPolicy' {Maybe Text
Text
policyName :: Text
projectArn :: Text
policyRevisionId :: Maybe Text
$sel:policyName:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
$sel:projectArn:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
$sel:policyRevisionId:DeleteProjectPolicy' :: DeleteProjectPolicy -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
policyRevisionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
projectArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
policyName
instance Data.ToHeaders DeleteProjectPolicy where
toHeaders :: DeleteProjectPolicy -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"RekognitionService.DeleteProjectPolicy" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteProjectPolicy where
toJSON :: DeleteProjectPolicy -> Value
toJSON DeleteProjectPolicy' {Maybe Text
Text
policyName :: Text
projectArn :: Text
policyRevisionId :: Maybe Text
$sel:policyName:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
$sel:projectArn:DeleteProjectPolicy' :: DeleteProjectPolicy -> Text
$sel:policyRevisionId:DeleteProjectPolicy' :: DeleteProjectPolicy -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"PolicyRevisionId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
policyRevisionId,
forall a. a -> Maybe a
Prelude.Just (Key
"ProjectArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
projectArn),
forall a. a -> Maybe a
Prelude.Just (Key
"PolicyName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
policyName)
]
)
instance Data.ToPath DeleteProjectPolicy where
toPath :: DeleteProjectPolicy -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteProjectPolicy where
toQuery :: DeleteProjectPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteProjectPolicyResponse = DeleteProjectPolicyResponse'
{
DeleteProjectPolicyResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteProjectPolicyResponse -> DeleteProjectPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteProjectPolicyResponse -> DeleteProjectPolicyResponse -> Bool
$c/= :: DeleteProjectPolicyResponse -> DeleteProjectPolicyResponse -> Bool
== :: DeleteProjectPolicyResponse -> DeleteProjectPolicyResponse -> Bool
$c== :: DeleteProjectPolicyResponse -> DeleteProjectPolicyResponse -> Bool
Prelude.Eq, ReadPrec [DeleteProjectPolicyResponse]
ReadPrec DeleteProjectPolicyResponse
Int -> ReadS DeleteProjectPolicyResponse
ReadS [DeleteProjectPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteProjectPolicyResponse]
$creadListPrec :: ReadPrec [DeleteProjectPolicyResponse]
readPrec :: ReadPrec DeleteProjectPolicyResponse
$creadPrec :: ReadPrec DeleteProjectPolicyResponse
readList :: ReadS [DeleteProjectPolicyResponse]
$creadList :: ReadS [DeleteProjectPolicyResponse]
readsPrec :: Int -> ReadS DeleteProjectPolicyResponse
$creadsPrec :: Int -> ReadS DeleteProjectPolicyResponse
Prelude.Read, Int -> DeleteProjectPolicyResponse -> ShowS
[DeleteProjectPolicyResponse] -> ShowS
DeleteProjectPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteProjectPolicyResponse] -> ShowS
$cshowList :: [DeleteProjectPolicyResponse] -> ShowS
show :: DeleteProjectPolicyResponse -> String
$cshow :: DeleteProjectPolicyResponse -> String
showsPrec :: Int -> DeleteProjectPolicyResponse -> ShowS
$cshowsPrec :: Int -> DeleteProjectPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteProjectPolicyResponse x -> DeleteProjectPolicyResponse
forall x.
DeleteProjectPolicyResponse -> Rep DeleteProjectPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteProjectPolicyResponse x -> DeleteProjectPolicyResponse
$cfrom :: forall x.
DeleteProjectPolicyResponse -> Rep DeleteProjectPolicyResponse x
Prelude.Generic)
newDeleteProjectPolicyResponse ::
Prelude.Int ->
DeleteProjectPolicyResponse
newDeleteProjectPolicyResponse :: Int -> DeleteProjectPolicyResponse
newDeleteProjectPolicyResponse Int
pHttpStatus_ =
DeleteProjectPolicyResponse'
{ $sel:httpStatus:DeleteProjectPolicyResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
deleteProjectPolicyResponse_httpStatus :: Lens.Lens' DeleteProjectPolicyResponse Prelude.Int
deleteProjectPolicyResponse_httpStatus :: Lens' DeleteProjectPolicyResponse Int
deleteProjectPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteProjectPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteProjectPolicyResponse' :: DeleteProjectPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteProjectPolicyResponse
s@DeleteProjectPolicyResponse' {} Int
a -> DeleteProjectPolicyResponse
s {$sel:httpStatus:DeleteProjectPolicyResponse' :: Int
httpStatus = Int
a} :: DeleteProjectPolicyResponse)
instance Prelude.NFData DeleteProjectPolicyResponse where
rnf :: DeleteProjectPolicyResponse -> ()
rnf DeleteProjectPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteProjectPolicyResponse' :: DeleteProjectPolicyResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus