{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html module Stratosphere.ResourceProperties.ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata where import Stratosphere.ResourceImports -- | Full data type definition for -- ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata. See -- 'configOrganizationConfigRuleOrganizationCustomRuleMetadata' for a more -- convenient constructor. data ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata = ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata { _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription :: Maybe (Val Text) , _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters :: Maybe (Val Text) , _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn :: Val Text , _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency :: Maybe (Val Text) , _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes :: ValList Text , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope :: Maybe (Val Text) , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope :: Maybe (ValList Text) , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope :: Maybe (Val Text) , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope :: Maybe (Val Text) } deriving (Show, Eq) instance ToJSON ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata where toJSON ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata{..} = object $ catMaybes [ fmap (("Description",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription , fmap (("InputParameters",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters , (Just . ("LambdaFunctionArn",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn , fmap (("MaximumExecutionFrequency",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency , (Just . ("OrganizationConfigRuleTriggerTypes",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes , fmap (("ResourceIdScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope , fmap (("ResourceTypesScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope , fmap (("TagKeyScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope , fmap (("TagValueScope",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope ] -- | Constructor for -- 'ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata' containing -- required fields as arguments. configOrganizationConfigRuleOrganizationCustomRuleMetadata :: Val Text -- ^ 'cocrocrmLambdaFunctionArn' -> ValList Text -- ^ 'cocrocrmOrganizationConfigRuleTriggerTypes' -> ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata configOrganizationConfigRuleOrganizationCustomRuleMetadata lambdaFunctionArnarg organizationConfigRuleTriggerTypesarg = ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata { _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription = Nothing , _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters = Nothing , _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn = lambdaFunctionArnarg , _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency = Nothing , _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes = organizationConfigRuleTriggerTypesarg , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope = Nothing , _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope = Nothing , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope = Nothing , _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-description cocrocrmDescription :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text)) cocrocrmDescription = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataDescription = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-inputparameters cocrocrmInputParameters :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text)) cocrocrmInputParameters = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataInputParameters = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-lambdafunctionarn cocrocrmLambdaFunctionArn :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Val Text) cocrocrmLambdaFunctionArn = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataLambdaFunctionArn = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-maximumexecutionfrequency cocrocrmMaximumExecutionFrequency :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text)) cocrocrmMaximumExecutionFrequency = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataMaximumExecutionFrequency = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-organizationconfigruletriggertypes cocrocrmOrganizationConfigRuleTriggerTypes :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (ValList Text) cocrocrmOrganizationConfigRuleTriggerTypes = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataOrganizationConfigRuleTriggerTypes = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourceidscope cocrocrmResourceIdScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text)) cocrocrmResourceIdScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceIdScope = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourcetypesscope cocrocrmResourceTypesScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (ValList Text)) cocrocrmResourceTypesScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataResourceTypesScope = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagkeyscope cocrocrmTagKeyScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text)) cocrocrmTagKeyScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagKeyScope = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagvaluescope cocrocrmTagValueScope :: Lens' ConfigOrganizationConfigRuleOrganizationCustomRuleMetadata (Maybe (Val Text)) cocrocrmTagValueScope = lens _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope (\s a -> s { _configOrganizationConfigRuleOrganizationCustomRuleMetadataTagValueScope = a })