stratosphere-0.32.0: library-gen/Stratosphere/ResourceProperties/CodeBuildProjectVpcConfig.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html
module Stratosphere.ResourceProperties.CodeBuildProjectVpcConfig where
import Stratosphere.ResourceImports
-- | Full data type definition for CodeBuildProjectVpcConfig. See
-- 'codeBuildProjectVpcConfig' for a more convenient constructor.
data CodeBuildProjectVpcConfig =
CodeBuildProjectVpcConfig
{ _codeBuildProjectVpcConfigSecurityGroupIds :: Maybe (ValList Text)
, _codeBuildProjectVpcConfigSubnets :: Maybe (ValList Text)
, _codeBuildProjectVpcConfigVpcId :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON CodeBuildProjectVpcConfig where
toJSON CodeBuildProjectVpcConfig{..} =
object $
catMaybes
[ fmap (("SecurityGroupIds",) . toJSON) _codeBuildProjectVpcConfigSecurityGroupIds
, fmap (("Subnets",) . toJSON) _codeBuildProjectVpcConfigSubnets
, fmap (("VpcId",) . toJSON) _codeBuildProjectVpcConfigVpcId
]
-- | Constructor for 'CodeBuildProjectVpcConfig' containing required fields as
-- arguments.
codeBuildProjectVpcConfig
:: CodeBuildProjectVpcConfig
codeBuildProjectVpcConfig =
CodeBuildProjectVpcConfig
{ _codeBuildProjectVpcConfigSecurityGroupIds = Nothing
, _codeBuildProjectVpcConfigSubnets = Nothing
, _codeBuildProjectVpcConfigVpcId = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-securitygroupids
cbpvcSecurityGroupIds :: Lens' CodeBuildProjectVpcConfig (Maybe (ValList Text))
cbpvcSecurityGroupIds = lens _codeBuildProjectVpcConfigSecurityGroupIds (\s a -> s { _codeBuildProjectVpcConfigSecurityGroupIds = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-subnets
cbpvcSubnets :: Lens' CodeBuildProjectVpcConfig (Maybe (ValList Text))
cbpvcSubnets = lens _codeBuildProjectVpcConfigSubnets (\s a -> s { _codeBuildProjectVpcConfigSubnets = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-vpcid
cbpvcVpcId :: Lens' CodeBuildProjectVpcConfig (Maybe (Val Text))
cbpvcVpcId = lens _codeBuildProjectVpcConfigVpcId (\s a -> s { _codeBuildProjectVpcConfigVpcId = a })