{-# 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.LexV2Models.DeleteResourcePolicyStatement
(
DeleteResourcePolicyStatement (..),
newDeleteResourcePolicyStatement,
deleteResourcePolicyStatement_expectedRevisionId,
deleteResourcePolicyStatement_resourceArn,
deleteResourcePolicyStatement_statementId,
DeleteResourcePolicyStatementResponse (..),
newDeleteResourcePolicyStatementResponse,
deleteResourcePolicyStatementResponse_resourceArn,
deleteResourcePolicyStatementResponse_revisionId,
deleteResourcePolicyStatementResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LexV2Models.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteResourcePolicyStatement = DeleteResourcePolicyStatement'
{
DeleteResourcePolicyStatement -> Maybe Text
expectedRevisionId :: Prelude.Maybe Prelude.Text,
DeleteResourcePolicyStatement -> Text
resourceArn :: Prelude.Text,
DeleteResourcePolicyStatement -> Text
statementId :: Prelude.Text
}
deriving (DeleteResourcePolicyStatement
-> DeleteResourcePolicyStatement -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteResourcePolicyStatement
-> DeleteResourcePolicyStatement -> Bool
$c/= :: DeleteResourcePolicyStatement
-> DeleteResourcePolicyStatement -> Bool
== :: DeleteResourcePolicyStatement
-> DeleteResourcePolicyStatement -> Bool
$c== :: DeleteResourcePolicyStatement
-> DeleteResourcePolicyStatement -> Bool
Prelude.Eq, ReadPrec [DeleteResourcePolicyStatement]
ReadPrec DeleteResourcePolicyStatement
Int -> ReadS DeleteResourcePolicyStatement
ReadS [DeleteResourcePolicyStatement]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteResourcePolicyStatement]
$creadListPrec :: ReadPrec [DeleteResourcePolicyStatement]
readPrec :: ReadPrec DeleteResourcePolicyStatement
$creadPrec :: ReadPrec DeleteResourcePolicyStatement
readList :: ReadS [DeleteResourcePolicyStatement]
$creadList :: ReadS [DeleteResourcePolicyStatement]
readsPrec :: Int -> ReadS DeleteResourcePolicyStatement
$creadsPrec :: Int -> ReadS DeleteResourcePolicyStatement
Prelude.Read, Int -> DeleteResourcePolicyStatement -> ShowS
[DeleteResourcePolicyStatement] -> ShowS
DeleteResourcePolicyStatement -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteResourcePolicyStatement] -> ShowS
$cshowList :: [DeleteResourcePolicyStatement] -> ShowS
show :: DeleteResourcePolicyStatement -> String
$cshow :: DeleteResourcePolicyStatement -> String
showsPrec :: Int -> DeleteResourcePolicyStatement -> ShowS
$cshowsPrec :: Int -> DeleteResourcePolicyStatement -> ShowS
Prelude.Show, forall x.
Rep DeleteResourcePolicyStatement x
-> DeleteResourcePolicyStatement
forall x.
DeleteResourcePolicyStatement
-> Rep DeleteResourcePolicyStatement x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteResourcePolicyStatement x
-> DeleteResourcePolicyStatement
$cfrom :: forall x.
DeleteResourcePolicyStatement
-> Rep DeleteResourcePolicyStatement x
Prelude.Generic)
newDeleteResourcePolicyStatement ::
Prelude.Text ->
Prelude.Text ->
DeleteResourcePolicyStatement
newDeleteResourcePolicyStatement :: Text -> Text -> DeleteResourcePolicyStatement
newDeleteResourcePolicyStatement
Text
pResourceArn_
Text
pStatementId_ =
DeleteResourcePolicyStatement'
{ $sel:expectedRevisionId:DeleteResourcePolicyStatement' :: Maybe Text
expectedRevisionId =
forall a. Maybe a
Prelude.Nothing,
$sel:resourceArn:DeleteResourcePolicyStatement' :: Text
resourceArn = Text
pResourceArn_,
$sel:statementId:DeleteResourcePolicyStatement' :: Text
statementId = Text
pStatementId_
}
deleteResourcePolicyStatement_expectedRevisionId :: Lens.Lens' DeleteResourcePolicyStatement (Prelude.Maybe Prelude.Text)
deleteResourcePolicyStatement_expectedRevisionId :: Lens' DeleteResourcePolicyStatement (Maybe Text)
deleteResourcePolicyStatement_expectedRevisionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourcePolicyStatement' {Maybe Text
expectedRevisionId :: Maybe Text
$sel:expectedRevisionId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Maybe Text
expectedRevisionId} -> Maybe Text
expectedRevisionId) (\s :: DeleteResourcePolicyStatement
s@DeleteResourcePolicyStatement' {} Maybe Text
a -> DeleteResourcePolicyStatement
s {$sel:expectedRevisionId:DeleteResourcePolicyStatement' :: Maybe Text
expectedRevisionId = Maybe Text
a} :: DeleteResourcePolicyStatement)
deleteResourcePolicyStatement_resourceArn :: Lens.Lens' DeleteResourcePolicyStatement Prelude.Text
deleteResourcePolicyStatement_resourceArn :: Lens' DeleteResourcePolicyStatement Text
deleteResourcePolicyStatement_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourcePolicyStatement' {Text
resourceArn :: Text
$sel:resourceArn:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
resourceArn} -> Text
resourceArn) (\s :: DeleteResourcePolicyStatement
s@DeleteResourcePolicyStatement' {} Text
a -> DeleteResourcePolicyStatement
s {$sel:resourceArn:DeleteResourcePolicyStatement' :: Text
resourceArn = Text
a} :: DeleteResourcePolicyStatement)
deleteResourcePolicyStatement_statementId :: Lens.Lens' DeleteResourcePolicyStatement Prelude.Text
deleteResourcePolicyStatement_statementId :: Lens' DeleteResourcePolicyStatement Text
deleteResourcePolicyStatement_statementId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourcePolicyStatement' {Text
statementId :: Text
$sel:statementId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
statementId} -> Text
statementId) (\s :: DeleteResourcePolicyStatement
s@DeleteResourcePolicyStatement' {} Text
a -> DeleteResourcePolicyStatement
s {$sel:statementId:DeleteResourcePolicyStatement' :: Text
statementId = Text
a} :: DeleteResourcePolicyStatement)
instance
Core.AWSRequest
DeleteResourcePolicyStatement
where
type
AWSResponse DeleteResourcePolicyStatement =
DeleteResourcePolicyStatementResponse
request :: (Service -> Service)
-> DeleteResourcePolicyStatement
-> Request DeleteResourcePolicyStatement
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.delete (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteResourcePolicyStatement
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteResourcePolicyStatement)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text
-> Maybe Text -> Int -> DeleteResourcePolicyStatementResponse
DeleteResourcePolicyStatementResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"resourceArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"revisionId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
DeleteResourcePolicyStatement
where
hashWithSalt :: Int -> DeleteResourcePolicyStatement -> Int
hashWithSalt Int
_salt DeleteResourcePolicyStatement' {Maybe Text
Text
statementId :: Text
resourceArn :: Text
expectedRevisionId :: Maybe Text
$sel:statementId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:resourceArn:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:expectedRevisionId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
expectedRevisionId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
statementId
instance Prelude.NFData DeleteResourcePolicyStatement where
rnf :: DeleteResourcePolicyStatement -> ()
rnf DeleteResourcePolicyStatement' {Maybe Text
Text
statementId :: Text
resourceArn :: Text
expectedRevisionId :: Maybe Text
$sel:statementId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:resourceArn:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:expectedRevisionId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
expectedRevisionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
statementId
instance Data.ToHeaders DeleteResourcePolicyStatement where
toHeaders :: DeleteResourcePolicyStatement -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DeleteResourcePolicyStatement where
toPath :: DeleteResourcePolicyStatement -> ByteString
toPath DeleteResourcePolicyStatement' {Maybe Text
Text
statementId :: Text
resourceArn :: Text
expectedRevisionId :: Maybe Text
$sel:statementId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:resourceArn:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:expectedRevisionId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/policy/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceArn,
ByteString
"/statements/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
statementId,
ByteString
"/"
]
instance Data.ToQuery DeleteResourcePolicyStatement where
toQuery :: DeleteResourcePolicyStatement -> QueryString
toQuery DeleteResourcePolicyStatement' {Maybe Text
Text
statementId :: Text
resourceArn :: Text
expectedRevisionId :: Maybe Text
$sel:statementId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:resourceArn:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Text
$sel:expectedRevisionId:DeleteResourcePolicyStatement' :: DeleteResourcePolicyStatement -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"expectedRevisionId" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
expectedRevisionId]
data DeleteResourcePolicyStatementResponse = DeleteResourcePolicyStatementResponse'
{
DeleteResourcePolicyStatementResponse -> Maybe Text
resourceArn :: Prelude.Maybe Prelude.Text,
DeleteResourcePolicyStatementResponse -> Maybe Text
revisionId :: Prelude.Maybe Prelude.Text,
DeleteResourcePolicyStatementResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteResourcePolicyStatementResponse
-> DeleteResourcePolicyStatementResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteResourcePolicyStatementResponse
-> DeleteResourcePolicyStatementResponse -> Bool
$c/= :: DeleteResourcePolicyStatementResponse
-> DeleteResourcePolicyStatementResponse -> Bool
== :: DeleteResourcePolicyStatementResponse
-> DeleteResourcePolicyStatementResponse -> Bool
$c== :: DeleteResourcePolicyStatementResponse
-> DeleteResourcePolicyStatementResponse -> Bool
Prelude.Eq, ReadPrec [DeleteResourcePolicyStatementResponse]
ReadPrec DeleteResourcePolicyStatementResponse
Int -> ReadS DeleteResourcePolicyStatementResponse
ReadS [DeleteResourcePolicyStatementResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteResourcePolicyStatementResponse]
$creadListPrec :: ReadPrec [DeleteResourcePolicyStatementResponse]
readPrec :: ReadPrec DeleteResourcePolicyStatementResponse
$creadPrec :: ReadPrec DeleteResourcePolicyStatementResponse
readList :: ReadS [DeleteResourcePolicyStatementResponse]
$creadList :: ReadS [DeleteResourcePolicyStatementResponse]
readsPrec :: Int -> ReadS DeleteResourcePolicyStatementResponse
$creadsPrec :: Int -> ReadS DeleteResourcePolicyStatementResponse
Prelude.Read, Int -> DeleteResourcePolicyStatementResponse -> ShowS
[DeleteResourcePolicyStatementResponse] -> ShowS
DeleteResourcePolicyStatementResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteResourcePolicyStatementResponse] -> ShowS
$cshowList :: [DeleteResourcePolicyStatementResponse] -> ShowS
show :: DeleteResourcePolicyStatementResponse -> String
$cshow :: DeleteResourcePolicyStatementResponse -> String
showsPrec :: Int -> DeleteResourcePolicyStatementResponse -> ShowS
$cshowsPrec :: Int -> DeleteResourcePolicyStatementResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteResourcePolicyStatementResponse x
-> DeleteResourcePolicyStatementResponse
forall x.
DeleteResourcePolicyStatementResponse
-> Rep DeleteResourcePolicyStatementResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteResourcePolicyStatementResponse x
-> DeleteResourcePolicyStatementResponse
$cfrom :: forall x.
DeleteResourcePolicyStatementResponse
-> Rep DeleteResourcePolicyStatementResponse x
Prelude.Generic)
newDeleteResourcePolicyStatementResponse ::
Prelude.Int ->
DeleteResourcePolicyStatementResponse
newDeleteResourcePolicyStatementResponse :: Int -> DeleteResourcePolicyStatementResponse
newDeleteResourcePolicyStatementResponse Int
pHttpStatus_ =
DeleteResourcePolicyStatementResponse'
{ $sel:resourceArn:DeleteResourcePolicyStatementResponse' :: Maybe Text
resourceArn =
forall a. Maybe a
Prelude.Nothing,
$sel:revisionId:DeleteResourcePolicyStatementResponse' :: Maybe Text
revisionId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteResourcePolicyStatementResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteResourcePolicyStatementResponse_resourceArn :: Lens.Lens' DeleteResourcePolicyStatementResponse (Prelude.Maybe Prelude.Text)
deleteResourcePolicyStatementResponse_resourceArn :: Lens' DeleteResourcePolicyStatementResponse (Maybe Text)
deleteResourcePolicyStatementResponse_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourcePolicyStatementResponse' {Maybe Text
resourceArn :: Maybe Text
$sel:resourceArn:DeleteResourcePolicyStatementResponse' :: DeleteResourcePolicyStatementResponse -> Maybe Text
resourceArn} -> Maybe Text
resourceArn) (\s :: DeleteResourcePolicyStatementResponse
s@DeleteResourcePolicyStatementResponse' {} Maybe Text
a -> DeleteResourcePolicyStatementResponse
s {$sel:resourceArn:DeleteResourcePolicyStatementResponse' :: Maybe Text
resourceArn = Maybe Text
a} :: DeleteResourcePolicyStatementResponse)
deleteResourcePolicyStatementResponse_revisionId :: Lens.Lens' DeleteResourcePolicyStatementResponse (Prelude.Maybe Prelude.Text)
deleteResourcePolicyStatementResponse_revisionId :: Lens' DeleteResourcePolicyStatementResponse (Maybe Text)
deleteResourcePolicyStatementResponse_revisionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourcePolicyStatementResponse' {Maybe Text
revisionId :: Maybe Text
$sel:revisionId:DeleteResourcePolicyStatementResponse' :: DeleteResourcePolicyStatementResponse -> Maybe Text
revisionId} -> Maybe Text
revisionId) (\s :: DeleteResourcePolicyStatementResponse
s@DeleteResourcePolicyStatementResponse' {} Maybe Text
a -> DeleteResourcePolicyStatementResponse
s {$sel:revisionId:DeleteResourcePolicyStatementResponse' :: Maybe Text
revisionId = Maybe Text
a} :: DeleteResourcePolicyStatementResponse)
deleteResourcePolicyStatementResponse_httpStatus :: Lens.Lens' DeleteResourcePolicyStatementResponse Prelude.Int
deleteResourcePolicyStatementResponse_httpStatus :: Lens' DeleteResourcePolicyStatementResponse Int
deleteResourcePolicyStatementResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteResourcePolicyStatementResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteResourcePolicyStatementResponse' :: DeleteResourcePolicyStatementResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteResourcePolicyStatementResponse
s@DeleteResourcePolicyStatementResponse' {} Int
a -> DeleteResourcePolicyStatementResponse
s {$sel:httpStatus:DeleteResourcePolicyStatementResponse' :: Int
httpStatus = Int
a} :: DeleteResourcePolicyStatementResponse)
instance
Prelude.NFData
DeleteResourcePolicyStatementResponse
where
rnf :: DeleteResourcePolicyStatementResponse -> ()
rnf DeleteResourcePolicyStatementResponse' {Int
Maybe Text
httpStatus :: Int
revisionId :: Maybe Text
resourceArn :: Maybe Text
$sel:httpStatus:DeleteResourcePolicyStatementResponse' :: DeleteResourcePolicyStatementResponse -> Int
$sel:revisionId:DeleteResourcePolicyStatementResponse' :: DeleteResourcePolicyStatementResponse -> Maybe Text
$sel:resourceArn:DeleteResourcePolicyStatementResponse' :: DeleteResourcePolicyStatementResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
revisionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus