stratosphere-0.42.0: library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html
module Stratosphere.Resources.ManagedBlockchainNode where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.ManagedBlockchainNodeNodeConfiguration
-- | Full data type definition for ManagedBlockchainNode. See
-- 'managedBlockchainNode' for a more convenient constructor.
data ManagedBlockchainNode =
ManagedBlockchainNode
{ _managedBlockchainNodeMemberId :: Val Text
, _managedBlockchainNodeNetworkId :: Val Text
, _managedBlockchainNodeNodeConfiguration :: ManagedBlockchainNodeNodeConfiguration
} deriving (Show, Eq)
instance ToResourceProperties ManagedBlockchainNode where
toResourceProperties ManagedBlockchainNode{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::ManagedBlockchain::Node"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ (Just . ("MemberId",) . toJSON) _managedBlockchainNodeMemberId
, (Just . ("NetworkId",) . toJSON) _managedBlockchainNodeNetworkId
, (Just . ("NodeConfiguration",) . toJSON) _managedBlockchainNodeNodeConfiguration
]
}
-- | Constructor for 'ManagedBlockchainNode' containing required fields as
-- arguments.
managedBlockchainNode
:: Val Text -- ^ 'mbnMemberId'
-> Val Text -- ^ 'mbnNetworkId'
-> ManagedBlockchainNodeNodeConfiguration -- ^ 'mbnNodeConfiguration'
-> ManagedBlockchainNode
managedBlockchainNode memberIdarg networkIdarg nodeConfigurationarg =
ManagedBlockchainNode
{ _managedBlockchainNodeMemberId = memberIdarg
, _managedBlockchainNodeNetworkId = networkIdarg
, _managedBlockchainNodeNodeConfiguration = nodeConfigurationarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-memberid
mbnMemberId :: Lens' ManagedBlockchainNode (Val Text)
mbnMemberId = lens _managedBlockchainNodeMemberId (\s a -> s { _managedBlockchainNodeMemberId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-networkid
mbnNetworkId :: Lens' ManagedBlockchainNode (Val Text)
mbnNetworkId = lens _managedBlockchainNodeNetworkId (\s a -> s { _managedBlockchainNodeNetworkId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-nodeconfiguration
mbnNodeConfiguration :: Lens' ManagedBlockchainNode ManagedBlockchainNodeNodeConfiguration
mbnNodeConfiguration = lens _managedBlockchainNodeNodeConfiguration (\s a -> s { _managedBlockchainNodeNodeConfiguration = a })