{-# 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.IAM.DeleteServiceLinkedRole
(
DeleteServiceLinkedRole (..),
newDeleteServiceLinkedRole,
deleteServiceLinkedRole_roleName,
DeleteServiceLinkedRoleResponse (..),
newDeleteServiceLinkedRoleResponse,
deleteServiceLinkedRoleResponse_httpStatus,
deleteServiceLinkedRoleResponse_deletionTaskId,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IAM.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteServiceLinkedRole = DeleteServiceLinkedRole'
{
DeleteServiceLinkedRole -> Text
roleName :: Prelude.Text
}
deriving (DeleteServiceLinkedRole -> DeleteServiceLinkedRole -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteServiceLinkedRole -> DeleteServiceLinkedRole -> Bool
$c/= :: DeleteServiceLinkedRole -> DeleteServiceLinkedRole -> Bool
== :: DeleteServiceLinkedRole -> DeleteServiceLinkedRole -> Bool
$c== :: DeleteServiceLinkedRole -> DeleteServiceLinkedRole -> Bool
Prelude.Eq, ReadPrec [DeleteServiceLinkedRole]
ReadPrec DeleteServiceLinkedRole
Int -> ReadS DeleteServiceLinkedRole
ReadS [DeleteServiceLinkedRole]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteServiceLinkedRole]
$creadListPrec :: ReadPrec [DeleteServiceLinkedRole]
readPrec :: ReadPrec DeleteServiceLinkedRole
$creadPrec :: ReadPrec DeleteServiceLinkedRole
readList :: ReadS [DeleteServiceLinkedRole]
$creadList :: ReadS [DeleteServiceLinkedRole]
readsPrec :: Int -> ReadS DeleteServiceLinkedRole
$creadsPrec :: Int -> ReadS DeleteServiceLinkedRole
Prelude.Read, Int -> DeleteServiceLinkedRole -> ShowS
[DeleteServiceLinkedRole] -> ShowS
DeleteServiceLinkedRole -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteServiceLinkedRole] -> ShowS
$cshowList :: [DeleteServiceLinkedRole] -> ShowS
show :: DeleteServiceLinkedRole -> String
$cshow :: DeleteServiceLinkedRole -> String
showsPrec :: Int -> DeleteServiceLinkedRole -> ShowS
$cshowsPrec :: Int -> DeleteServiceLinkedRole -> ShowS
Prelude.Show, forall x. Rep DeleteServiceLinkedRole x -> DeleteServiceLinkedRole
forall x. DeleteServiceLinkedRole -> Rep DeleteServiceLinkedRole x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteServiceLinkedRole x -> DeleteServiceLinkedRole
$cfrom :: forall x. DeleteServiceLinkedRole -> Rep DeleteServiceLinkedRole x
Prelude.Generic)
newDeleteServiceLinkedRole ::
Prelude.Text ->
DeleteServiceLinkedRole
newDeleteServiceLinkedRole :: Text -> DeleteServiceLinkedRole
newDeleteServiceLinkedRole Text
pRoleName_ =
DeleteServiceLinkedRole' {$sel:roleName:DeleteServiceLinkedRole' :: Text
roleName = Text
pRoleName_}
deleteServiceLinkedRole_roleName :: Lens.Lens' DeleteServiceLinkedRole Prelude.Text
deleteServiceLinkedRole_roleName :: Lens' DeleteServiceLinkedRole Text
deleteServiceLinkedRole_roleName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteServiceLinkedRole' {Text
roleName :: Text
$sel:roleName:DeleteServiceLinkedRole' :: DeleteServiceLinkedRole -> Text
roleName} -> Text
roleName) (\s :: DeleteServiceLinkedRole
s@DeleteServiceLinkedRole' {} Text
a -> DeleteServiceLinkedRole
s {$sel:roleName:DeleteServiceLinkedRole' :: Text
roleName = Text
a} :: DeleteServiceLinkedRole)
instance Core.AWSRequest DeleteServiceLinkedRole where
type
AWSResponse DeleteServiceLinkedRole =
DeleteServiceLinkedRoleResponse
request :: (Service -> Service)
-> DeleteServiceLinkedRole -> Request DeleteServiceLinkedRole
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DeleteServiceLinkedRole
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteServiceLinkedRole)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"DeleteServiceLinkedRoleResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> Text -> DeleteServiceLinkedRoleResponse
DeleteServiceLinkedRoleResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String a
Data..@ Text
"DeletionTaskId")
)
instance Prelude.Hashable DeleteServiceLinkedRole where
hashWithSalt :: Int -> DeleteServiceLinkedRole -> Int
hashWithSalt Int
_salt DeleteServiceLinkedRole' {Text
roleName :: Text
$sel:roleName:DeleteServiceLinkedRole' :: DeleteServiceLinkedRole -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
roleName
instance Prelude.NFData DeleteServiceLinkedRole where
rnf :: DeleteServiceLinkedRole -> ()
rnf DeleteServiceLinkedRole' {Text
roleName :: Text
$sel:roleName:DeleteServiceLinkedRole' :: DeleteServiceLinkedRole -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
roleName
instance Data.ToHeaders DeleteServiceLinkedRole where
toHeaders :: DeleteServiceLinkedRole -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DeleteServiceLinkedRole where
toPath :: DeleteServiceLinkedRole -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteServiceLinkedRole where
toQuery :: DeleteServiceLinkedRole -> QueryString
toQuery DeleteServiceLinkedRole' {Text
roleName :: Text
$sel:roleName:DeleteServiceLinkedRole' :: DeleteServiceLinkedRole -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DeleteServiceLinkedRole" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-05-08" :: Prelude.ByteString),
ByteString
"RoleName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
roleName
]
data DeleteServiceLinkedRoleResponse = DeleteServiceLinkedRoleResponse'
{
DeleteServiceLinkedRoleResponse -> Int
httpStatus :: Prelude.Int,
DeleteServiceLinkedRoleResponse -> Text
deletionTaskId :: Prelude.Text
}
deriving (DeleteServiceLinkedRoleResponse
-> DeleteServiceLinkedRoleResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteServiceLinkedRoleResponse
-> DeleteServiceLinkedRoleResponse -> Bool
$c/= :: DeleteServiceLinkedRoleResponse
-> DeleteServiceLinkedRoleResponse -> Bool
== :: DeleteServiceLinkedRoleResponse
-> DeleteServiceLinkedRoleResponse -> Bool
$c== :: DeleteServiceLinkedRoleResponse
-> DeleteServiceLinkedRoleResponse -> Bool
Prelude.Eq, ReadPrec [DeleteServiceLinkedRoleResponse]
ReadPrec DeleteServiceLinkedRoleResponse
Int -> ReadS DeleteServiceLinkedRoleResponse
ReadS [DeleteServiceLinkedRoleResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteServiceLinkedRoleResponse]
$creadListPrec :: ReadPrec [DeleteServiceLinkedRoleResponse]
readPrec :: ReadPrec DeleteServiceLinkedRoleResponse
$creadPrec :: ReadPrec DeleteServiceLinkedRoleResponse
readList :: ReadS [DeleteServiceLinkedRoleResponse]
$creadList :: ReadS [DeleteServiceLinkedRoleResponse]
readsPrec :: Int -> ReadS DeleteServiceLinkedRoleResponse
$creadsPrec :: Int -> ReadS DeleteServiceLinkedRoleResponse
Prelude.Read, Int -> DeleteServiceLinkedRoleResponse -> ShowS
[DeleteServiceLinkedRoleResponse] -> ShowS
DeleteServiceLinkedRoleResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteServiceLinkedRoleResponse] -> ShowS
$cshowList :: [DeleteServiceLinkedRoleResponse] -> ShowS
show :: DeleteServiceLinkedRoleResponse -> String
$cshow :: DeleteServiceLinkedRoleResponse -> String
showsPrec :: Int -> DeleteServiceLinkedRoleResponse -> ShowS
$cshowsPrec :: Int -> DeleteServiceLinkedRoleResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteServiceLinkedRoleResponse x
-> DeleteServiceLinkedRoleResponse
forall x.
DeleteServiceLinkedRoleResponse
-> Rep DeleteServiceLinkedRoleResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteServiceLinkedRoleResponse x
-> DeleteServiceLinkedRoleResponse
$cfrom :: forall x.
DeleteServiceLinkedRoleResponse
-> Rep DeleteServiceLinkedRoleResponse x
Prelude.Generic)
newDeleteServiceLinkedRoleResponse ::
Prelude.Int ->
Prelude.Text ->
DeleteServiceLinkedRoleResponse
newDeleteServiceLinkedRoleResponse :: Int -> Text -> DeleteServiceLinkedRoleResponse
newDeleteServiceLinkedRoleResponse
Int
pHttpStatus_
Text
pDeletionTaskId_ =
DeleteServiceLinkedRoleResponse'
{ $sel:httpStatus:DeleteServiceLinkedRoleResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:deletionTaskId:DeleteServiceLinkedRoleResponse' :: Text
deletionTaskId = Text
pDeletionTaskId_
}
deleteServiceLinkedRoleResponse_httpStatus :: Lens.Lens' DeleteServiceLinkedRoleResponse Prelude.Int
deleteServiceLinkedRoleResponse_httpStatus :: Lens' DeleteServiceLinkedRoleResponse Int
deleteServiceLinkedRoleResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteServiceLinkedRoleResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteServiceLinkedRoleResponse' :: DeleteServiceLinkedRoleResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteServiceLinkedRoleResponse
s@DeleteServiceLinkedRoleResponse' {} Int
a -> DeleteServiceLinkedRoleResponse
s {$sel:httpStatus:DeleteServiceLinkedRoleResponse' :: Int
httpStatus = Int
a} :: DeleteServiceLinkedRoleResponse)
deleteServiceLinkedRoleResponse_deletionTaskId :: Lens.Lens' DeleteServiceLinkedRoleResponse Prelude.Text
deleteServiceLinkedRoleResponse_deletionTaskId :: Lens' DeleteServiceLinkedRoleResponse Text
deleteServiceLinkedRoleResponse_deletionTaskId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteServiceLinkedRoleResponse' {Text
deletionTaskId :: Text
$sel:deletionTaskId:DeleteServiceLinkedRoleResponse' :: DeleteServiceLinkedRoleResponse -> Text
deletionTaskId} -> Text
deletionTaskId) (\s :: DeleteServiceLinkedRoleResponse
s@DeleteServiceLinkedRoleResponse' {} Text
a -> DeleteServiceLinkedRoleResponse
s {$sel:deletionTaskId:DeleteServiceLinkedRoleResponse' :: Text
deletionTaskId = Text
a} :: DeleteServiceLinkedRoleResponse)
instance
Prelude.NFData
DeleteServiceLinkedRoleResponse
where
rnf :: DeleteServiceLinkedRoleResponse -> ()
rnf DeleteServiceLinkedRoleResponse' {Int
Text
deletionTaskId :: Text
httpStatus :: Int
$sel:deletionTaskId:DeleteServiceLinkedRoleResponse' :: DeleteServiceLinkedRoleResponse -> Text
$sel:httpStatus:DeleteServiceLinkedRoleResponse' :: DeleteServiceLinkedRoleResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deletionTaskId