{-# 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.SetDataRetrievalPolicy
(
SetDataRetrievalPolicy (..),
newSetDataRetrievalPolicy,
setDataRetrievalPolicy_policy,
setDataRetrievalPolicy_accountId,
SetDataRetrievalPolicyResponse (..),
newSetDataRetrievalPolicyResponse,
)
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 SetDataRetrievalPolicy = SetDataRetrievalPolicy'
{
SetDataRetrievalPolicy -> Maybe DataRetrievalPolicy
policy :: Prelude.Maybe DataRetrievalPolicy,
SetDataRetrievalPolicy -> Text
accountId :: Prelude.Text
}
deriving (SetDataRetrievalPolicy -> SetDataRetrievalPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetDataRetrievalPolicy -> SetDataRetrievalPolicy -> Bool
$c/= :: SetDataRetrievalPolicy -> SetDataRetrievalPolicy -> Bool
== :: SetDataRetrievalPolicy -> SetDataRetrievalPolicy -> Bool
$c== :: SetDataRetrievalPolicy -> SetDataRetrievalPolicy -> Bool
Prelude.Eq, ReadPrec [SetDataRetrievalPolicy]
ReadPrec SetDataRetrievalPolicy
Int -> ReadS SetDataRetrievalPolicy
ReadS [SetDataRetrievalPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetDataRetrievalPolicy]
$creadListPrec :: ReadPrec [SetDataRetrievalPolicy]
readPrec :: ReadPrec SetDataRetrievalPolicy
$creadPrec :: ReadPrec SetDataRetrievalPolicy
readList :: ReadS [SetDataRetrievalPolicy]
$creadList :: ReadS [SetDataRetrievalPolicy]
readsPrec :: Int -> ReadS SetDataRetrievalPolicy
$creadsPrec :: Int -> ReadS SetDataRetrievalPolicy
Prelude.Read, Int -> SetDataRetrievalPolicy -> ShowS
[SetDataRetrievalPolicy] -> ShowS
SetDataRetrievalPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetDataRetrievalPolicy] -> ShowS
$cshowList :: [SetDataRetrievalPolicy] -> ShowS
show :: SetDataRetrievalPolicy -> String
$cshow :: SetDataRetrievalPolicy -> String
showsPrec :: Int -> SetDataRetrievalPolicy -> ShowS
$cshowsPrec :: Int -> SetDataRetrievalPolicy -> ShowS
Prelude.Show, forall x. Rep SetDataRetrievalPolicy x -> SetDataRetrievalPolicy
forall x. SetDataRetrievalPolicy -> Rep SetDataRetrievalPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SetDataRetrievalPolicy x -> SetDataRetrievalPolicy
$cfrom :: forall x. SetDataRetrievalPolicy -> Rep SetDataRetrievalPolicy x
Prelude.Generic)
newSetDataRetrievalPolicy ::
Prelude.Text ->
SetDataRetrievalPolicy
newSetDataRetrievalPolicy :: Text -> SetDataRetrievalPolicy
newSetDataRetrievalPolicy Text
pAccountId_ =
SetDataRetrievalPolicy'
{ $sel:policy:SetDataRetrievalPolicy' :: Maybe DataRetrievalPolicy
policy = forall a. Maybe a
Prelude.Nothing,
$sel:accountId:SetDataRetrievalPolicy' :: Text
accountId = Text
pAccountId_
}
setDataRetrievalPolicy_policy :: Lens.Lens' SetDataRetrievalPolicy (Prelude.Maybe DataRetrievalPolicy)
setDataRetrievalPolicy_policy :: Lens' SetDataRetrievalPolicy (Maybe DataRetrievalPolicy)
setDataRetrievalPolicy_policy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDataRetrievalPolicy' {Maybe DataRetrievalPolicy
policy :: Maybe DataRetrievalPolicy
$sel:policy:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Maybe DataRetrievalPolicy
policy} -> Maybe DataRetrievalPolicy
policy) (\s :: SetDataRetrievalPolicy
s@SetDataRetrievalPolicy' {} Maybe DataRetrievalPolicy
a -> SetDataRetrievalPolicy
s {$sel:policy:SetDataRetrievalPolicy' :: Maybe DataRetrievalPolicy
policy = Maybe DataRetrievalPolicy
a} :: SetDataRetrievalPolicy)
setDataRetrievalPolicy_accountId :: Lens.Lens' SetDataRetrievalPolicy Prelude.Text
setDataRetrievalPolicy_accountId :: Lens' SetDataRetrievalPolicy Text
setDataRetrievalPolicy_accountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SetDataRetrievalPolicy' {Text
accountId :: Text
$sel:accountId:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Text
accountId} -> Text
accountId) (\s :: SetDataRetrievalPolicy
s@SetDataRetrievalPolicy' {} Text
a -> SetDataRetrievalPolicy
s {$sel:accountId:SetDataRetrievalPolicy' :: Text
accountId = Text
a} :: SetDataRetrievalPolicy)
instance Core.AWSRequest SetDataRetrievalPolicy where
type
AWSResponse SetDataRetrievalPolicy =
SetDataRetrievalPolicyResponse
request :: (Service -> Service)
-> SetDataRetrievalPolicy -> Request SetDataRetrievalPolicy
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 SetDataRetrievalPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse SetDataRetrievalPolicy)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
SetDataRetrievalPolicyResponse
SetDataRetrievalPolicyResponse'
instance Prelude.Hashable SetDataRetrievalPolicy where
hashWithSalt :: Int -> SetDataRetrievalPolicy -> Int
hashWithSalt Int
_salt SetDataRetrievalPolicy' {Maybe DataRetrievalPolicy
Text
accountId :: Text
policy :: Maybe DataRetrievalPolicy
$sel:accountId:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Text
$sel:policy:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Maybe DataRetrievalPolicy
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DataRetrievalPolicy
policy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
accountId
instance Prelude.NFData SetDataRetrievalPolicy where
rnf :: SetDataRetrievalPolicy -> ()
rnf SetDataRetrievalPolicy' {Maybe DataRetrievalPolicy
Text
accountId :: Text
policy :: Maybe DataRetrievalPolicy
$sel:accountId:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Text
$sel:policy:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Maybe DataRetrievalPolicy
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DataRetrievalPolicy
policy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
accountId
instance Data.ToHeaders SetDataRetrievalPolicy where
toHeaders :: SetDataRetrievalPolicy -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON SetDataRetrievalPolicy where
toJSON :: SetDataRetrievalPolicy -> Value
toJSON SetDataRetrievalPolicy' {Maybe DataRetrievalPolicy
Text
accountId :: Text
policy :: Maybe DataRetrievalPolicy
$sel:accountId:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Text
$sel:policy:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Maybe DataRetrievalPolicy
..} =
[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 DataRetrievalPolicy
policy]
)
instance Data.ToPath SetDataRetrievalPolicy where
toPath :: SetDataRetrievalPolicy -> ByteString
toPath SetDataRetrievalPolicy' {Maybe DataRetrievalPolicy
Text
accountId :: Text
policy :: Maybe DataRetrievalPolicy
$sel:accountId:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Text
$sel:policy:SetDataRetrievalPolicy' :: SetDataRetrievalPolicy -> Maybe DataRetrievalPolicy
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
accountId,
ByteString
"/policies/data-retrieval"
]
instance Data.ToQuery SetDataRetrievalPolicy where
toQuery :: SetDataRetrievalPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SetDataRetrievalPolicyResponse = SetDataRetrievalPolicyResponse'
{
}
deriving (SetDataRetrievalPolicyResponse
-> SetDataRetrievalPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetDataRetrievalPolicyResponse
-> SetDataRetrievalPolicyResponse -> Bool
$c/= :: SetDataRetrievalPolicyResponse
-> SetDataRetrievalPolicyResponse -> Bool
== :: SetDataRetrievalPolicyResponse
-> SetDataRetrievalPolicyResponse -> Bool
$c== :: SetDataRetrievalPolicyResponse
-> SetDataRetrievalPolicyResponse -> Bool
Prelude.Eq, ReadPrec [SetDataRetrievalPolicyResponse]
ReadPrec SetDataRetrievalPolicyResponse
Int -> ReadS SetDataRetrievalPolicyResponse
ReadS [SetDataRetrievalPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SetDataRetrievalPolicyResponse]
$creadListPrec :: ReadPrec [SetDataRetrievalPolicyResponse]
readPrec :: ReadPrec SetDataRetrievalPolicyResponse
$creadPrec :: ReadPrec SetDataRetrievalPolicyResponse
readList :: ReadS [SetDataRetrievalPolicyResponse]
$creadList :: ReadS [SetDataRetrievalPolicyResponse]
readsPrec :: Int -> ReadS SetDataRetrievalPolicyResponse
$creadsPrec :: Int -> ReadS SetDataRetrievalPolicyResponse
Prelude.Read, Int -> SetDataRetrievalPolicyResponse -> ShowS
[SetDataRetrievalPolicyResponse] -> ShowS
SetDataRetrievalPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetDataRetrievalPolicyResponse] -> ShowS
$cshowList :: [SetDataRetrievalPolicyResponse] -> ShowS
show :: SetDataRetrievalPolicyResponse -> String
$cshow :: SetDataRetrievalPolicyResponse -> String
showsPrec :: Int -> SetDataRetrievalPolicyResponse -> ShowS
$cshowsPrec :: Int -> SetDataRetrievalPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep SetDataRetrievalPolicyResponse x
-> SetDataRetrievalPolicyResponse
forall x.
SetDataRetrievalPolicyResponse
-> Rep SetDataRetrievalPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SetDataRetrievalPolicyResponse x
-> SetDataRetrievalPolicyResponse
$cfrom :: forall x.
SetDataRetrievalPolicyResponse
-> Rep SetDataRetrievalPolicyResponse x
Prelude.Generic)
newSetDataRetrievalPolicyResponse ::
SetDataRetrievalPolicyResponse
newSetDataRetrievalPolicyResponse :: SetDataRetrievalPolicyResponse
newSetDataRetrievalPolicyResponse =
SetDataRetrievalPolicyResponse
SetDataRetrievalPolicyResponse'
instance
Prelude.NFData
SetDataRetrievalPolicyResponse
where
rnf :: SetDataRetrievalPolicyResponse -> ()
rnf SetDataRetrievalPolicyResponse
_ = ()