{-# 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.CloudSearch.UpdateServiceAccessPolicies
(
UpdateServiceAccessPolicies (..),
newUpdateServiceAccessPolicies,
updateServiceAccessPolicies_domainName,
updateServiceAccessPolicies_accessPolicies,
UpdateServiceAccessPoliciesResponse (..),
newUpdateServiceAccessPoliciesResponse,
updateServiceAccessPoliciesResponse_httpStatus,
updateServiceAccessPoliciesResponse_accessPolicies,
)
where
import Amazonka.CloudSearch.Types
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
data UpdateServiceAccessPolicies = UpdateServiceAccessPolicies'
{ UpdateServiceAccessPolicies -> Text
domainName :: Prelude.Text,
UpdateServiceAccessPolicies -> Text
accessPolicies :: Prelude.Text
}
deriving (UpdateServiceAccessPolicies -> UpdateServiceAccessPolicies -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateServiceAccessPolicies -> UpdateServiceAccessPolicies -> Bool
$c/= :: UpdateServiceAccessPolicies -> UpdateServiceAccessPolicies -> Bool
== :: UpdateServiceAccessPolicies -> UpdateServiceAccessPolicies -> Bool
$c== :: UpdateServiceAccessPolicies -> UpdateServiceAccessPolicies -> Bool
Prelude.Eq, ReadPrec [UpdateServiceAccessPolicies]
ReadPrec UpdateServiceAccessPolicies
Int -> ReadS UpdateServiceAccessPolicies
ReadS [UpdateServiceAccessPolicies]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateServiceAccessPolicies]
$creadListPrec :: ReadPrec [UpdateServiceAccessPolicies]
readPrec :: ReadPrec UpdateServiceAccessPolicies
$creadPrec :: ReadPrec UpdateServiceAccessPolicies
readList :: ReadS [UpdateServiceAccessPolicies]
$creadList :: ReadS [UpdateServiceAccessPolicies]
readsPrec :: Int -> ReadS UpdateServiceAccessPolicies
$creadsPrec :: Int -> ReadS UpdateServiceAccessPolicies
Prelude.Read, Int -> UpdateServiceAccessPolicies -> ShowS
[UpdateServiceAccessPolicies] -> ShowS
UpdateServiceAccessPolicies -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateServiceAccessPolicies] -> ShowS
$cshowList :: [UpdateServiceAccessPolicies] -> ShowS
show :: UpdateServiceAccessPolicies -> String
$cshow :: UpdateServiceAccessPolicies -> String
showsPrec :: Int -> UpdateServiceAccessPolicies -> ShowS
$cshowsPrec :: Int -> UpdateServiceAccessPolicies -> ShowS
Prelude.Show, forall x.
Rep UpdateServiceAccessPolicies x -> UpdateServiceAccessPolicies
forall x.
UpdateServiceAccessPolicies -> Rep UpdateServiceAccessPolicies x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateServiceAccessPolicies x -> UpdateServiceAccessPolicies
$cfrom :: forall x.
UpdateServiceAccessPolicies -> Rep UpdateServiceAccessPolicies x
Prelude.Generic)
newUpdateServiceAccessPolicies ::
Prelude.Text ->
Prelude.Text ->
UpdateServiceAccessPolicies
newUpdateServiceAccessPolicies :: Text -> Text -> UpdateServiceAccessPolicies
newUpdateServiceAccessPolicies
Text
pDomainName_
Text
pAccessPolicies_ =
UpdateServiceAccessPolicies'
{ $sel:domainName:UpdateServiceAccessPolicies' :: Text
domainName =
Text
pDomainName_,
$sel:accessPolicies:UpdateServiceAccessPolicies' :: Text
accessPolicies = Text
pAccessPolicies_
}
updateServiceAccessPolicies_domainName :: Lens.Lens' UpdateServiceAccessPolicies Prelude.Text
updateServiceAccessPolicies_domainName :: Lens' UpdateServiceAccessPolicies Text
updateServiceAccessPolicies_domainName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateServiceAccessPolicies' {Text
domainName :: Text
$sel:domainName:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
domainName} -> Text
domainName) (\s :: UpdateServiceAccessPolicies
s@UpdateServiceAccessPolicies' {} Text
a -> UpdateServiceAccessPolicies
s {$sel:domainName:UpdateServiceAccessPolicies' :: Text
domainName = Text
a} :: UpdateServiceAccessPolicies)
updateServiceAccessPolicies_accessPolicies :: Lens.Lens' UpdateServiceAccessPolicies Prelude.Text
updateServiceAccessPolicies_accessPolicies :: Lens' UpdateServiceAccessPolicies Text
updateServiceAccessPolicies_accessPolicies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateServiceAccessPolicies' {Text
accessPolicies :: Text
$sel:accessPolicies:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
accessPolicies} -> Text
accessPolicies) (\s :: UpdateServiceAccessPolicies
s@UpdateServiceAccessPolicies' {} Text
a -> UpdateServiceAccessPolicies
s {$sel:accessPolicies:UpdateServiceAccessPolicies' :: Text
accessPolicies = Text
a} :: UpdateServiceAccessPolicies)
instance Core.AWSRequest UpdateServiceAccessPolicies where
type
AWSResponse UpdateServiceAccessPolicies =
UpdateServiceAccessPoliciesResponse
request :: (Service -> Service)
-> UpdateServiceAccessPolicies
-> Request UpdateServiceAccessPolicies
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 UpdateServiceAccessPolicies
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateServiceAccessPolicies)))
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
"UpdateServiceAccessPoliciesResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> AccessPoliciesStatus -> UpdateServiceAccessPoliciesResponse
UpdateServiceAccessPoliciesResponse'
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
"AccessPolicies")
)
instance Prelude.Hashable UpdateServiceAccessPolicies where
hashWithSalt :: Int -> UpdateServiceAccessPolicies -> Int
hashWithSalt Int
_salt UpdateServiceAccessPolicies' {Text
accessPolicies :: Text
domainName :: Text
$sel:accessPolicies:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
$sel:domainName:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
domainName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accessPolicies
instance Prelude.NFData UpdateServiceAccessPolicies where
rnf :: UpdateServiceAccessPolicies -> ()
rnf UpdateServiceAccessPolicies' {Text
accessPolicies :: Text
domainName :: Text
$sel:accessPolicies:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
$sel:domainName:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
domainName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
accessPolicies
instance Data.ToHeaders UpdateServiceAccessPolicies where
toHeaders :: UpdateServiceAccessPolicies -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath UpdateServiceAccessPolicies where
toPath :: UpdateServiceAccessPolicies -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateServiceAccessPolicies where
toQuery :: UpdateServiceAccessPolicies -> QueryString
toQuery UpdateServiceAccessPolicies' {Text
accessPolicies :: Text
domainName :: Text
$sel:accessPolicies:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
$sel:domainName:UpdateServiceAccessPolicies' :: UpdateServiceAccessPolicies -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"UpdateServiceAccessPolicies" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2013-01-01" :: Prelude.ByteString),
ByteString
"DomainName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
domainName,
ByteString
"AccessPolicies" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
accessPolicies
]
data UpdateServiceAccessPoliciesResponse = UpdateServiceAccessPoliciesResponse'
{
UpdateServiceAccessPoliciesResponse -> Int
httpStatus :: Prelude.Int,
UpdateServiceAccessPoliciesResponse -> AccessPoliciesStatus
accessPolicies :: AccessPoliciesStatus
}
deriving (UpdateServiceAccessPoliciesResponse
-> UpdateServiceAccessPoliciesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateServiceAccessPoliciesResponse
-> UpdateServiceAccessPoliciesResponse -> Bool
$c/= :: UpdateServiceAccessPoliciesResponse
-> UpdateServiceAccessPoliciesResponse -> Bool
== :: UpdateServiceAccessPoliciesResponse
-> UpdateServiceAccessPoliciesResponse -> Bool
$c== :: UpdateServiceAccessPoliciesResponse
-> UpdateServiceAccessPoliciesResponse -> Bool
Prelude.Eq, ReadPrec [UpdateServiceAccessPoliciesResponse]
ReadPrec UpdateServiceAccessPoliciesResponse
Int -> ReadS UpdateServiceAccessPoliciesResponse
ReadS [UpdateServiceAccessPoliciesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateServiceAccessPoliciesResponse]
$creadListPrec :: ReadPrec [UpdateServiceAccessPoliciesResponse]
readPrec :: ReadPrec UpdateServiceAccessPoliciesResponse
$creadPrec :: ReadPrec UpdateServiceAccessPoliciesResponse
readList :: ReadS [UpdateServiceAccessPoliciesResponse]
$creadList :: ReadS [UpdateServiceAccessPoliciesResponse]
readsPrec :: Int -> ReadS UpdateServiceAccessPoliciesResponse
$creadsPrec :: Int -> ReadS UpdateServiceAccessPoliciesResponse
Prelude.Read, Int -> UpdateServiceAccessPoliciesResponse -> ShowS
[UpdateServiceAccessPoliciesResponse] -> ShowS
UpdateServiceAccessPoliciesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateServiceAccessPoliciesResponse] -> ShowS
$cshowList :: [UpdateServiceAccessPoliciesResponse] -> ShowS
show :: UpdateServiceAccessPoliciesResponse -> String
$cshow :: UpdateServiceAccessPoliciesResponse -> String
showsPrec :: Int -> UpdateServiceAccessPoliciesResponse -> ShowS
$cshowsPrec :: Int -> UpdateServiceAccessPoliciesResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateServiceAccessPoliciesResponse x
-> UpdateServiceAccessPoliciesResponse
forall x.
UpdateServiceAccessPoliciesResponse
-> Rep UpdateServiceAccessPoliciesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateServiceAccessPoliciesResponse x
-> UpdateServiceAccessPoliciesResponse
$cfrom :: forall x.
UpdateServiceAccessPoliciesResponse
-> Rep UpdateServiceAccessPoliciesResponse x
Prelude.Generic)
newUpdateServiceAccessPoliciesResponse ::
Prelude.Int ->
AccessPoliciesStatus ->
UpdateServiceAccessPoliciesResponse
newUpdateServiceAccessPoliciesResponse :: Int -> AccessPoliciesStatus -> UpdateServiceAccessPoliciesResponse
newUpdateServiceAccessPoliciesResponse
Int
pHttpStatus_
AccessPoliciesStatus
pAccessPolicies_ =
UpdateServiceAccessPoliciesResponse'
{ $sel:httpStatus:UpdateServiceAccessPoliciesResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:accessPolicies:UpdateServiceAccessPoliciesResponse' :: AccessPoliciesStatus
accessPolicies = AccessPoliciesStatus
pAccessPolicies_
}
updateServiceAccessPoliciesResponse_httpStatus :: Lens.Lens' UpdateServiceAccessPoliciesResponse Prelude.Int
updateServiceAccessPoliciesResponse_httpStatus :: Lens' UpdateServiceAccessPoliciesResponse Int
updateServiceAccessPoliciesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateServiceAccessPoliciesResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateServiceAccessPoliciesResponse' :: UpdateServiceAccessPoliciesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateServiceAccessPoliciesResponse
s@UpdateServiceAccessPoliciesResponse' {} Int
a -> UpdateServiceAccessPoliciesResponse
s {$sel:httpStatus:UpdateServiceAccessPoliciesResponse' :: Int
httpStatus = Int
a} :: UpdateServiceAccessPoliciesResponse)
updateServiceAccessPoliciesResponse_accessPolicies :: Lens.Lens' UpdateServiceAccessPoliciesResponse AccessPoliciesStatus
updateServiceAccessPoliciesResponse_accessPolicies :: Lens' UpdateServiceAccessPoliciesResponse AccessPoliciesStatus
updateServiceAccessPoliciesResponse_accessPolicies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateServiceAccessPoliciesResponse' {AccessPoliciesStatus
accessPolicies :: AccessPoliciesStatus
$sel:accessPolicies:UpdateServiceAccessPoliciesResponse' :: UpdateServiceAccessPoliciesResponse -> AccessPoliciesStatus
accessPolicies} -> AccessPoliciesStatus
accessPolicies) (\s :: UpdateServiceAccessPoliciesResponse
s@UpdateServiceAccessPoliciesResponse' {} AccessPoliciesStatus
a -> UpdateServiceAccessPoliciesResponse
s {$sel:accessPolicies:UpdateServiceAccessPoliciesResponse' :: AccessPoliciesStatus
accessPolicies = AccessPoliciesStatus
a} :: UpdateServiceAccessPoliciesResponse)
instance
Prelude.NFData
UpdateServiceAccessPoliciesResponse
where
rnf :: UpdateServiceAccessPoliciesResponse -> ()
rnf UpdateServiceAccessPoliciesResponse' {Int
AccessPoliciesStatus
accessPolicies :: AccessPoliciesStatus
httpStatus :: Int
$sel:accessPolicies:UpdateServiceAccessPoliciesResponse' :: UpdateServiceAccessPoliciesResponse -> AccessPoliciesStatus
$sel:httpStatus:UpdateServiceAccessPoliciesResponse' :: UpdateServiceAccessPoliciesResponse -> 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 AccessPoliciesStatus
accessPolicies