stratosphere-0.15.2: library-gen/Stratosphere/ResourceProperties/CodePipelineCustomActionTypeConfigurationProperties.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html
module Stratosphere.ResourceProperties.CodePipelineCustomActionTypeConfigurationProperties where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- CodePipelineCustomActionTypeConfigurationProperties. See
-- 'codePipelineCustomActionTypeConfigurationProperties' for a more
-- convenient constructor.
data CodePipelineCustomActionTypeConfigurationProperties =
CodePipelineCustomActionTypeConfigurationProperties
{ _codePipelineCustomActionTypeConfigurationPropertiesDescription :: Maybe (Val Text)
, _codePipelineCustomActionTypeConfigurationPropertiesKey :: Val Bool
, _codePipelineCustomActionTypeConfigurationPropertiesName :: Val Text
, _codePipelineCustomActionTypeConfigurationPropertiesQueryable :: Maybe (Val Bool)
, _codePipelineCustomActionTypeConfigurationPropertiesRequired :: Val Bool
, _codePipelineCustomActionTypeConfigurationPropertiesSecret :: Val Bool
, _codePipelineCustomActionTypeConfigurationPropertiesType :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON CodePipelineCustomActionTypeConfigurationProperties where
toJSON CodePipelineCustomActionTypeConfigurationProperties{..} =
object $
catMaybes
[ fmap (("Description",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesDescription
, (Just . ("Key",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesKey
, (Just . ("Name",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesName
, fmap (("Queryable",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesQueryable
, (Just . ("Required",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesRequired
, (Just . ("Secret",) . toJSON . fmap Bool') _codePipelineCustomActionTypeConfigurationPropertiesSecret
, fmap (("Type",) . toJSON) _codePipelineCustomActionTypeConfigurationPropertiesType
]
instance FromJSON CodePipelineCustomActionTypeConfigurationProperties where
parseJSON (Object obj) =
CodePipelineCustomActionTypeConfigurationProperties <$>
(obj .:? "Description") <*>
fmap (fmap unBool') (obj .: "Key") <*>
(obj .: "Name") <*>
fmap (fmap (fmap unBool')) (obj .:? "Queryable") <*>
fmap (fmap unBool') (obj .: "Required") <*>
fmap (fmap unBool') (obj .: "Secret") <*>
(obj .:? "Type")
parseJSON _ = mempty
-- | Constructor for 'CodePipelineCustomActionTypeConfigurationProperties'
-- containing required fields as arguments.
codePipelineCustomActionTypeConfigurationProperties
:: Val Bool -- ^ 'cpcatcpKey'
-> Val Text -- ^ 'cpcatcpName'
-> Val Bool -- ^ 'cpcatcpRequired'
-> Val Bool -- ^ 'cpcatcpSecret'
-> CodePipelineCustomActionTypeConfigurationProperties
codePipelineCustomActionTypeConfigurationProperties keyarg namearg requiredarg secretarg =
CodePipelineCustomActionTypeConfigurationProperties
{ _codePipelineCustomActionTypeConfigurationPropertiesDescription = Nothing
, _codePipelineCustomActionTypeConfigurationPropertiesKey = keyarg
, _codePipelineCustomActionTypeConfigurationPropertiesName = namearg
, _codePipelineCustomActionTypeConfigurationPropertiesQueryable = Nothing
, _codePipelineCustomActionTypeConfigurationPropertiesRequired = requiredarg
, _codePipelineCustomActionTypeConfigurationPropertiesSecret = secretarg
, _codePipelineCustomActionTypeConfigurationPropertiesType = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-description
cpcatcpDescription :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Maybe (Val Text))
cpcatcpDescription = lens _codePipelineCustomActionTypeConfigurationPropertiesDescription (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-key
cpcatcpKey :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Val Bool)
cpcatcpKey = lens _codePipelineCustomActionTypeConfigurationPropertiesKey (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesKey = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-name
cpcatcpName :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Val Text)
cpcatcpName = lens _codePipelineCustomActionTypeConfigurationPropertiesName (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-queryable
cpcatcpQueryable :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Maybe (Val Bool))
cpcatcpQueryable = lens _codePipelineCustomActionTypeConfigurationPropertiesQueryable (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesQueryable = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-required
cpcatcpRequired :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Val Bool)
cpcatcpRequired = lens _codePipelineCustomActionTypeConfigurationPropertiesRequired (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesRequired = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-secret
cpcatcpSecret :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Val Bool)
cpcatcpSecret = lens _codePipelineCustomActionTypeConfigurationPropertiesSecret (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesSecret = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-type
cpcatcpType :: Lens' CodePipelineCustomActionTypeConfigurationProperties (Maybe (Val Text))
cpcatcpType = lens _codePipelineCustomActionTypeConfigurationPropertiesType (\s a -> s { _codePipelineCustomActionTypeConfigurationPropertiesType = a })