stratosphere-config-1.0.0: gen/Stratosphere/Config/OrganizationConformancePack.hs
module Stratosphere.Config.OrganizationConformancePack (
module Exports, OrganizationConformancePack(..),
mkOrganizationConformancePack
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Config.OrganizationConformancePack.ConformancePackInputParameterProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OrganizationConformancePack
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html>
OrganizationConformancePack {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-conformancepackinputparameters>
conformancePackInputParameters :: (Prelude.Maybe [ConformancePackInputParameterProperty]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-deliverys3bucket>
deliveryS3Bucket :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-deliverys3keyprefix>
deliveryS3KeyPrefix :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-excludedaccounts>
excludedAccounts :: (Prelude.Maybe (ValueList Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-organizationconformancepackname>
organizationConformancePackName :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-templatebody>
templateBody :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html#cfn-config-organizationconformancepack-templates3uri>
templateS3Uri :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (Prelude.Eq, Prelude.Show)
mkOrganizationConformancePack ::
Value Prelude.Text -> OrganizationConformancePack
mkOrganizationConformancePack organizationConformancePackName
= OrganizationConformancePack
{haddock_workaround_ = (),
organizationConformancePackName = organizationConformancePackName,
conformancePackInputParameters = Prelude.Nothing,
deliveryS3Bucket = Prelude.Nothing,
deliveryS3KeyPrefix = Prelude.Nothing,
excludedAccounts = Prelude.Nothing, templateBody = Prelude.Nothing,
templateS3Uri = Prelude.Nothing}
instance ToResourceProperties OrganizationConformancePack where
toResourceProperties OrganizationConformancePack {..}
= ResourceProperties
{awsType = "AWS::Config::OrganizationConformancePack",
supportsTags = Prelude.False,
properties = Prelude.fromList
((Prelude.<>)
["OrganizationConformancePackName"
JSON..= organizationConformancePackName]
(Prelude.catMaybes
[(JSON..=) "ConformancePackInputParameters"
Prelude.<$> conformancePackInputParameters,
(JSON..=) "DeliveryS3Bucket" Prelude.<$> deliveryS3Bucket,
(JSON..=) "DeliveryS3KeyPrefix" Prelude.<$> deliveryS3KeyPrefix,
(JSON..=) "ExcludedAccounts" Prelude.<$> excludedAccounts,
(JSON..=) "TemplateBody" Prelude.<$> templateBody,
(JSON..=) "TemplateS3Uri" Prelude.<$> templateS3Uri]))}
instance JSON.ToJSON OrganizationConformancePack where
toJSON OrganizationConformancePack {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["OrganizationConformancePackName"
JSON..= organizationConformancePackName]
(Prelude.catMaybes
[(JSON..=) "ConformancePackInputParameters"
Prelude.<$> conformancePackInputParameters,
(JSON..=) "DeliveryS3Bucket" Prelude.<$> deliveryS3Bucket,
(JSON..=) "DeliveryS3KeyPrefix" Prelude.<$> deliveryS3KeyPrefix,
(JSON..=) "ExcludedAccounts" Prelude.<$> excludedAccounts,
(JSON..=) "TemplateBody" Prelude.<$> templateBody,
(JSON..=) "TemplateS3Uri" Prelude.<$> templateS3Uri])))
instance Property "ConformancePackInputParameters" OrganizationConformancePack where
type PropertyType "ConformancePackInputParameters" OrganizationConformancePack = [ConformancePackInputParameterProperty]
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{conformancePackInputParameters = Prelude.pure newValue, ..}
instance Property "DeliveryS3Bucket" OrganizationConformancePack where
type PropertyType "DeliveryS3Bucket" OrganizationConformancePack = Value Prelude.Text
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{deliveryS3Bucket = Prelude.pure newValue, ..}
instance Property "DeliveryS3KeyPrefix" OrganizationConformancePack where
type PropertyType "DeliveryS3KeyPrefix" OrganizationConformancePack = Value Prelude.Text
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{deliveryS3KeyPrefix = Prelude.pure newValue, ..}
instance Property "ExcludedAccounts" OrganizationConformancePack where
type PropertyType "ExcludedAccounts" OrganizationConformancePack = ValueList Prelude.Text
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{excludedAccounts = Prelude.pure newValue, ..}
instance Property "OrganizationConformancePackName" OrganizationConformancePack where
type PropertyType "OrganizationConformancePackName" OrganizationConformancePack = Value Prelude.Text
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{organizationConformancePackName = newValue, ..}
instance Property "TemplateBody" OrganizationConformancePack where
type PropertyType "TemplateBody" OrganizationConformancePack = Value Prelude.Text
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{templateBody = Prelude.pure newValue, ..}
instance Property "TemplateS3Uri" OrganizationConformancePack where
type PropertyType "TemplateS3Uri" OrganizationConformancePack = Value Prelude.Text
set newValue OrganizationConformancePack {..}
= OrganizationConformancePack
{templateS3Uri = Prelude.pure newValue, ..}