{-# 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.Backup.PutBackupVaultAccessPolicy
(
PutBackupVaultAccessPolicy (..),
newPutBackupVaultAccessPolicy,
putBackupVaultAccessPolicy_policy,
putBackupVaultAccessPolicy_backupVaultName,
PutBackupVaultAccessPolicyResponse (..),
newPutBackupVaultAccessPolicyResponse,
)
where
import Amazonka.Backup.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 PutBackupVaultAccessPolicy = PutBackupVaultAccessPolicy'
{
PutBackupVaultAccessPolicy -> Maybe Text
policy :: Prelude.Maybe Prelude.Text,
PutBackupVaultAccessPolicy -> Text
backupVaultName :: Prelude.Text
}
deriving (PutBackupVaultAccessPolicy -> PutBackupVaultAccessPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBackupVaultAccessPolicy -> PutBackupVaultAccessPolicy -> Bool
$c/= :: PutBackupVaultAccessPolicy -> PutBackupVaultAccessPolicy -> Bool
== :: PutBackupVaultAccessPolicy -> PutBackupVaultAccessPolicy -> Bool
$c== :: PutBackupVaultAccessPolicy -> PutBackupVaultAccessPolicy -> Bool
Prelude.Eq, ReadPrec [PutBackupVaultAccessPolicy]
ReadPrec PutBackupVaultAccessPolicy
Int -> ReadS PutBackupVaultAccessPolicy
ReadS [PutBackupVaultAccessPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBackupVaultAccessPolicy]
$creadListPrec :: ReadPrec [PutBackupVaultAccessPolicy]
readPrec :: ReadPrec PutBackupVaultAccessPolicy
$creadPrec :: ReadPrec PutBackupVaultAccessPolicy
readList :: ReadS [PutBackupVaultAccessPolicy]
$creadList :: ReadS [PutBackupVaultAccessPolicy]
readsPrec :: Int -> ReadS PutBackupVaultAccessPolicy
$creadsPrec :: Int -> ReadS PutBackupVaultAccessPolicy
Prelude.Read, Int -> PutBackupVaultAccessPolicy -> ShowS
[PutBackupVaultAccessPolicy] -> ShowS
PutBackupVaultAccessPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBackupVaultAccessPolicy] -> ShowS
$cshowList :: [PutBackupVaultAccessPolicy] -> ShowS
show :: PutBackupVaultAccessPolicy -> String
$cshow :: PutBackupVaultAccessPolicy -> String
showsPrec :: Int -> PutBackupVaultAccessPolicy -> ShowS
$cshowsPrec :: Int -> PutBackupVaultAccessPolicy -> ShowS
Prelude.Show, forall x.
Rep PutBackupVaultAccessPolicy x -> PutBackupVaultAccessPolicy
forall x.
PutBackupVaultAccessPolicy -> Rep PutBackupVaultAccessPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBackupVaultAccessPolicy x -> PutBackupVaultAccessPolicy
$cfrom :: forall x.
PutBackupVaultAccessPolicy -> Rep PutBackupVaultAccessPolicy x
Prelude.Generic)
newPutBackupVaultAccessPolicy ::
Prelude.Text ->
PutBackupVaultAccessPolicy
newPutBackupVaultAccessPolicy :: Text -> PutBackupVaultAccessPolicy
newPutBackupVaultAccessPolicy Text
pBackupVaultName_ =
PutBackupVaultAccessPolicy'
{ $sel:policy:PutBackupVaultAccessPolicy' :: Maybe Text
policy =
forall a. Maybe a
Prelude.Nothing,
$sel:backupVaultName:PutBackupVaultAccessPolicy' :: Text
backupVaultName = Text
pBackupVaultName_
}
putBackupVaultAccessPolicy_policy :: Lens.Lens' PutBackupVaultAccessPolicy (Prelude.Maybe Prelude.Text)
putBackupVaultAccessPolicy_policy :: Lens' PutBackupVaultAccessPolicy (Maybe Text)
putBackupVaultAccessPolicy_policy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBackupVaultAccessPolicy' {Maybe Text
policy :: Maybe Text
$sel:policy:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Maybe Text
policy} -> Maybe Text
policy) (\s :: PutBackupVaultAccessPolicy
s@PutBackupVaultAccessPolicy' {} Maybe Text
a -> PutBackupVaultAccessPolicy
s {$sel:policy:PutBackupVaultAccessPolicy' :: Maybe Text
policy = Maybe Text
a} :: PutBackupVaultAccessPolicy)
putBackupVaultAccessPolicy_backupVaultName :: Lens.Lens' PutBackupVaultAccessPolicy Prelude.Text
putBackupVaultAccessPolicy_backupVaultName :: Lens' PutBackupVaultAccessPolicy Text
putBackupVaultAccessPolicy_backupVaultName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBackupVaultAccessPolicy' {Text
backupVaultName :: Text
$sel:backupVaultName:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Text
backupVaultName} -> Text
backupVaultName) (\s :: PutBackupVaultAccessPolicy
s@PutBackupVaultAccessPolicy' {} Text
a -> PutBackupVaultAccessPolicy
s {$sel:backupVaultName:PutBackupVaultAccessPolicy' :: Text
backupVaultName = Text
a} :: PutBackupVaultAccessPolicy)
instance Core.AWSRequest PutBackupVaultAccessPolicy where
type
AWSResponse PutBackupVaultAccessPolicy =
PutBackupVaultAccessPolicyResponse
request :: (Service -> Service)
-> PutBackupVaultAccessPolicy -> Request PutBackupVaultAccessPolicy
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutBackupVaultAccessPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutBackupVaultAccessPolicy)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
PutBackupVaultAccessPolicyResponse
PutBackupVaultAccessPolicyResponse'
instance Prelude.Hashable PutBackupVaultAccessPolicy where
hashWithSalt :: Int -> PutBackupVaultAccessPolicy -> Int
hashWithSalt Int
_salt PutBackupVaultAccessPolicy' {Maybe Text
Text
backupVaultName :: Text
policy :: Maybe Text
$sel:backupVaultName:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Text
$sel:policy:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
policy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
backupVaultName
instance Prelude.NFData PutBackupVaultAccessPolicy where
rnf :: PutBackupVaultAccessPolicy -> ()
rnf PutBackupVaultAccessPolicy' {Maybe Text
Text
backupVaultName :: Text
policy :: Maybe Text
$sel:backupVaultName:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Text
$sel:policy:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
policy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
backupVaultName
instance Data.ToHeaders PutBackupVaultAccessPolicy where
toHeaders :: PutBackupVaultAccessPolicy -> [Header]
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 -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON PutBackupVaultAccessPolicy where
toJSON :: PutBackupVaultAccessPolicy -> Value
toJSON PutBackupVaultAccessPolicy' {Maybe Text
Text
backupVaultName :: Text
policy :: Maybe Text
$sel:backupVaultName:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Text
$sel:policy:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[(Key
"Policy" 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
policy]
)
instance Data.ToPath PutBackupVaultAccessPolicy where
toPath :: PutBackupVaultAccessPolicy -> ByteString
toPath PutBackupVaultAccessPolicy' {Maybe Text
Text
backupVaultName :: Text
policy :: Maybe Text
$sel:backupVaultName:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Text
$sel:policy:PutBackupVaultAccessPolicy' :: PutBackupVaultAccessPolicy -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/backup-vaults/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
backupVaultName,
ByteString
"/access-policy"
]
instance Data.ToQuery PutBackupVaultAccessPolicy where
toQuery :: PutBackupVaultAccessPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutBackupVaultAccessPolicyResponse = PutBackupVaultAccessPolicyResponse'
{
}
deriving (PutBackupVaultAccessPolicyResponse
-> PutBackupVaultAccessPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBackupVaultAccessPolicyResponse
-> PutBackupVaultAccessPolicyResponse -> Bool
$c/= :: PutBackupVaultAccessPolicyResponse
-> PutBackupVaultAccessPolicyResponse -> Bool
== :: PutBackupVaultAccessPolicyResponse
-> PutBackupVaultAccessPolicyResponse -> Bool
$c== :: PutBackupVaultAccessPolicyResponse
-> PutBackupVaultAccessPolicyResponse -> Bool
Prelude.Eq, ReadPrec [PutBackupVaultAccessPolicyResponse]
ReadPrec PutBackupVaultAccessPolicyResponse
Int -> ReadS PutBackupVaultAccessPolicyResponse
ReadS [PutBackupVaultAccessPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBackupVaultAccessPolicyResponse]
$creadListPrec :: ReadPrec [PutBackupVaultAccessPolicyResponse]
readPrec :: ReadPrec PutBackupVaultAccessPolicyResponse
$creadPrec :: ReadPrec PutBackupVaultAccessPolicyResponse
readList :: ReadS [PutBackupVaultAccessPolicyResponse]
$creadList :: ReadS [PutBackupVaultAccessPolicyResponse]
readsPrec :: Int -> ReadS PutBackupVaultAccessPolicyResponse
$creadsPrec :: Int -> ReadS PutBackupVaultAccessPolicyResponse
Prelude.Read, Int -> PutBackupVaultAccessPolicyResponse -> ShowS
[PutBackupVaultAccessPolicyResponse] -> ShowS
PutBackupVaultAccessPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBackupVaultAccessPolicyResponse] -> ShowS
$cshowList :: [PutBackupVaultAccessPolicyResponse] -> ShowS
show :: PutBackupVaultAccessPolicyResponse -> String
$cshow :: PutBackupVaultAccessPolicyResponse -> String
showsPrec :: Int -> PutBackupVaultAccessPolicyResponse -> ShowS
$cshowsPrec :: Int -> PutBackupVaultAccessPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep PutBackupVaultAccessPolicyResponse x
-> PutBackupVaultAccessPolicyResponse
forall x.
PutBackupVaultAccessPolicyResponse
-> Rep PutBackupVaultAccessPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBackupVaultAccessPolicyResponse x
-> PutBackupVaultAccessPolicyResponse
$cfrom :: forall x.
PutBackupVaultAccessPolicyResponse
-> Rep PutBackupVaultAccessPolicyResponse x
Prelude.Generic)
newPutBackupVaultAccessPolicyResponse ::
PutBackupVaultAccessPolicyResponse
newPutBackupVaultAccessPolicyResponse :: PutBackupVaultAccessPolicyResponse
newPutBackupVaultAccessPolicyResponse =
PutBackupVaultAccessPolicyResponse
PutBackupVaultAccessPolicyResponse'
instance
Prelude.NFData
PutBackupVaultAccessPolicyResponse
where
rnf :: PutBackupVaultAccessPolicyResponse -> ()
rnf PutBackupVaultAccessPolicyResponse
_ = ()