stratosphere-0.43.0: library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html
module Stratosphere.Resources.EC2TrafficMirrorSession where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.Tag
-- | Full data type definition for EC2TrafficMirrorSession. See
-- 'ec2TrafficMirrorSession' for a more convenient constructor.
data EC2TrafficMirrorSession =
EC2TrafficMirrorSession
{ _eC2TrafficMirrorSessionDescription :: Maybe (Val Text)
, _eC2TrafficMirrorSessionNetworkInterfaceId :: Val Text
, _eC2TrafficMirrorSessionPacketLength :: Maybe (Val Integer)
, _eC2TrafficMirrorSessionSessionNumber :: Val Integer
, _eC2TrafficMirrorSessionTags :: Maybe [Tag]
, _eC2TrafficMirrorSessionTrafficMirrorFilterId :: Val Text
, _eC2TrafficMirrorSessionTrafficMirrorTargetId :: Val Text
, _eC2TrafficMirrorSessionVirtualNetworkId :: Maybe (Val Integer)
} deriving (Show, Eq)
instance ToResourceProperties EC2TrafficMirrorSession where
toResourceProperties EC2TrafficMirrorSession{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::EC2::TrafficMirrorSession"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ fmap (("Description",) . toJSON) _eC2TrafficMirrorSessionDescription
, (Just . ("NetworkInterfaceId",) . toJSON) _eC2TrafficMirrorSessionNetworkInterfaceId
, fmap (("PacketLength",) . toJSON) _eC2TrafficMirrorSessionPacketLength
, (Just . ("SessionNumber",) . toJSON) _eC2TrafficMirrorSessionSessionNumber
, fmap (("Tags",) . toJSON) _eC2TrafficMirrorSessionTags
, (Just . ("TrafficMirrorFilterId",) . toJSON) _eC2TrafficMirrorSessionTrafficMirrorFilterId
, (Just . ("TrafficMirrorTargetId",) . toJSON) _eC2TrafficMirrorSessionTrafficMirrorTargetId
, fmap (("VirtualNetworkId",) . toJSON) _eC2TrafficMirrorSessionVirtualNetworkId
]
}
-- | Constructor for 'EC2TrafficMirrorSession' containing required fields as
-- arguments.
ec2TrafficMirrorSession
:: Val Text -- ^ 'ectmsNetworkInterfaceId'
-> Val Integer -- ^ 'ectmsSessionNumber'
-> Val Text -- ^ 'ectmsTrafficMirrorFilterId'
-> Val Text -- ^ 'ectmsTrafficMirrorTargetId'
-> EC2TrafficMirrorSession
ec2TrafficMirrorSession networkInterfaceIdarg sessionNumberarg trafficMirrorFilterIdarg trafficMirrorTargetIdarg =
EC2TrafficMirrorSession
{ _eC2TrafficMirrorSessionDescription = Nothing
, _eC2TrafficMirrorSessionNetworkInterfaceId = networkInterfaceIdarg
, _eC2TrafficMirrorSessionPacketLength = Nothing
, _eC2TrafficMirrorSessionSessionNumber = sessionNumberarg
, _eC2TrafficMirrorSessionTags = Nothing
, _eC2TrafficMirrorSessionTrafficMirrorFilterId = trafficMirrorFilterIdarg
, _eC2TrafficMirrorSessionTrafficMirrorTargetId = trafficMirrorTargetIdarg
, _eC2TrafficMirrorSessionVirtualNetworkId = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-description
ectmsDescription :: Lens' EC2TrafficMirrorSession (Maybe (Val Text))
ectmsDescription = lens _eC2TrafficMirrorSessionDescription (\s a -> s { _eC2TrafficMirrorSessionDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-networkinterfaceid
ectmsNetworkInterfaceId :: Lens' EC2TrafficMirrorSession (Val Text)
ectmsNetworkInterfaceId = lens _eC2TrafficMirrorSessionNetworkInterfaceId (\s a -> s { _eC2TrafficMirrorSessionNetworkInterfaceId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-packetlength
ectmsPacketLength :: Lens' EC2TrafficMirrorSession (Maybe (Val Integer))
ectmsPacketLength = lens _eC2TrafficMirrorSessionPacketLength (\s a -> s { _eC2TrafficMirrorSessionPacketLength = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-sessionnumber
ectmsSessionNumber :: Lens' EC2TrafficMirrorSession (Val Integer)
ectmsSessionNumber = lens _eC2TrafficMirrorSessionSessionNumber (\s a -> s { _eC2TrafficMirrorSessionSessionNumber = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-tags
ectmsTags :: Lens' EC2TrafficMirrorSession (Maybe [Tag])
ectmsTags = lens _eC2TrafficMirrorSessionTags (\s a -> s { _eC2TrafficMirrorSessionTags = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrorfilterid
ectmsTrafficMirrorFilterId :: Lens' EC2TrafficMirrorSession (Val Text)
ectmsTrafficMirrorFilterId = lens _eC2TrafficMirrorSessionTrafficMirrorFilterId (\s a -> s { _eC2TrafficMirrorSessionTrafficMirrorFilterId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrortargetid
ectmsTrafficMirrorTargetId :: Lens' EC2TrafficMirrorSession (Val Text)
ectmsTrafficMirrorTargetId = lens _eC2TrafficMirrorSessionTrafficMirrorTargetId (\s a -> s { _eC2TrafficMirrorSessionTrafficMirrorTargetId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-virtualnetworkid
ectmsVirtualNetworkId :: Lens' EC2TrafficMirrorSession (Maybe (Val Integer))
ectmsVirtualNetworkId = lens _eC2TrafficMirrorSessionVirtualNetworkId (\s a -> s { _eC2TrafficMirrorSessionVirtualNetworkId = a })