{-# 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.SQS.AddPermission
(
AddPermission (..),
newAddPermission,
addPermission_queueUrl,
addPermission_label,
addPermission_aWSAccountIds,
addPermission_actions,
AddPermissionResponse (..),
newAddPermissionResponse,
)
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SQS.Types
data AddPermission = AddPermission'
{
AddPermission -> Text
queueUrl :: Prelude.Text,
AddPermission -> Text
label :: Prelude.Text,
AddPermission -> [Text]
aWSAccountIds :: [Prelude.Text],
AddPermission -> [Text]
actions :: [Prelude.Text]
}
deriving (AddPermission -> AddPermission -> Bool
(AddPermission -> AddPermission -> Bool)
-> (AddPermission -> AddPermission -> Bool) -> Eq AddPermission
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddPermission -> AddPermission -> Bool
== :: AddPermission -> AddPermission -> Bool
$c/= :: AddPermission -> AddPermission -> Bool
/= :: AddPermission -> AddPermission -> Bool
Prelude.Eq, ReadPrec [AddPermission]
ReadPrec AddPermission
Int -> ReadS AddPermission
ReadS [AddPermission]
(Int -> ReadS AddPermission)
-> ReadS [AddPermission]
-> ReadPrec AddPermission
-> ReadPrec [AddPermission]
-> Read AddPermission
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS AddPermission
readsPrec :: Int -> ReadS AddPermission
$creadList :: ReadS [AddPermission]
readList :: ReadS [AddPermission]
$creadPrec :: ReadPrec AddPermission
readPrec :: ReadPrec AddPermission
$creadListPrec :: ReadPrec [AddPermission]
readListPrec :: ReadPrec [AddPermission]
Prelude.Read, Int -> AddPermission -> ShowS
[AddPermission] -> ShowS
AddPermission -> String
(Int -> AddPermission -> ShowS)
-> (AddPermission -> String)
-> ([AddPermission] -> ShowS)
-> Show AddPermission
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddPermission -> ShowS
showsPrec :: Int -> AddPermission -> ShowS
$cshow :: AddPermission -> String
show :: AddPermission -> String
$cshowList :: [AddPermission] -> ShowS
showList :: [AddPermission] -> ShowS
Prelude.Show, (forall x. AddPermission -> Rep AddPermission x)
-> (forall x. Rep AddPermission x -> AddPermission)
-> Generic AddPermission
forall x. Rep AddPermission x -> AddPermission
forall x. AddPermission -> Rep AddPermission x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. AddPermission -> Rep AddPermission x
from :: forall x. AddPermission -> Rep AddPermission x
$cto :: forall x. Rep AddPermission x -> AddPermission
to :: forall x. Rep AddPermission x -> AddPermission
Prelude.Generic)
newAddPermission ::
Prelude.Text ->
Prelude.Text ->
AddPermission
newAddPermission :: Text -> Text -> AddPermission
newAddPermission Text
pQueueUrl_ Text
pLabel_ =
AddPermission'
{ $sel:queueUrl:AddPermission' :: Text
queueUrl = Text
pQueueUrl_,
$sel:label:AddPermission' :: Text
label = Text
pLabel_,
$sel:aWSAccountIds:AddPermission' :: [Text]
aWSAccountIds = [Text]
forall a. Monoid a => a
Prelude.mempty,
$sel:actions:AddPermission' :: [Text]
actions = [Text]
forall a. Monoid a => a
Prelude.mempty
}
addPermission_queueUrl :: Lens.Lens' AddPermission Prelude.Text
addPermission_queueUrl :: Lens' AddPermission Text
addPermission_queueUrl = (AddPermission -> Text)
-> (AddPermission -> Text -> AddPermission)
-> Lens' AddPermission Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddPermission' {Text
$sel:queueUrl:AddPermission' :: AddPermission -> Text
queueUrl :: Text
queueUrl} -> Text
queueUrl) (\s :: AddPermission
s@AddPermission' {} Text
a -> AddPermission
s {queueUrl = a} :: AddPermission)
addPermission_label :: Lens.Lens' AddPermission Prelude.Text
addPermission_label :: Lens' AddPermission Text
addPermission_label = (AddPermission -> Text)
-> (AddPermission -> Text -> AddPermission)
-> Lens' AddPermission Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddPermission' {Text
$sel:label:AddPermission' :: AddPermission -> Text
label :: Text
label} -> Text
label) (\s :: AddPermission
s@AddPermission' {} Text
a -> AddPermission
s {label = a} :: AddPermission)
addPermission_aWSAccountIds :: Lens.Lens' AddPermission [Prelude.Text]
addPermission_aWSAccountIds :: Lens' AddPermission [Text]
addPermission_aWSAccountIds = (AddPermission -> [Text])
-> (AddPermission -> [Text] -> AddPermission)
-> Lens' AddPermission [Text]
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddPermission' {[Text]
$sel:aWSAccountIds:AddPermission' :: AddPermission -> [Text]
aWSAccountIds :: [Text]
aWSAccountIds} -> [Text]
aWSAccountIds) (\s :: AddPermission
s@AddPermission' {} [Text]
a -> AddPermission
s {aWSAccountIds = a} :: AddPermission) (([Text] -> f [Text]) -> AddPermission -> f AddPermission)
-> (([Text] -> f [Text]) -> [Text] -> f [Text])
-> ([Text] -> f [Text])
-> AddPermission
-> f AddPermission
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([Text] -> f [Text]) -> [Text] -> f [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Iso [Text] [Text] [Text] [Text]
Lens.coerced
addPermission_actions :: Lens.Lens' AddPermission [Prelude.Text]
addPermission_actions :: Lens' AddPermission [Text]
addPermission_actions = (AddPermission -> [Text])
-> (AddPermission -> [Text] -> AddPermission)
-> Lens' AddPermission [Text]
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddPermission' {[Text]
$sel:actions:AddPermission' :: AddPermission -> [Text]
actions :: [Text]
actions} -> [Text]
actions) (\s :: AddPermission
s@AddPermission' {} [Text]
a -> AddPermission
s {actions = a} :: AddPermission) (([Text] -> f [Text]) -> AddPermission -> f AddPermission)
-> (([Text] -> f [Text]) -> [Text] -> f [Text])
-> ([Text] -> f [Text])
-> AddPermission
-> f AddPermission
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([Text] -> f [Text]) -> [Text] -> f [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Iso [Text] [Text] [Text] [Text]
Lens.coerced
instance Core.AWSRequest AddPermission where
type
AWSResponse AddPermission =
AddPermissionResponse
request :: (Service -> Service) -> AddPermission -> Request AddPermission
request Service -> Service
overrides =
Service -> AddPermission -> Request AddPermission
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 AddPermission
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse AddPermission)))
response =
AWSResponse AddPermission
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy AddPermission
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse AddPermission)))
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull AWSResponse AddPermission
AddPermissionResponse
AddPermissionResponse'
instance Prelude.Hashable AddPermission where
hashWithSalt :: Int -> AddPermission -> Int
hashWithSalt Int
_salt AddPermission' {[Text]
Text
$sel:queueUrl:AddPermission' :: AddPermission -> Text
$sel:label:AddPermission' :: AddPermission -> Text
$sel:aWSAccountIds:AddPermission' :: AddPermission -> [Text]
$sel:actions:AddPermission' :: AddPermission -> [Text]
queueUrl :: Text
label :: Text
aWSAccountIds :: [Text]
actions :: [Text]
..} =
Int
_salt
Int -> Text -> Int
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
queueUrl
Int -> Text -> Int
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
label
Int -> [Text] -> Int
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
aWSAccountIds
Int -> [Text] -> Int
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
actions
instance Prelude.NFData AddPermission where
rnf :: AddPermission -> ()
rnf AddPermission' {[Text]
Text
$sel:queueUrl:AddPermission' :: AddPermission -> Text
$sel:label:AddPermission' :: AddPermission -> Text
$sel:aWSAccountIds:AddPermission' :: AddPermission -> [Text]
$sel:actions:AddPermission' :: AddPermission -> [Text]
queueUrl :: Text
label :: Text
aWSAccountIds :: [Text]
actions :: [Text]
..} =
Text -> ()
forall a. NFData a => a -> ()
Prelude.rnf Text
queueUrl
() -> () -> ()
forall a b. a -> b -> b
`Prelude.seq` Text -> ()
forall a. NFData a => a -> ()
Prelude.rnf Text
label
() -> () -> ()
forall a b. a -> b -> b
`Prelude.seq` [Text] -> ()
forall a. NFData a => a -> ()
Prelude.rnf [Text]
aWSAccountIds
() -> () -> ()
forall a b. a -> b -> b
`Prelude.seq` [Text] -> ()
forall a. NFData a => a -> ()
Prelude.rnf [Text]
actions
instance Data.ToHeaders AddPermission where
toHeaders :: AddPermission -> [Header]
toHeaders = [Header] -> AddPermission -> [Header]
forall a b. a -> b -> a
Prelude.const [Header]
forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath AddPermission where
toPath :: AddPermission -> ByteString
toPath = ByteString -> AddPermission -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AddPermission where
toQuery :: AddPermission -> QueryString
toQuery AddPermission' {[Text]
Text
$sel:queueUrl:AddPermission' :: AddPermission -> Text
$sel:label:AddPermission' :: AddPermission -> Text
$sel:aWSAccountIds:AddPermission' :: AddPermission -> [Text]
$sel:actions:AddPermission' :: AddPermission -> [Text]
queueUrl :: Text
label :: Text
aWSAccountIds :: [Text]
actions :: [Text]
..} =
[QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"AddPermission" :: Prelude.ByteString),
ByteString
"Version"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2012-11-05" :: Prelude.ByteString),
ByteString
"QueueUrl" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
queueUrl,
ByteString
"Label" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
label,
ByteString -> [Text] -> QueryString
forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"AWSAccountId" [Text]
aWSAccountIds,
ByteString -> [Text] -> QueryString
forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"ActionName" [Text]
actions
]
data AddPermissionResponse = AddPermissionResponse'
{
}
deriving (AddPermissionResponse -> AddPermissionResponse -> Bool
(AddPermissionResponse -> AddPermissionResponse -> Bool)
-> (AddPermissionResponse -> AddPermissionResponse -> Bool)
-> Eq AddPermissionResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddPermissionResponse -> AddPermissionResponse -> Bool
== :: AddPermissionResponse -> AddPermissionResponse -> Bool
$c/= :: AddPermissionResponse -> AddPermissionResponse -> Bool
/= :: AddPermissionResponse -> AddPermissionResponse -> Bool
Prelude.Eq, ReadPrec [AddPermissionResponse]
ReadPrec AddPermissionResponse
Int -> ReadS AddPermissionResponse
ReadS [AddPermissionResponse]
(Int -> ReadS AddPermissionResponse)
-> ReadS [AddPermissionResponse]
-> ReadPrec AddPermissionResponse
-> ReadPrec [AddPermissionResponse]
-> Read AddPermissionResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS AddPermissionResponse
readsPrec :: Int -> ReadS AddPermissionResponse
$creadList :: ReadS [AddPermissionResponse]
readList :: ReadS [AddPermissionResponse]
$creadPrec :: ReadPrec AddPermissionResponse
readPrec :: ReadPrec AddPermissionResponse
$creadListPrec :: ReadPrec [AddPermissionResponse]
readListPrec :: ReadPrec [AddPermissionResponse]
Prelude.Read, Int -> AddPermissionResponse -> ShowS
[AddPermissionResponse] -> ShowS
AddPermissionResponse -> String
(Int -> AddPermissionResponse -> ShowS)
-> (AddPermissionResponse -> String)
-> ([AddPermissionResponse] -> ShowS)
-> Show AddPermissionResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddPermissionResponse -> ShowS
showsPrec :: Int -> AddPermissionResponse -> ShowS
$cshow :: AddPermissionResponse -> String
show :: AddPermissionResponse -> String
$cshowList :: [AddPermissionResponse] -> ShowS
showList :: [AddPermissionResponse] -> ShowS
Prelude.Show, (forall x. AddPermissionResponse -> Rep AddPermissionResponse x)
-> (forall x. Rep AddPermissionResponse x -> AddPermissionResponse)
-> Generic AddPermissionResponse
forall x. Rep AddPermissionResponse x -> AddPermissionResponse
forall x. AddPermissionResponse -> Rep AddPermissionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. AddPermissionResponse -> Rep AddPermissionResponse x
from :: forall x. AddPermissionResponse -> Rep AddPermissionResponse x
$cto :: forall x. Rep AddPermissionResponse x -> AddPermissionResponse
to :: forall x. Rep AddPermissionResponse x -> AddPermissionResponse
Prelude.Generic)
newAddPermissionResponse ::
AddPermissionResponse
newAddPermissionResponse :: AddPermissionResponse
newAddPermissionResponse = AddPermissionResponse
AddPermissionResponse'
instance Prelude.NFData AddPermissionResponse where
rnf :: AddPermissionResponse -> ()
rnf AddPermissionResponse
_ = ()