{-# 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.DrS.CreateReplicationConfigurationTemplate
(
CreateReplicationConfigurationTemplate (..),
newCreateReplicationConfigurationTemplate,
createReplicationConfigurationTemplate_ebsEncryptionKeyArn,
createReplicationConfigurationTemplate_tags,
createReplicationConfigurationTemplate_associateDefaultSecurityGroup,
createReplicationConfigurationTemplate_bandwidthThrottling,
createReplicationConfigurationTemplate_createPublicIP,
createReplicationConfigurationTemplate_dataPlaneRouting,
createReplicationConfigurationTemplate_defaultLargeStagingDiskType,
createReplicationConfigurationTemplate_ebsEncryption,
createReplicationConfigurationTemplate_pitPolicy,
createReplicationConfigurationTemplate_replicationServerInstanceType,
createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs,
createReplicationConfigurationTemplate_stagingAreaSubnetId,
createReplicationConfigurationTemplate_stagingAreaTags,
createReplicationConfigurationTemplate_useDedicatedReplicationServer,
ReplicationConfigurationTemplate (..),
newReplicationConfigurationTemplate,
replicationConfigurationTemplate_arn,
replicationConfigurationTemplate_associateDefaultSecurityGroup,
replicationConfigurationTemplate_bandwidthThrottling,
replicationConfigurationTemplate_createPublicIP,
replicationConfigurationTemplate_dataPlaneRouting,
replicationConfigurationTemplate_defaultLargeStagingDiskType,
replicationConfigurationTemplate_ebsEncryption,
replicationConfigurationTemplate_ebsEncryptionKeyArn,
replicationConfigurationTemplate_pitPolicy,
replicationConfigurationTemplate_replicationServerInstanceType,
replicationConfigurationTemplate_replicationServersSecurityGroupsIDs,
replicationConfigurationTemplate_stagingAreaSubnetId,
replicationConfigurationTemplate_stagingAreaTags,
replicationConfigurationTemplate_tags,
replicationConfigurationTemplate_useDedicatedReplicationServer,
replicationConfigurationTemplate_replicationConfigurationTemplateID,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DrS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateReplicationConfigurationTemplate = CreateReplicationConfigurationTemplate'
{
CreateReplicationConfigurationTemplate -> Maybe Text
ebsEncryptionKeyArn :: Prelude.Maybe Prelude.Text,
CreateReplicationConfigurationTemplate
-> Maybe (Sensitive (HashMap Text Text))
tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),
CreateReplicationConfigurationTemplate -> Bool
associateDefaultSecurityGroup :: Prelude.Bool,
CreateReplicationConfigurationTemplate -> Natural
bandwidthThrottling :: Prelude.Natural,
CreateReplicationConfigurationTemplate -> Bool
createPublicIP :: Prelude.Bool,
CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDataPlaneRouting
dataPlaneRouting :: ReplicationConfigurationDataPlaneRouting,
CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType :: ReplicationConfigurationDefaultLargeStagingDiskType,
CreateReplicationConfigurationTemplate
-> ReplicationConfigurationEbsEncryption
ebsEncryption :: ReplicationConfigurationEbsEncryption,
CreateReplicationConfigurationTemplate -> NonEmpty PITPolicyRule
pitPolicy :: Prelude.NonEmpty PITPolicyRule,
CreateReplicationConfigurationTemplate -> Text
replicationServerInstanceType :: Prelude.Text,
:: [Prelude.Text],
CreateReplicationConfigurationTemplate -> Text
stagingAreaSubnetId :: Prelude.Text,
CreateReplicationConfigurationTemplate
-> Sensitive (HashMap Text Text)
stagingAreaTags :: Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text),
CreateReplicationConfigurationTemplate -> Bool
useDedicatedReplicationServer :: Prelude.Bool
}
deriving (CreateReplicationConfigurationTemplate
-> CreateReplicationConfigurationTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateReplicationConfigurationTemplate
-> CreateReplicationConfigurationTemplate -> Bool
$c/= :: CreateReplicationConfigurationTemplate
-> CreateReplicationConfigurationTemplate -> Bool
== :: CreateReplicationConfigurationTemplate
-> CreateReplicationConfigurationTemplate -> Bool
$c== :: CreateReplicationConfigurationTemplate
-> CreateReplicationConfigurationTemplate -> Bool
Prelude.Eq, Int -> CreateReplicationConfigurationTemplate -> ShowS
[CreateReplicationConfigurationTemplate] -> ShowS
CreateReplicationConfigurationTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateReplicationConfigurationTemplate] -> ShowS
$cshowList :: [CreateReplicationConfigurationTemplate] -> ShowS
show :: CreateReplicationConfigurationTemplate -> String
$cshow :: CreateReplicationConfigurationTemplate -> String
showsPrec :: Int -> CreateReplicationConfigurationTemplate -> ShowS
$cshowsPrec :: Int -> CreateReplicationConfigurationTemplate -> ShowS
Prelude.Show, forall x.
Rep CreateReplicationConfigurationTemplate x
-> CreateReplicationConfigurationTemplate
forall x.
CreateReplicationConfigurationTemplate
-> Rep CreateReplicationConfigurationTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateReplicationConfigurationTemplate x
-> CreateReplicationConfigurationTemplate
$cfrom :: forall x.
CreateReplicationConfigurationTemplate
-> Rep CreateReplicationConfigurationTemplate x
Prelude.Generic)
newCreateReplicationConfigurationTemplate ::
Prelude.Bool ->
Prelude.Natural ->
Prelude.Bool ->
ReplicationConfigurationDataPlaneRouting ->
ReplicationConfigurationDefaultLargeStagingDiskType ->
ReplicationConfigurationEbsEncryption ->
Prelude.NonEmpty PITPolicyRule ->
Prelude.Text ->
Prelude.Text ->
Prelude.Bool ->
CreateReplicationConfigurationTemplate
newCreateReplicationConfigurationTemplate :: Bool
-> Natural
-> Bool
-> ReplicationConfigurationDataPlaneRouting
-> ReplicationConfigurationDefaultLargeStagingDiskType
-> ReplicationConfigurationEbsEncryption
-> NonEmpty PITPolicyRule
-> Text
-> Text
-> Bool
-> CreateReplicationConfigurationTemplate
newCreateReplicationConfigurationTemplate
Bool
pAssociateDefaultSecurityGroup_
Natural
pBandwidthThrottling_
Bool
pCreatePublicIP_
ReplicationConfigurationDataPlaneRouting
pDataPlaneRouting_
ReplicationConfigurationDefaultLargeStagingDiskType
pDefaultLargeStagingDiskType_
ReplicationConfigurationEbsEncryption
pEbsEncryption_
NonEmpty PITPolicyRule
pPitPolicy_
Text
pReplicationServerInstanceType_
Text
pStagingAreaSubnetId_
Bool
pUseDedicatedReplicationServer_ =
CreateReplicationConfigurationTemplate'
{ $sel:ebsEncryptionKeyArn:CreateReplicationConfigurationTemplate' :: Maybe Text
ebsEncryptionKeyArn =
forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateReplicationConfigurationTemplate' :: Maybe (Sensitive (HashMap Text Text))
tags = forall a. Maybe a
Prelude.Nothing,
$sel:associateDefaultSecurityGroup:CreateReplicationConfigurationTemplate' :: Bool
associateDefaultSecurityGroup =
Bool
pAssociateDefaultSecurityGroup_,
$sel:bandwidthThrottling:CreateReplicationConfigurationTemplate' :: Natural
bandwidthThrottling =
Natural
pBandwidthThrottling_,
$sel:createPublicIP:CreateReplicationConfigurationTemplate' :: Bool
createPublicIP = Bool
pCreatePublicIP_,
$sel:dataPlaneRouting:CreateReplicationConfigurationTemplate' :: ReplicationConfigurationDataPlaneRouting
dataPlaneRouting =
ReplicationConfigurationDataPlaneRouting
pDataPlaneRouting_,
$sel:defaultLargeStagingDiskType:CreateReplicationConfigurationTemplate' :: ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType =
ReplicationConfigurationDefaultLargeStagingDiskType
pDefaultLargeStagingDiskType_,
$sel:ebsEncryption:CreateReplicationConfigurationTemplate' :: ReplicationConfigurationEbsEncryption
ebsEncryption = ReplicationConfigurationEbsEncryption
pEbsEncryption_,
$sel:pitPolicy:CreateReplicationConfigurationTemplate' :: NonEmpty PITPolicyRule
pitPolicy =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty PITPolicyRule
pPitPolicy_,
$sel:replicationServerInstanceType:CreateReplicationConfigurationTemplate' :: Text
replicationServerInstanceType =
Text
pReplicationServerInstanceType_,
$sel:replicationServersSecurityGroupsIDs:CreateReplicationConfigurationTemplate' :: [Text]
replicationServersSecurityGroupsIDs =
forall a. Monoid a => a
Prelude.mempty,
$sel:stagingAreaSubnetId:CreateReplicationConfigurationTemplate' :: Text
stagingAreaSubnetId =
Text
pStagingAreaSubnetId_,
$sel:stagingAreaTags:CreateReplicationConfigurationTemplate' :: Sensitive (HashMap Text Text)
stagingAreaTags = forall a. Monoid a => a
Prelude.mempty,
$sel:useDedicatedReplicationServer:CreateReplicationConfigurationTemplate' :: Bool
useDedicatedReplicationServer =
Bool
pUseDedicatedReplicationServer_
}
createReplicationConfigurationTemplate_ebsEncryptionKeyArn :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.Maybe Prelude.Text)
createReplicationConfigurationTemplate_ebsEncryptionKeyArn :: Lens' CreateReplicationConfigurationTemplate (Maybe Text)
createReplicationConfigurationTemplate_ebsEncryptionKeyArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Maybe Text
ebsEncryptionKeyArn :: Maybe Text
$sel:ebsEncryptionKeyArn:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Maybe Text
ebsEncryptionKeyArn} -> Maybe Text
ebsEncryptionKeyArn) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Maybe Text
a -> CreateReplicationConfigurationTemplate
s {$sel:ebsEncryptionKeyArn:CreateReplicationConfigurationTemplate' :: Maybe Text
ebsEncryptionKeyArn = Maybe Text
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_tags :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createReplicationConfigurationTemplate_tags :: Lens'
CreateReplicationConfigurationTemplate (Maybe (HashMap Text Text))
createReplicationConfigurationTemplate_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Maybe (Sensitive (HashMap Text Text))
tags :: Maybe (Sensitive (HashMap Text Text))
$sel:tags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Maybe (Sensitive (HashMap Text Text))
tags} -> Maybe (Sensitive (HashMap Text Text))
tags) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Maybe (Sensitive (HashMap Text Text))
a -> CreateReplicationConfigurationTemplate
s {$sel:tags:CreateReplicationConfigurationTemplate' :: Maybe (Sensitive (HashMap Text Text))
tags = Maybe (Sensitive (HashMap Text Text))
a} :: CreateReplicationConfigurationTemplate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping (forall a. Iso' (Sensitive a) a
Data._Sensitive forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced)
createReplicationConfigurationTemplate_associateDefaultSecurityGroup :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Bool
createReplicationConfigurationTemplate_associateDefaultSecurityGroup :: Lens' CreateReplicationConfigurationTemplate Bool
createReplicationConfigurationTemplate_associateDefaultSecurityGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Bool
associateDefaultSecurityGroup :: Bool
$sel:associateDefaultSecurityGroup:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
associateDefaultSecurityGroup} -> Bool
associateDefaultSecurityGroup) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Bool
a -> CreateReplicationConfigurationTemplate
s {$sel:associateDefaultSecurityGroup:CreateReplicationConfigurationTemplate' :: Bool
associateDefaultSecurityGroup = Bool
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_bandwidthThrottling :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Natural
createReplicationConfigurationTemplate_bandwidthThrottling :: Lens' CreateReplicationConfigurationTemplate Natural
createReplicationConfigurationTemplate_bandwidthThrottling = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Natural
bandwidthThrottling :: Natural
$sel:bandwidthThrottling:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Natural
bandwidthThrottling} -> Natural
bandwidthThrottling) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Natural
a -> CreateReplicationConfigurationTemplate
s {$sel:bandwidthThrottling:CreateReplicationConfigurationTemplate' :: Natural
bandwidthThrottling = Natural
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_createPublicIP :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Bool
createReplicationConfigurationTemplate_createPublicIP :: Lens' CreateReplicationConfigurationTemplate Bool
createReplicationConfigurationTemplate_createPublicIP = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Bool
createPublicIP :: Bool
$sel:createPublicIP:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
createPublicIP} -> Bool
createPublicIP) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Bool
a -> CreateReplicationConfigurationTemplate
s {$sel:createPublicIP:CreateReplicationConfigurationTemplate' :: Bool
createPublicIP = Bool
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_dataPlaneRouting :: Lens.Lens' CreateReplicationConfigurationTemplate ReplicationConfigurationDataPlaneRouting
createReplicationConfigurationTemplate_dataPlaneRouting :: Lens'
CreateReplicationConfigurationTemplate
ReplicationConfigurationDataPlaneRouting
createReplicationConfigurationTemplate_dataPlaneRouting = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {ReplicationConfigurationDataPlaneRouting
dataPlaneRouting :: ReplicationConfigurationDataPlaneRouting
$sel:dataPlaneRouting:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDataPlaneRouting
dataPlaneRouting} -> ReplicationConfigurationDataPlaneRouting
dataPlaneRouting) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} ReplicationConfigurationDataPlaneRouting
a -> CreateReplicationConfigurationTemplate
s {$sel:dataPlaneRouting:CreateReplicationConfigurationTemplate' :: ReplicationConfigurationDataPlaneRouting
dataPlaneRouting = ReplicationConfigurationDataPlaneRouting
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_defaultLargeStagingDiskType :: Lens.Lens' CreateReplicationConfigurationTemplate ReplicationConfigurationDefaultLargeStagingDiskType
createReplicationConfigurationTemplate_defaultLargeStagingDiskType :: Lens'
CreateReplicationConfigurationTemplate
ReplicationConfigurationDefaultLargeStagingDiskType
createReplicationConfigurationTemplate_defaultLargeStagingDiskType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType :: ReplicationConfigurationDefaultLargeStagingDiskType
$sel:defaultLargeStagingDiskType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType} -> ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} ReplicationConfigurationDefaultLargeStagingDiskType
a -> CreateReplicationConfigurationTemplate
s {$sel:defaultLargeStagingDiskType:CreateReplicationConfigurationTemplate' :: ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType = ReplicationConfigurationDefaultLargeStagingDiskType
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_ebsEncryption :: Lens.Lens' CreateReplicationConfigurationTemplate ReplicationConfigurationEbsEncryption
createReplicationConfigurationTemplate_ebsEncryption :: Lens'
CreateReplicationConfigurationTemplate
ReplicationConfigurationEbsEncryption
createReplicationConfigurationTemplate_ebsEncryption = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {ReplicationConfigurationEbsEncryption
ebsEncryption :: ReplicationConfigurationEbsEncryption
$sel:ebsEncryption:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationEbsEncryption
ebsEncryption} -> ReplicationConfigurationEbsEncryption
ebsEncryption) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} ReplicationConfigurationEbsEncryption
a -> CreateReplicationConfigurationTemplate
s {$sel:ebsEncryption:CreateReplicationConfigurationTemplate' :: ReplicationConfigurationEbsEncryption
ebsEncryption = ReplicationConfigurationEbsEncryption
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_pitPolicy :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.NonEmpty PITPolicyRule)
createReplicationConfigurationTemplate_pitPolicy :: Lens'
CreateReplicationConfigurationTemplate (NonEmpty PITPolicyRule)
createReplicationConfigurationTemplate_pitPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {NonEmpty PITPolicyRule
pitPolicy :: NonEmpty PITPolicyRule
$sel:pitPolicy:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> NonEmpty PITPolicyRule
pitPolicy} -> NonEmpty PITPolicyRule
pitPolicy) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} NonEmpty PITPolicyRule
a -> CreateReplicationConfigurationTemplate
s {$sel:pitPolicy:CreateReplicationConfigurationTemplate' :: NonEmpty PITPolicyRule
pitPolicy = NonEmpty PITPolicyRule
a} :: CreateReplicationConfigurationTemplate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createReplicationConfigurationTemplate_replicationServerInstanceType :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Text
createReplicationConfigurationTemplate_replicationServerInstanceType :: Lens' CreateReplicationConfigurationTemplate Text
createReplicationConfigurationTemplate_replicationServerInstanceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Text
replicationServerInstanceType :: Text
$sel:replicationServerInstanceType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
replicationServerInstanceType} -> Text
replicationServerInstanceType) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Text
a -> CreateReplicationConfigurationTemplate
s {$sel:replicationServerInstanceType:CreateReplicationConfigurationTemplate' :: Text
replicationServerInstanceType = Text
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_replicationServersSecurityGroupsIDs :: Lens.Lens' CreateReplicationConfigurationTemplate [Prelude.Text]
= forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {[Text]
replicationServersSecurityGroupsIDs :: [Text]
$sel:replicationServersSecurityGroupsIDs:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> [Text]
replicationServersSecurityGroupsIDs} -> [Text]
replicationServersSecurityGroupsIDs) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} [Text]
a -> CreateReplicationConfigurationTemplate
s {$sel:replicationServersSecurityGroupsIDs:CreateReplicationConfigurationTemplate' :: [Text]
replicationServersSecurityGroupsIDs = [Text]
a} :: CreateReplicationConfigurationTemplate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createReplicationConfigurationTemplate_stagingAreaSubnetId :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Text
createReplicationConfigurationTemplate_stagingAreaSubnetId :: Lens' CreateReplicationConfigurationTemplate Text
createReplicationConfigurationTemplate_stagingAreaSubnetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Text
stagingAreaSubnetId :: Text
$sel:stagingAreaSubnetId:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
stagingAreaSubnetId} -> Text
stagingAreaSubnetId) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Text
a -> CreateReplicationConfigurationTemplate
s {$sel:stagingAreaSubnetId:CreateReplicationConfigurationTemplate' :: Text
stagingAreaSubnetId = Text
a} :: CreateReplicationConfigurationTemplate)
createReplicationConfigurationTemplate_stagingAreaTags :: Lens.Lens' CreateReplicationConfigurationTemplate (Prelude.HashMap Prelude.Text Prelude.Text)
createReplicationConfigurationTemplate_stagingAreaTags :: Lens' CreateReplicationConfigurationTemplate (HashMap Text Text)
createReplicationConfigurationTemplate_stagingAreaTags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Sensitive (HashMap Text Text)
stagingAreaTags :: Sensitive (HashMap Text Text)
$sel:stagingAreaTags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Sensitive (HashMap Text Text)
stagingAreaTags} -> Sensitive (HashMap Text Text)
stagingAreaTags) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Sensitive (HashMap Text Text)
a -> CreateReplicationConfigurationTemplate
s {$sel:stagingAreaTags:CreateReplicationConfigurationTemplate' :: Sensitive (HashMap Text Text)
stagingAreaTags = Sensitive (HashMap Text Text)
a} :: CreateReplicationConfigurationTemplate) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createReplicationConfigurationTemplate_useDedicatedReplicationServer :: Lens.Lens' CreateReplicationConfigurationTemplate Prelude.Bool
createReplicationConfigurationTemplate_useDedicatedReplicationServer :: Lens' CreateReplicationConfigurationTemplate Bool
createReplicationConfigurationTemplate_useDedicatedReplicationServer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateReplicationConfigurationTemplate' {Bool
useDedicatedReplicationServer :: Bool
$sel:useDedicatedReplicationServer:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
useDedicatedReplicationServer} -> Bool
useDedicatedReplicationServer) (\s :: CreateReplicationConfigurationTemplate
s@CreateReplicationConfigurationTemplate' {} Bool
a -> CreateReplicationConfigurationTemplate
s {$sel:useDedicatedReplicationServer:CreateReplicationConfigurationTemplate' :: Bool
useDedicatedReplicationServer = Bool
a} :: CreateReplicationConfigurationTemplate)
instance
Core.AWSRequest
CreateReplicationConfigurationTemplate
where
type
AWSResponse
CreateReplicationConfigurationTemplate =
ReplicationConfigurationTemplate
request :: (Service -> Service)
-> CreateReplicationConfigurationTemplate
-> Request CreateReplicationConfigurationTemplate
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 CreateReplicationConfigurationTemplate
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse CreateReplicationConfigurationTemplate)))
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 -> forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
instance
Prelude.Hashable
CreateReplicationConfigurationTemplate
where
hashWithSalt :: Int -> CreateReplicationConfigurationTemplate -> Int
hashWithSalt
Int
_salt
CreateReplicationConfigurationTemplate' {Bool
Natural
[Text]
Maybe Text
Maybe (Sensitive (HashMap Text Text))
NonEmpty PITPolicyRule
Text
Sensitive (HashMap Text Text)
ReplicationConfigurationDataPlaneRouting
ReplicationConfigurationDefaultLargeStagingDiskType
ReplicationConfigurationEbsEncryption
useDedicatedReplicationServer :: Bool
stagingAreaTags :: Sensitive (HashMap Text Text)
stagingAreaSubnetId :: Text
replicationServersSecurityGroupsIDs :: [Text]
replicationServerInstanceType :: Text
pitPolicy :: NonEmpty PITPolicyRule
ebsEncryption :: ReplicationConfigurationEbsEncryption
defaultLargeStagingDiskType :: ReplicationConfigurationDefaultLargeStagingDiskType
dataPlaneRouting :: ReplicationConfigurationDataPlaneRouting
createPublicIP :: Bool
bandwidthThrottling :: Natural
associateDefaultSecurityGroup :: Bool
tags :: Maybe (Sensitive (HashMap Text Text))
ebsEncryptionKeyArn :: Maybe Text
$sel:useDedicatedReplicationServer:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:stagingAreaTags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Sensitive (HashMap Text Text)
$sel:stagingAreaSubnetId:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
$sel:replicationServersSecurityGroupsIDs:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> [Text]
$sel:replicationServerInstanceType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
$sel:pitPolicy:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> NonEmpty PITPolicyRule
$sel:ebsEncryption:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationEbsEncryption
$sel:defaultLargeStagingDiskType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDefaultLargeStagingDiskType
$sel:dataPlaneRouting:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDataPlaneRouting
$sel:createPublicIP:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:bandwidthThrottling:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Natural
$sel:associateDefaultSecurityGroup:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:tags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Maybe (Sensitive (HashMap Text Text))
$sel:ebsEncryptionKeyArn:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ebsEncryptionKeyArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive (HashMap Text Text))
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
associateDefaultSecurityGroup
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
bandwidthThrottling
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
createPublicIP
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReplicationConfigurationDataPlaneRouting
dataPlaneRouting
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ReplicationConfigurationEbsEncryption
ebsEncryption
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty PITPolicyRule
pitPolicy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
replicationServerInstanceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
replicationServersSecurityGroupsIDs
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
stagingAreaSubnetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive (HashMap Text Text)
stagingAreaTags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Bool
useDedicatedReplicationServer
instance
Prelude.NFData
CreateReplicationConfigurationTemplate
where
rnf :: CreateReplicationConfigurationTemplate -> ()
rnf CreateReplicationConfigurationTemplate' {Bool
Natural
[Text]
Maybe Text
Maybe (Sensitive (HashMap Text Text))
NonEmpty PITPolicyRule
Text
Sensitive (HashMap Text Text)
ReplicationConfigurationDataPlaneRouting
ReplicationConfigurationDefaultLargeStagingDiskType
ReplicationConfigurationEbsEncryption
useDedicatedReplicationServer :: Bool
stagingAreaTags :: Sensitive (HashMap Text Text)
stagingAreaSubnetId :: Text
replicationServersSecurityGroupsIDs :: [Text]
replicationServerInstanceType :: Text
pitPolicy :: NonEmpty PITPolicyRule
ebsEncryption :: ReplicationConfigurationEbsEncryption
defaultLargeStagingDiskType :: ReplicationConfigurationDefaultLargeStagingDiskType
dataPlaneRouting :: ReplicationConfigurationDataPlaneRouting
createPublicIP :: Bool
bandwidthThrottling :: Natural
associateDefaultSecurityGroup :: Bool
tags :: Maybe (Sensitive (HashMap Text Text))
ebsEncryptionKeyArn :: Maybe Text
$sel:useDedicatedReplicationServer:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:stagingAreaTags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Sensitive (HashMap Text Text)
$sel:stagingAreaSubnetId:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
$sel:replicationServersSecurityGroupsIDs:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> [Text]
$sel:replicationServerInstanceType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
$sel:pitPolicy:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> NonEmpty PITPolicyRule
$sel:ebsEncryption:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationEbsEncryption
$sel:defaultLargeStagingDiskType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDefaultLargeStagingDiskType
$sel:dataPlaneRouting:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDataPlaneRouting
$sel:createPublicIP:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:bandwidthThrottling:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Natural
$sel:associateDefaultSecurityGroup:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:tags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Maybe (Sensitive (HashMap Text Text))
$sel:ebsEncryptionKeyArn:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ebsEncryptionKeyArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive (HashMap Text Text))
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
associateDefaultSecurityGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
bandwidthThrottling
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
createPublicIP
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReplicationConfigurationDataPlaneRouting
dataPlaneRouting
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ReplicationConfigurationEbsEncryption
ebsEncryption
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty PITPolicyRule
pitPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
replicationServerInstanceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
replicationServersSecurityGroupsIDs
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
stagingAreaSubnetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive (HashMap Text Text)
stagingAreaTags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Bool
useDedicatedReplicationServer
instance
Data.ToHeaders
CreateReplicationConfigurationTemplate
where
toHeaders :: CreateReplicationConfigurationTemplate -> ResponseHeaders
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 -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
CreateReplicationConfigurationTemplate
where
toJSON :: CreateReplicationConfigurationTemplate -> Value
toJSON CreateReplicationConfigurationTemplate' {Bool
Natural
[Text]
Maybe Text
Maybe (Sensitive (HashMap Text Text))
NonEmpty PITPolicyRule
Text
Sensitive (HashMap Text Text)
ReplicationConfigurationDataPlaneRouting
ReplicationConfigurationDefaultLargeStagingDiskType
ReplicationConfigurationEbsEncryption
useDedicatedReplicationServer :: Bool
stagingAreaTags :: Sensitive (HashMap Text Text)
stagingAreaSubnetId :: Text
replicationServersSecurityGroupsIDs :: [Text]
replicationServerInstanceType :: Text
pitPolicy :: NonEmpty PITPolicyRule
ebsEncryption :: ReplicationConfigurationEbsEncryption
defaultLargeStagingDiskType :: ReplicationConfigurationDefaultLargeStagingDiskType
dataPlaneRouting :: ReplicationConfigurationDataPlaneRouting
createPublicIP :: Bool
bandwidthThrottling :: Natural
associateDefaultSecurityGroup :: Bool
tags :: Maybe (Sensitive (HashMap Text Text))
ebsEncryptionKeyArn :: Maybe Text
$sel:useDedicatedReplicationServer:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:stagingAreaTags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Sensitive (HashMap Text Text)
$sel:stagingAreaSubnetId:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
$sel:replicationServersSecurityGroupsIDs:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> [Text]
$sel:replicationServerInstanceType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Text
$sel:pitPolicy:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> NonEmpty PITPolicyRule
$sel:ebsEncryption:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationEbsEncryption
$sel:defaultLargeStagingDiskType:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDefaultLargeStagingDiskType
$sel:dataPlaneRouting:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> ReplicationConfigurationDataPlaneRouting
$sel:createPublicIP:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:bandwidthThrottling:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Natural
$sel:associateDefaultSecurityGroup:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Bool
$sel:tags:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate
-> Maybe (Sensitive (HashMap Text Text))
$sel:ebsEncryptionKeyArn:CreateReplicationConfigurationTemplate' :: CreateReplicationConfigurationTemplate -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ebsEncryptionKeyArn" 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
ebsEncryptionKeyArn,
(Key
"tags" 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 (Sensitive (HashMap Text Text))
tags,
forall a. a -> Maybe a
Prelude.Just
( Key
"associateDefaultSecurityGroup"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Bool
associateDefaultSecurityGroup
),
forall a. a -> Maybe a
Prelude.Just
(Key
"bandwidthThrottling" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Natural
bandwidthThrottling),
forall a. a -> Maybe a
Prelude.Just
(Key
"createPublicIP" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Bool
createPublicIP),
forall a. a -> Maybe a
Prelude.Just
(Key
"dataPlaneRouting" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ReplicationConfigurationDataPlaneRouting
dataPlaneRouting),
forall a. a -> Maybe a
Prelude.Just
( Key
"defaultLargeStagingDiskType"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ReplicationConfigurationDefaultLargeStagingDiskType
defaultLargeStagingDiskType
),
forall a. a -> Maybe a
Prelude.Just (Key
"ebsEncryption" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ReplicationConfigurationEbsEncryption
ebsEncryption),
forall a. a -> Maybe a
Prelude.Just (Key
"pitPolicy" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty PITPolicyRule
pitPolicy),
forall a. a -> Maybe a
Prelude.Just
( Key
"replicationServerInstanceType"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
replicationServerInstanceType
),
forall a. a -> Maybe a
Prelude.Just
( Key
"replicationServersSecurityGroupsIDs"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
replicationServersSecurityGroupsIDs
),
forall a. a -> Maybe a
Prelude.Just
(Key
"stagingAreaSubnetId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
stagingAreaSubnetId),
forall a. a -> Maybe a
Prelude.Just
(Key
"stagingAreaTags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive (HashMap Text Text)
stagingAreaTags),
forall a. a -> Maybe a
Prelude.Just
( Key
"useDedicatedReplicationServer"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Bool
useDedicatedReplicationServer
)
]
)
instance
Data.ToPath
CreateReplicationConfigurationTemplate
where
toPath :: CreateReplicationConfigurationTemplate -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const
ByteString
"/CreateReplicationConfigurationTemplate"
instance
Data.ToQuery
CreateReplicationConfigurationTemplate
where
toQuery :: CreateReplicationConfigurationTemplate -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty