{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html module Stratosphere.Resources.MediaLiveInputSecurityGroup where import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.MediaLiveInputSecurityGroupInputWhitelistRuleCidr -- | Full data type definition for MediaLiveInputSecurityGroup. See -- 'mediaLiveInputSecurityGroup' for a more convenient constructor. data MediaLiveInputSecurityGroup = MediaLiveInputSecurityGroup { _mediaLiveInputSecurityGroupTags :: Maybe Object , _mediaLiveInputSecurityGroupWhitelistRules :: Maybe [MediaLiveInputSecurityGroupInputWhitelistRuleCidr] } deriving (Show, Eq) instance ToResourceProperties MediaLiveInputSecurityGroup where toResourceProperties MediaLiveInputSecurityGroup{..} = ResourceProperties { resourcePropertiesType = "AWS::MediaLive::InputSecurityGroup" , resourcePropertiesProperties = hashMapFromList $ catMaybes [ fmap (("Tags",) . toJSON) _mediaLiveInputSecurityGroupTags , fmap (("WhitelistRules",) . toJSON) _mediaLiveInputSecurityGroupWhitelistRules ] } -- | Constructor for 'MediaLiveInputSecurityGroup' containing required fields -- as arguments. mediaLiveInputSecurityGroup :: MediaLiveInputSecurityGroup mediaLiveInputSecurityGroup = MediaLiveInputSecurityGroup { _mediaLiveInputSecurityGroupTags = Nothing , _mediaLiveInputSecurityGroupWhitelistRules = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html#cfn-medialive-inputsecuritygroup-tags mlisgTags :: Lens' MediaLiveInputSecurityGroup (Maybe Object) mlisgTags = lens _mediaLiveInputSecurityGroupTags (\s a -> s { _mediaLiveInputSecurityGroupTags = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html#cfn-medialive-inputsecuritygroup-whitelistrules mlisgWhitelistRules :: Lens' MediaLiveInputSecurityGroup (Maybe [MediaLiveInputSecurityGroupInputWhitelistRuleCidr]) mlisgWhitelistRules = lens _mediaLiveInputSecurityGroupWhitelistRules (\s a -> s { _mediaLiveInputSecurityGroupWhitelistRules = a })