{-# 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.ECR.PutReplicationConfiguration
(
PutReplicationConfiguration (..),
newPutReplicationConfiguration,
putReplicationConfiguration_replicationConfiguration,
PutReplicationConfigurationResponse (..),
newPutReplicationConfigurationResponse,
putReplicationConfigurationResponse_replicationConfiguration,
putReplicationConfigurationResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ECR.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PutReplicationConfiguration = PutReplicationConfiguration'
{
PutReplicationConfiguration -> ReplicationConfiguration
replicationConfiguration :: ReplicationConfiguration
}
deriving (PutReplicationConfiguration -> PutReplicationConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutReplicationConfiguration -> PutReplicationConfiguration -> Bool
$c/= :: PutReplicationConfiguration -> PutReplicationConfiguration -> Bool
== :: PutReplicationConfiguration -> PutReplicationConfiguration -> Bool
$c== :: PutReplicationConfiguration -> PutReplicationConfiguration -> Bool
Prelude.Eq, ReadPrec [PutReplicationConfiguration]
ReadPrec PutReplicationConfiguration
Int -> ReadS PutReplicationConfiguration
ReadS [PutReplicationConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutReplicationConfiguration]
$creadListPrec :: ReadPrec [PutReplicationConfiguration]
readPrec :: ReadPrec PutReplicationConfiguration
$creadPrec :: ReadPrec PutReplicationConfiguration
readList :: ReadS [PutReplicationConfiguration]
$creadList :: ReadS [PutReplicationConfiguration]
readsPrec :: Int -> ReadS PutReplicationConfiguration
$creadsPrec :: Int -> ReadS PutReplicationConfiguration
Prelude.Read, Int -> PutReplicationConfiguration -> ShowS
[PutReplicationConfiguration] -> ShowS
PutReplicationConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutReplicationConfiguration] -> ShowS
$cshowList :: [PutReplicationConfiguration] -> ShowS
show :: PutReplicationConfiguration -> String
$cshow :: PutReplicationConfiguration -> String
showsPrec :: Int -> PutReplicationConfiguration -> ShowS
$cshowsPrec :: Int -> PutReplicationConfiguration -> ShowS
Prelude.Show, forall x.
Rep PutReplicationConfiguration x -> PutReplicationConfiguration
forall x.
PutReplicationConfiguration -> Rep PutReplicationConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutReplicationConfiguration x -> PutReplicationConfiguration
$cfrom :: forall x.
PutReplicationConfiguration -> Rep PutReplicationConfiguration x
Prelude.Generic)
newPutReplicationConfiguration ::
ReplicationConfiguration ->
PutReplicationConfiguration
newPutReplicationConfiguration :: ReplicationConfiguration -> PutReplicationConfiguration
newPutReplicationConfiguration
ReplicationConfiguration
pReplicationConfiguration_ =
PutReplicationConfiguration'
{ $sel:replicationConfiguration:PutReplicationConfiguration' :: ReplicationConfiguration
replicationConfiguration =
ReplicationConfiguration
pReplicationConfiguration_
}
putReplicationConfiguration_replicationConfiguration :: Lens.Lens' PutReplicationConfiguration ReplicationConfiguration
putReplicationConfiguration_replicationConfiguration :: Lens' PutReplicationConfiguration ReplicationConfiguration
putReplicationConfiguration_replicationConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutReplicationConfiguration' {ReplicationConfiguration
replicationConfiguration :: ReplicationConfiguration
$sel:replicationConfiguration:PutReplicationConfiguration' :: PutReplicationConfiguration -> ReplicationConfiguration
replicationConfiguration} -> ReplicationConfiguration
replicationConfiguration) (\s :: PutReplicationConfiguration
s@PutReplicationConfiguration' {} ReplicationConfiguration
a -> PutReplicationConfiguration
s {$sel:replicationConfiguration:PutReplicationConfiguration' :: ReplicationConfiguration
replicationConfiguration = ReplicationConfiguration
a} :: PutReplicationConfiguration)
instance Core.AWSRequest PutReplicationConfiguration where
type
AWSResponse PutReplicationConfiguration =
PutReplicationConfigurationResponse
request :: (Service -> Service)
-> PutReplicationConfiguration
-> Request PutReplicationConfiguration
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutReplicationConfiguration
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutReplicationConfiguration)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe ReplicationConfiguration
-> Int -> PutReplicationConfigurationResponse
PutReplicationConfigurationResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"replicationConfiguration")
forall (f :: * -> *) a b. Applicative f => 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))
)
instance Prelude.Hashable PutReplicationConfiguration where
hashWithSalt :: Int -> PutReplicationConfiguration -> Int
hashWithSalt Int
_salt PutReplicationConfiguration' {ReplicationConfiguration
replicationConfiguration :: ReplicationConfiguration
$sel:replicationConfiguration:PutReplicationConfiguration' :: PutReplicationConfiguration -> ReplicationConfiguration
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReplicationConfiguration
replicationConfiguration
instance Prelude.NFData PutReplicationConfiguration where
rnf :: PutReplicationConfiguration -> ()
rnf PutReplicationConfiguration' {ReplicationConfiguration
replicationConfiguration :: ReplicationConfiguration
$sel:replicationConfiguration:PutReplicationConfiguration' :: PutReplicationConfiguration -> ReplicationConfiguration
..} =
forall a. NFData a => a -> ()
Prelude.rnf ReplicationConfiguration
replicationConfiguration
instance Data.ToHeaders PutReplicationConfiguration where
toHeaders :: PutReplicationConfiguration -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonEC2ContainerRegistry_V20150921.PutReplicationConfiguration" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON PutReplicationConfiguration where
toJSON :: PutReplicationConfiguration -> Value
toJSON PutReplicationConfiguration' {ReplicationConfiguration
replicationConfiguration :: ReplicationConfiguration
$sel:replicationConfiguration:PutReplicationConfiguration' :: PutReplicationConfiguration -> ReplicationConfiguration
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"replicationConfiguration"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ReplicationConfiguration
replicationConfiguration
)
]
)
instance Data.ToPath PutReplicationConfiguration where
toPath :: PutReplicationConfiguration -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery PutReplicationConfiguration where
toQuery :: PutReplicationConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutReplicationConfigurationResponse = PutReplicationConfigurationResponse'
{
PutReplicationConfigurationResponse
-> Maybe ReplicationConfiguration
replicationConfiguration :: Prelude.Maybe ReplicationConfiguration,
PutReplicationConfigurationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutReplicationConfigurationResponse
-> PutReplicationConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutReplicationConfigurationResponse
-> PutReplicationConfigurationResponse -> Bool
$c/= :: PutReplicationConfigurationResponse
-> PutReplicationConfigurationResponse -> Bool
== :: PutReplicationConfigurationResponse
-> PutReplicationConfigurationResponse -> Bool
$c== :: PutReplicationConfigurationResponse
-> PutReplicationConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [PutReplicationConfigurationResponse]
ReadPrec PutReplicationConfigurationResponse
Int -> ReadS PutReplicationConfigurationResponse
ReadS [PutReplicationConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutReplicationConfigurationResponse]
$creadListPrec :: ReadPrec [PutReplicationConfigurationResponse]
readPrec :: ReadPrec PutReplicationConfigurationResponse
$creadPrec :: ReadPrec PutReplicationConfigurationResponse
readList :: ReadS [PutReplicationConfigurationResponse]
$creadList :: ReadS [PutReplicationConfigurationResponse]
readsPrec :: Int -> ReadS PutReplicationConfigurationResponse
$creadsPrec :: Int -> ReadS PutReplicationConfigurationResponse
Prelude.Read, Int -> PutReplicationConfigurationResponse -> ShowS
[PutReplicationConfigurationResponse] -> ShowS
PutReplicationConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutReplicationConfigurationResponse] -> ShowS
$cshowList :: [PutReplicationConfigurationResponse] -> ShowS
show :: PutReplicationConfigurationResponse -> String
$cshow :: PutReplicationConfigurationResponse -> String
showsPrec :: Int -> PutReplicationConfigurationResponse -> ShowS
$cshowsPrec :: Int -> PutReplicationConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep PutReplicationConfigurationResponse x
-> PutReplicationConfigurationResponse
forall x.
PutReplicationConfigurationResponse
-> Rep PutReplicationConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutReplicationConfigurationResponse x
-> PutReplicationConfigurationResponse
$cfrom :: forall x.
PutReplicationConfigurationResponse
-> Rep PutReplicationConfigurationResponse x
Prelude.Generic)
newPutReplicationConfigurationResponse ::
Prelude.Int ->
PutReplicationConfigurationResponse
newPutReplicationConfigurationResponse :: Int -> PutReplicationConfigurationResponse
newPutReplicationConfigurationResponse Int
pHttpStatus_ =
PutReplicationConfigurationResponse'
{ $sel:replicationConfiguration:PutReplicationConfigurationResponse' :: Maybe ReplicationConfiguration
replicationConfiguration =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:PutReplicationConfigurationResponse' :: Int
httpStatus = Int
pHttpStatus_
}
putReplicationConfigurationResponse_replicationConfiguration :: Lens.Lens' PutReplicationConfigurationResponse (Prelude.Maybe ReplicationConfiguration)
putReplicationConfigurationResponse_replicationConfiguration :: Lens'
PutReplicationConfigurationResponse
(Maybe ReplicationConfiguration)
putReplicationConfigurationResponse_replicationConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutReplicationConfigurationResponse' {Maybe ReplicationConfiguration
replicationConfiguration :: Maybe ReplicationConfiguration
$sel:replicationConfiguration:PutReplicationConfigurationResponse' :: PutReplicationConfigurationResponse
-> Maybe ReplicationConfiguration
replicationConfiguration} -> Maybe ReplicationConfiguration
replicationConfiguration) (\s :: PutReplicationConfigurationResponse
s@PutReplicationConfigurationResponse' {} Maybe ReplicationConfiguration
a -> PutReplicationConfigurationResponse
s {$sel:replicationConfiguration:PutReplicationConfigurationResponse' :: Maybe ReplicationConfiguration
replicationConfiguration = Maybe ReplicationConfiguration
a} :: PutReplicationConfigurationResponse)
putReplicationConfigurationResponse_httpStatus :: Lens.Lens' PutReplicationConfigurationResponse Prelude.Int
putReplicationConfigurationResponse_httpStatus :: Lens' PutReplicationConfigurationResponse Int
putReplicationConfigurationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutReplicationConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutReplicationConfigurationResponse' :: PutReplicationConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutReplicationConfigurationResponse
s@PutReplicationConfigurationResponse' {} Int
a -> PutReplicationConfigurationResponse
s {$sel:httpStatus:PutReplicationConfigurationResponse' :: Int
httpStatus = Int
a} :: PutReplicationConfigurationResponse)
instance
Prelude.NFData
PutReplicationConfigurationResponse
where
rnf :: PutReplicationConfigurationResponse -> ()
rnf PutReplicationConfigurationResponse' {Int
Maybe ReplicationConfiguration
httpStatus :: Int
replicationConfiguration :: Maybe ReplicationConfiguration
$sel:httpStatus:PutReplicationConfigurationResponse' :: PutReplicationConfigurationResponse -> Int
$sel:replicationConfiguration:PutReplicationConfigurationResponse' :: PutReplicationConfigurationResponse
-> Maybe ReplicationConfiguration
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationConfiguration
replicationConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus