{-# 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.Glacier.SetVaultAccessPolicy
(
SetVaultAccessPolicy (..),
newSetVaultAccessPolicy,
setVaultAccessPolicy_policy,
setVaultAccessPolicy_accountId,
setVaultAccessPolicy_vaultName,
SetVaultAccessPolicyResponse (..),
newSetVaultAccessPolicyResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glacier.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data SetVaultAccessPolicy = SetVaultAccessPolicy'
{
SetVaultAccessPolicy -> Maybe VaultAccessPolicy
policy :: Prelude.Maybe VaultAccessPolicy,
SetVaultAccessPolicy -> Text
accountId :: Prelude.Text,
SetVaultAccessPolicy -> Text
vaultName :: Prelude.Text
}
deriving (SetVaultAccessPolicy -> SetVaultAccessPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetVaultAccessPolicy -> SetVaultAccessPolicy -> Bool
$c/= :: SetVaultAccessPolicy -> SetVaultAccessPolicy -> Bool
== :: SetVaultAccessPolicy -> SetVaultAccessPolicy -> Bool
$c== :: SetVaultAccessPolicy -> SetVaultAccessPolicy -> Bool
Prelude.Eq, ReadPrec [SetVaultAccessPolicy]
ReadPrec SetVaultAccessPolicy
Int -> ReadS SetVaultAccessPolicy
ReadS [SetVaultAccessPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetVaultAccessPolicy]
$creadListPrec :: ReadPrec [SetVaultAccessPolicy]
readPrec :: ReadPrec SetVaultAccessPolicy
$creadPrec :: ReadPrec SetVaultAccessPolicy
readList :: ReadS [SetVaultAccessPolicy]
$creadList :: ReadS [SetVaultAccessPolicy]
readsPrec :: Int -> ReadS SetVaultAccessPolicy
$creadsPrec :: Int -> ReadS SetVaultAccessPolicy
Prelude.Read, Int -> SetVaultAccessPolicy -> ShowS
[SetVaultAccessPolicy] -> ShowS
SetVaultAccessPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetVaultAccessPolicy] -> ShowS
$cshowList :: [SetVaultAccessPolicy] -> ShowS
show :: SetVaultAccessPolicy -> String
$cshow :: SetVaultAccessPolicy -> String
showsPrec :: Int -> SetVaultAccessPolicy -> ShowS
$cshowsPrec :: Int -> SetVaultAccessPolicy -> ShowS
Prelude.Show, forall x. Rep SetVaultAccessPolicy x -> SetVaultAccessPolicy
forall x. SetVaultAccessPolicy -> Rep SetVaultAccessPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SetVaultAccessPolicy x -> SetVaultAccessPolicy
$cfrom :: forall x. SetVaultAccessPolicy -> Rep SetVaultAccessPolicy x
Prelude.Generic)
newSetVaultAccessPolicy ::
Prelude.Text ->
Prelude.Text ->
SetVaultAccessPolicy
newSetVaultAccessPolicy :: Text -> Text -> SetVaultAccessPolicy
newSetVaultAccessPolicy Text
pAccountId_ Text
pVaultName_ =
SetVaultAccessPolicy'
{ $sel:policy:SetVaultAccessPolicy' :: Maybe VaultAccessPolicy
policy = forall a. Maybe a
Prelude.Nothing,
$sel:accountId:SetVaultAccessPolicy' :: Text
accountId = Text
pAccountId_,
$sel:vaultName:SetVaultAccessPolicy' :: Text
vaultName = Text
pVaultName_
}
setVaultAccessPolicy_policy :: Lens.Lens' SetVaultAccessPolicy (Prelude.Maybe VaultAccessPolicy)
setVaultAccessPolicy_policy :: Lens' SetVaultAccessPolicy (Maybe VaultAccessPolicy)
setVaultAccessPolicy_policy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetVaultAccessPolicy' {Maybe VaultAccessPolicy
policy :: Maybe VaultAccessPolicy
$sel:policy:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Maybe VaultAccessPolicy
policy} -> Maybe VaultAccessPolicy
policy) (\s :: SetVaultAccessPolicy
s@SetVaultAccessPolicy' {} Maybe VaultAccessPolicy
a -> SetVaultAccessPolicy
s {$sel:policy:SetVaultAccessPolicy' :: Maybe VaultAccessPolicy
policy = Maybe VaultAccessPolicy
a} :: SetVaultAccessPolicy)
setVaultAccessPolicy_accountId :: Lens.Lens' SetVaultAccessPolicy Prelude.Text
setVaultAccessPolicy_accountId :: Lens' SetVaultAccessPolicy Text
setVaultAccessPolicy_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetVaultAccessPolicy' {Text
accountId :: Text
$sel:accountId:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
accountId} -> Text
accountId) (\s :: SetVaultAccessPolicy
s@SetVaultAccessPolicy' {} Text
a -> SetVaultAccessPolicy
s {$sel:accountId:SetVaultAccessPolicy' :: Text
accountId = Text
a} :: SetVaultAccessPolicy)
setVaultAccessPolicy_vaultName :: Lens.Lens' SetVaultAccessPolicy Prelude.Text
setVaultAccessPolicy_vaultName :: Lens' SetVaultAccessPolicy Text
setVaultAccessPolicy_vaultName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetVaultAccessPolicy' {Text
vaultName :: Text
$sel:vaultName:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
vaultName} -> Text
vaultName) (\s :: SetVaultAccessPolicy
s@SetVaultAccessPolicy' {} Text
a -> SetVaultAccessPolicy
s {$sel:vaultName:SetVaultAccessPolicy' :: Text
vaultName = Text
a} :: SetVaultAccessPolicy)
instance Core.AWSRequest SetVaultAccessPolicy where
type
AWSResponse SetVaultAccessPolicy =
SetVaultAccessPolicyResponse
request :: (Service -> Service)
-> SetVaultAccessPolicy -> Request SetVaultAccessPolicy
request Service -> Service
overrides =
forall a. ByteString -> Request a -> Request a
Request.glacierVersionHeader (Service -> ByteString
Core.version Service
defaultService)
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 SetVaultAccessPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse SetVaultAccessPolicy)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull SetVaultAccessPolicyResponse
SetVaultAccessPolicyResponse'
instance Prelude.Hashable SetVaultAccessPolicy where
hashWithSalt :: Int -> SetVaultAccessPolicy -> Int
hashWithSalt Int
_salt SetVaultAccessPolicy' {Maybe VaultAccessPolicy
Text
vaultName :: Text
accountId :: Text
policy :: Maybe VaultAccessPolicy
$sel:vaultName:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:accountId:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:policy:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Maybe VaultAccessPolicy
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe VaultAccessPolicy
policy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
vaultName
instance Prelude.NFData SetVaultAccessPolicy where
rnf :: SetVaultAccessPolicy -> ()
rnf SetVaultAccessPolicy' {Maybe VaultAccessPolicy
Text
vaultName :: Text
accountId :: Text
policy :: Maybe VaultAccessPolicy
$sel:vaultName:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:accountId:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:policy:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Maybe VaultAccessPolicy
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe VaultAccessPolicy
policy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
accountId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
vaultName
instance Data.ToHeaders SetVaultAccessPolicy where
toHeaders :: SetVaultAccessPolicy -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON SetVaultAccessPolicy where
toJSON :: SetVaultAccessPolicy -> Value
toJSON SetVaultAccessPolicy' {Maybe VaultAccessPolicy
Text
vaultName :: Text
accountId :: Text
policy :: Maybe VaultAccessPolicy
$sel:vaultName:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:accountId:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:policy:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Maybe VaultAccessPolicy
..} = forall a. ToJSON a => a -> Value
Data.toJSON Maybe VaultAccessPolicy
policy
instance Data.ToPath SetVaultAccessPolicy where
toPath :: SetVaultAccessPolicy -> ByteString
toPath SetVaultAccessPolicy' {Maybe VaultAccessPolicy
Text
vaultName :: Text
accountId :: Text
policy :: Maybe VaultAccessPolicy
$sel:vaultName:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:accountId:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Text
$sel:policy:SetVaultAccessPolicy' :: SetVaultAccessPolicy -> Maybe VaultAccessPolicy
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
accountId,
ByteString
"/vaults/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
vaultName,
ByteString
"/access-policy"
]
instance Data.ToQuery SetVaultAccessPolicy where
toQuery :: SetVaultAccessPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SetVaultAccessPolicyResponse = SetVaultAccessPolicyResponse'
{
}
deriving (SetVaultAccessPolicyResponse
-> SetVaultAccessPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetVaultAccessPolicyResponse
-> SetVaultAccessPolicyResponse -> Bool
$c/= :: SetVaultAccessPolicyResponse
-> SetVaultAccessPolicyResponse -> Bool
== :: SetVaultAccessPolicyResponse
-> SetVaultAccessPolicyResponse -> Bool
$c== :: SetVaultAccessPolicyResponse
-> SetVaultAccessPolicyResponse -> Bool
Prelude.Eq, ReadPrec [SetVaultAccessPolicyResponse]
ReadPrec SetVaultAccessPolicyResponse
Int -> ReadS SetVaultAccessPolicyResponse
ReadS [SetVaultAccessPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetVaultAccessPolicyResponse]
$creadListPrec :: ReadPrec [SetVaultAccessPolicyResponse]
readPrec :: ReadPrec SetVaultAccessPolicyResponse
$creadPrec :: ReadPrec SetVaultAccessPolicyResponse
readList :: ReadS [SetVaultAccessPolicyResponse]
$creadList :: ReadS [SetVaultAccessPolicyResponse]
readsPrec :: Int -> ReadS SetVaultAccessPolicyResponse
$creadsPrec :: Int -> ReadS SetVaultAccessPolicyResponse
Prelude.Read, Int -> SetVaultAccessPolicyResponse -> ShowS
[SetVaultAccessPolicyResponse] -> ShowS
SetVaultAccessPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetVaultAccessPolicyResponse] -> ShowS
$cshowList :: [SetVaultAccessPolicyResponse] -> ShowS
show :: SetVaultAccessPolicyResponse -> String
$cshow :: SetVaultAccessPolicyResponse -> String
showsPrec :: Int -> SetVaultAccessPolicyResponse -> ShowS
$cshowsPrec :: Int -> SetVaultAccessPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep SetVaultAccessPolicyResponse x -> SetVaultAccessPolicyResponse
forall x.
SetVaultAccessPolicyResponse -> Rep SetVaultAccessPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SetVaultAccessPolicyResponse x -> SetVaultAccessPolicyResponse
$cfrom :: forall x.
SetVaultAccessPolicyResponse -> Rep SetVaultAccessPolicyResponse x
Prelude.Generic)
newSetVaultAccessPolicyResponse ::
SetVaultAccessPolicyResponse
newSetVaultAccessPolicyResponse :: SetVaultAccessPolicyResponse
newSetVaultAccessPolicyResponse =
SetVaultAccessPolicyResponse
SetVaultAccessPolicyResponse'
instance Prelude.NFData SetVaultAccessPolicyResponse where
rnf :: SetVaultAccessPolicyResponse -> ()
rnf SetVaultAccessPolicyResponse
_ = ()