stratosphere-controltower (empty) → 1.0.0
raw patch · 9 files changed
+399/−0 lines, 9 filesdep +aesondep +basedep +stratosphere
Dependencies added: aeson, base, stratosphere
Files
- LICENSE.md +20/−0
- gen/Stratosphere/ControlTower/EnabledBaseline.hs +80/−0
- gen/Stratosphere/ControlTower/EnabledBaseline/ParameterProperty.hs +45/−0
- gen/Stratosphere/ControlTower/EnabledBaseline/ParameterProperty.hs-boot +9/−0
- gen/Stratosphere/ControlTower/EnabledControl.hs +67/−0
- gen/Stratosphere/ControlTower/EnabledControl/EnabledControlParameterProperty.hs +40/−0
- gen/Stratosphere/ControlTower/EnabledControl/EnabledControlParameterProperty.hs-boot +9/−0
- gen/Stratosphere/ControlTower/LandingZone.hs +52/−0
- stratosphere-controltower.cabal +77/−0
+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/ControlTower/EnabledBaseline.hs view
@@ -0,0 +1,80 @@+module Stratosphere.ControlTower.EnabledBaseline (+ module Exports, EnabledBaseline(..), mkEnabledBaseline+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ControlTower.EnabledBaseline.ParameterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data EnabledBaseline+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html>+ EnabledBaseline {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html#cfn-controltower-enabledbaseline-baselineidentifier>+ baselineIdentifier :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html#cfn-controltower-enabledbaseline-baselineversion>+ baselineVersion :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html#cfn-controltower-enabledbaseline-parameters>+ parameters :: (Prelude.Maybe [ParameterProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html#cfn-controltower-enabledbaseline-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html#cfn-controltower-enabledbaseline-targetidentifier>+ targetIdentifier :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkEnabledBaseline ::+ Value Prelude.Text+ -> Value Prelude.Text -> Value Prelude.Text -> EnabledBaseline+mkEnabledBaseline+ baselineIdentifier+ baselineVersion+ targetIdentifier+ = EnabledBaseline+ {haddock_workaround_ = (), baselineIdentifier = baselineIdentifier,+ baselineVersion = baselineVersion,+ targetIdentifier = targetIdentifier, parameters = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties EnabledBaseline where+ toResourceProperties EnabledBaseline {..}+ = ResourceProperties+ {awsType = "AWS::ControlTower::EnabledBaseline",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["BaselineIdentifier" JSON..= baselineIdentifier,+ "BaselineVersion" JSON..= baselineVersion,+ "TargetIdentifier" JSON..= targetIdentifier]+ (Prelude.catMaybes+ [(JSON..=) "Parameters" Prelude.<$> parameters,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON EnabledBaseline where+ toJSON EnabledBaseline {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["BaselineIdentifier" JSON..= baselineIdentifier,+ "BaselineVersion" JSON..= baselineVersion,+ "TargetIdentifier" JSON..= targetIdentifier]+ (Prelude.catMaybes+ [(JSON..=) "Parameters" Prelude.<$> parameters,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "BaselineIdentifier" EnabledBaseline where+ type PropertyType "BaselineIdentifier" EnabledBaseline = Value Prelude.Text+ set newValue EnabledBaseline {..}+ = EnabledBaseline {baselineIdentifier = newValue, ..}+instance Property "BaselineVersion" EnabledBaseline where+ type PropertyType "BaselineVersion" EnabledBaseline = Value Prelude.Text+ set newValue EnabledBaseline {..}+ = EnabledBaseline {baselineVersion = newValue, ..}+instance Property "Parameters" EnabledBaseline where+ type PropertyType "Parameters" EnabledBaseline = [ParameterProperty]+ set newValue EnabledBaseline {..}+ = EnabledBaseline {parameters = Prelude.pure newValue, ..}+instance Property "Tags" EnabledBaseline where+ type PropertyType "Tags" EnabledBaseline = [Tag]+ set newValue EnabledBaseline {..}+ = EnabledBaseline {tags = Prelude.pure newValue, ..}+instance Property "TargetIdentifier" EnabledBaseline where+ type PropertyType "TargetIdentifier" EnabledBaseline = Value Prelude.Text+ set newValue EnabledBaseline {..}+ = EnabledBaseline {targetIdentifier = newValue, ..}
+ gen/Stratosphere/ControlTower/EnabledBaseline/ParameterProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.ControlTower.EnabledBaseline.ParameterProperty (+ ParameterProperty(..), mkParameterProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ParameterProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledbaseline-parameter.html>+ ParameterProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledbaseline-parameter.html#cfn-controltower-enabledbaseline-parameter-key>+ key :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledbaseline-parameter.html#cfn-controltower-enabledbaseline-parameter-value>+ value :: (Prelude.Maybe JSON.Object)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkParameterProperty :: ParameterProperty+mkParameterProperty+ = ParameterProperty+ {haddock_workaround_ = (), key = Prelude.Nothing,+ value = Prelude.Nothing}+instance ToResourceProperties ParameterProperty where+ toResourceProperties ParameterProperty {..}+ = ResourceProperties+ {awsType = "AWS::ControlTower::EnabledBaseline.Parameter",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "Key" Prelude.<$> key,+ (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON ParameterProperty where+ toJSON ParameterProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "Key" Prelude.<$> key,+ (JSON..=) "Value" Prelude.<$> value]))+instance Property "Key" ParameterProperty where+ type PropertyType "Key" ParameterProperty = Value Prelude.Text+ set newValue ParameterProperty {..}+ = ParameterProperty {key = Prelude.pure newValue, ..}+instance Property "Value" ParameterProperty where+ type PropertyType "Value" ParameterProperty = JSON.Object+ set newValue ParameterProperty {..}+ = ParameterProperty {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/ControlTower/EnabledBaseline/ParameterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ControlTower.EnabledBaseline.ParameterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ParameterProperty :: Prelude.Type+instance ToResourceProperties ParameterProperty+instance Prelude.Eq ParameterProperty+instance Prelude.Show ParameterProperty+instance JSON.ToJSON ParameterProperty
+ gen/Stratosphere/ControlTower/EnabledControl.hs view
@@ -0,0 +1,67 @@+module Stratosphere.ControlTower.EnabledControl (+ module Exports, EnabledControl(..), mkEnabledControl+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ControlTower.EnabledControl.EnabledControlParameterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data EnabledControl+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html>+ EnabledControl {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-controlidentifier>+ controlIdentifier :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-parameters>+ parameters :: (Prelude.Maybe [EnabledControlParameterProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html#cfn-controltower-enabledcontrol-targetidentifier>+ targetIdentifier :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkEnabledControl ::+ Value Prelude.Text -> Value Prelude.Text -> EnabledControl+mkEnabledControl controlIdentifier targetIdentifier+ = EnabledControl+ {haddock_workaround_ = (), controlIdentifier = controlIdentifier,+ targetIdentifier = targetIdentifier, parameters = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties EnabledControl where+ toResourceProperties EnabledControl {..}+ = ResourceProperties+ {awsType = "AWS::ControlTower::EnabledControl",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["ControlIdentifier" JSON..= controlIdentifier,+ "TargetIdentifier" JSON..= targetIdentifier]+ (Prelude.catMaybes+ [(JSON..=) "Parameters" Prelude.<$> parameters,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON EnabledControl where+ toJSON EnabledControl {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["ControlIdentifier" JSON..= controlIdentifier,+ "TargetIdentifier" JSON..= targetIdentifier]+ (Prelude.catMaybes+ [(JSON..=) "Parameters" Prelude.<$> parameters,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ControlIdentifier" EnabledControl where+ type PropertyType "ControlIdentifier" EnabledControl = Value Prelude.Text+ set newValue EnabledControl {..}+ = EnabledControl {controlIdentifier = newValue, ..}+instance Property "Parameters" EnabledControl where+ type PropertyType "Parameters" EnabledControl = [EnabledControlParameterProperty]+ set newValue EnabledControl {..}+ = EnabledControl {parameters = Prelude.pure newValue, ..}+instance Property "Tags" EnabledControl where+ type PropertyType "Tags" EnabledControl = [Tag]+ set newValue EnabledControl {..}+ = EnabledControl {tags = Prelude.pure newValue, ..}+instance Property "TargetIdentifier" EnabledControl where+ type PropertyType "TargetIdentifier" EnabledControl = Value Prelude.Text+ set newValue EnabledControl {..}+ = EnabledControl {targetIdentifier = newValue, ..}
+ gen/Stratosphere/ControlTower/EnabledControl/EnabledControlParameterProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.ControlTower.EnabledControl.EnabledControlParameterProperty (+ EnabledControlParameterProperty(..),+ mkEnabledControlParameterProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnabledControlParameterProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-enabledcontrolparameter.html>+ EnabledControlParameterProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-enabledcontrolparameter.html#cfn-controltower-enabledcontrol-enabledcontrolparameter-key>+ key :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledcontrol-enabledcontrolparameter.html#cfn-controltower-enabledcontrol-enabledcontrolparameter-value>+ value :: JSON.Object}+ deriving stock (Prelude.Eq, Prelude.Show)+mkEnabledControlParameterProperty ::+ Value Prelude.Text+ -> JSON.Object -> EnabledControlParameterProperty+mkEnabledControlParameterProperty key value+ = EnabledControlParameterProperty+ {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties EnabledControlParameterProperty where+ toResourceProperties EnabledControlParameterProperty {..}+ = ResourceProperties+ {awsType = "AWS::ControlTower::EnabledControl.EnabledControlParameter",+ supportsTags = Prelude.False,+ properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON EnabledControlParameterProperty where+ toJSON EnabledControlParameterProperty {..}+ = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" EnabledControlParameterProperty where+ type PropertyType "Key" EnabledControlParameterProperty = Value Prelude.Text+ set newValue EnabledControlParameterProperty {..}+ = EnabledControlParameterProperty {key = newValue, ..}+instance Property "Value" EnabledControlParameterProperty where+ type PropertyType "Value" EnabledControlParameterProperty = JSON.Object+ set newValue EnabledControlParameterProperty {..}+ = EnabledControlParameterProperty {value = newValue, ..}
+ gen/Stratosphere/ControlTower/EnabledControl/EnabledControlParameterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ControlTower.EnabledControl.EnabledControlParameterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnabledControlParameterProperty :: Prelude.Type+instance ToResourceProperties EnabledControlParameterProperty+instance Prelude.Eq EnabledControlParameterProperty+instance Prelude.Show EnabledControlParameterProperty+instance JSON.ToJSON EnabledControlParameterProperty
+ gen/Stratosphere/ControlTower/LandingZone.hs view
@@ -0,0 +1,52 @@+module Stratosphere.ControlTower.LandingZone (+ LandingZone(..), mkLandingZone+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data LandingZone+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html>+ LandingZone {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html#cfn-controltower-landingzone-manifest>+ manifest :: JSON.Object,+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html#cfn-controltower-landingzone-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html#cfn-controltower-landingzone-version>+ version :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkLandingZone :: JSON.Object -> Value Prelude.Text -> LandingZone+mkLandingZone manifest version+ = LandingZone+ {haddock_workaround_ = (), manifest = manifest, version = version,+ tags = Prelude.Nothing}+instance ToResourceProperties LandingZone where+ toResourceProperties LandingZone {..}+ = ResourceProperties+ {awsType = "AWS::ControlTower::LandingZone",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Manifest" JSON..= manifest, "Version" JSON..= version]+ (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LandingZone where+ toJSON LandingZone {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Manifest" JSON..= manifest, "Version" JSON..= version]+ (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Manifest" LandingZone where+ type PropertyType "Manifest" LandingZone = JSON.Object+ set newValue LandingZone {..}+ = LandingZone {manifest = newValue, ..}+instance Property "Tags" LandingZone where+ type PropertyType "Tags" LandingZone = [Tag]+ set newValue LandingZone {..}+ = LandingZone {tags = Prelude.pure newValue, ..}+instance Property "Version" LandingZone where+ type PropertyType "Version" LandingZone = Value Prelude.Text+ set newValue LandingZone {..}+ = LandingZone {version = newValue, ..}
+ stratosphere-controltower.cabal view
@@ -0,0 +1,77 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name: stratosphere-controltower+version: 1.0.0+synopsis: Stratosphere integration for AWS ControlTower.+description: Integration into stratosphere to generate resources and properties for AWS ControlTower+category: AWS, Cloud, ControlTower+stability: experimental+homepage: https://github.com/mbj/stratosphere#readme+bug-reports: https://github.com/mbj/stratosphere/issues+maintainer: Markus Schirp+license: MIT+license-file: LICENSE.md+build-type: Simple++source-repository head+ type: git+ location: https://github.com/mbj/stratosphere++flag development+ description: Run GHC with development flags+ manual: True+ default: False++library+ exposed-modules:+ Stratosphere.ControlTower.EnabledBaseline+ Stratosphere.ControlTower.EnabledBaseline.ParameterProperty+ Stratosphere.ControlTower.EnabledControl+ Stratosphere.ControlTower.EnabledControl.EnabledControlParameterProperty+ Stratosphere.ControlTower.LandingZone+ other-modules:+ Paths_stratosphere_controltower+ hs-source-dirs:+ gen+ default-extensions:+ DataKinds+ DeriveGeneric+ DerivingStrategies+ DerivingVia+ DuplicateRecordFields+ FlexibleContexts+ FlexibleInstances+ GADTs+ GeneralizedNewtypeDeriving+ InstanceSigs+ LambdaCase+ MultiParamTypeClasses+ NoFieldSelectors+ NoImplicitPrelude+ NumericUnderscores+ OverloadedLists+ OverloadedRecordDot+ OverloadedStrings+ PolyKinds+ RecordWildCards+ ScopedTypeVariables+ StandaloneDeriving+ Strict+ TemplateHaskell+ TupleSections+ TypeApplications+ TypeFamilies+ ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+ build-depends:+ aeson ==2.*+ , base >=4.8 && <4.22+ , stratosphere ==1.0.0+ default-language: Haskell2010+ if flag(development)+ ghc-options: -Werror+ else+ ghc-options: -Wwarn