module Stratosphere.SecurityHub.Hub (
        Hub(..), mkHub
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Hub
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html>
    Hub {Hub -> ()
haddock_workaround_ :: (),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-autoenablecontrols>
         Hub -> Maybe (Value Bool)
autoEnableControls :: (Prelude.Maybe (Value Prelude.Bool)),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-controlfindinggenerator>
         Hub -> Maybe (Value Text)
controlFindingGenerator :: (Prelude.Maybe (Value Prelude.Text)),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-enabledefaultstandards>
         Hub -> Maybe (Value Bool)
enableDefaultStandards :: (Prelude.Maybe (Value Prelude.Bool)),
         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags>
         Hub -> Maybe (Map Text (Value Text))
tags :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text)))}
  deriving stock (Hub -> Hub -> Bool
(Hub -> Hub -> Bool) -> (Hub -> Hub -> Bool) -> Eq Hub
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Hub -> Hub -> Bool
== :: Hub -> Hub -> Bool
$c/= :: Hub -> Hub -> Bool
/= :: Hub -> Hub -> Bool
Prelude.Eq, Int -> Hub -> ShowS
[Hub] -> ShowS
Hub -> String
(Int -> Hub -> ShowS)
-> (Hub -> String) -> ([Hub] -> ShowS) -> Show Hub
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Hub -> ShowS
showsPrec :: Int -> Hub -> ShowS
$cshow :: Hub -> String
show :: Hub -> String
$cshowList :: [Hub] -> ShowS
showList :: [Hub] -> ShowS
Prelude.Show)
mkHub :: Hub
mkHub :: Hub
mkHub
  = Hub
      {haddock_workaround_ :: ()
haddock_workaround_ = (), autoEnableControls :: Maybe (Value Bool)
autoEnableControls = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing,
       controlFindingGenerator :: Maybe (Value Text)
controlFindingGenerator = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       enableDefaultStandards :: Maybe (Value Bool)
enableDefaultStandards = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing, tags :: Maybe (Map Text (Value Text))
tags = Maybe (Map Text (Value Text))
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties Hub where
  toResourceProperties :: Hub -> ResourceProperties
toResourceProperties Hub {Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: Hub -> ()
autoEnableControls :: Hub -> Maybe (Value Bool)
controlFindingGenerator :: Hub -> Maybe (Value Text)
enableDefaultStandards :: Hub -> Maybe (Value Bool)
tags :: Hub -> Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SecurityHub::Hub", supportsTags :: Bool
supportsTags = Bool
Prelude.True,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AutoEnableControls" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
autoEnableControls,
                            Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ControlFindingGenerator"
                              (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
controlFindingGenerator,
                            Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EnableDefaultStandards"
                              (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
enableDefaultStandards,
                            Key -> Map Text (Value Text) -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" (Map Text (Value Text) -> (Key, Value))
-> Maybe (Map Text (Value Text)) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Map Text (Value Text))
tags])}
instance JSON.ToJSON Hub where
  toJSON :: Hub -> Value
toJSON Hub {Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: Hub -> ()
autoEnableControls :: Hub -> Maybe (Value Bool)
controlFindingGenerator :: Hub -> Maybe (Value Text)
enableDefaultStandards :: Hub -> Maybe (Value Bool)
tags :: Hub -> Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AutoEnableControls" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
autoEnableControls,
               Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ControlFindingGenerator"
                 (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
controlFindingGenerator,
               Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EnableDefaultStandards"
                 (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
enableDefaultStandards,
               Key -> Map Text (Value Text) -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Tags" (Map Text (Value Text) -> (Key, Value))
-> Maybe (Map Text (Value Text)) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Map Text (Value Text))
tags]))
instance Property "AutoEnableControls" Hub where
  type PropertyType "AutoEnableControls" Hub = Value Prelude.Bool
  set :: PropertyType "AutoEnableControls" Hub -> Hub -> Hub
set PropertyType "AutoEnableControls" Hub
newValue Hub {Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: Hub -> ()
autoEnableControls :: Hub -> Maybe (Value Bool)
controlFindingGenerator :: Hub -> Maybe (Value Text)
enableDefaultStandards :: Hub -> Maybe (Value Bool)
tags :: Hub -> Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
    = Hub {autoEnableControls :: Maybe (Value Bool)
autoEnableControls = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AutoEnableControls" Hub
Value Bool
newValue, Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: ()
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
instance Property "ControlFindingGenerator" Hub where
  type PropertyType "ControlFindingGenerator" Hub = Value Prelude.Text
  set :: PropertyType "ControlFindingGenerator" Hub -> Hub -> Hub
set PropertyType "ControlFindingGenerator" Hub
newValue Hub {Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: Hub -> ()
autoEnableControls :: Hub -> Maybe (Value Bool)
controlFindingGenerator :: Hub -> Maybe (Value Text)
enableDefaultStandards :: Hub -> Maybe (Value Bool)
tags :: Hub -> Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
    = Hub {controlFindingGenerator :: Maybe (Value Text)
controlFindingGenerator = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ControlFindingGenerator" Hub
Value Text
newValue, Maybe (Map Text (Value Text))
Maybe (Value Bool)
()
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
instance Property "EnableDefaultStandards" Hub where
  type PropertyType "EnableDefaultStandards" Hub = Value Prelude.Bool
  set :: PropertyType "EnableDefaultStandards" Hub -> Hub -> Hub
set PropertyType "EnableDefaultStandards" Hub
newValue Hub {Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: Hub -> ()
autoEnableControls :: Hub -> Maybe (Value Bool)
controlFindingGenerator :: Hub -> Maybe (Value Text)
enableDefaultStandards :: Hub -> Maybe (Value Bool)
tags :: Hub -> Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..}
    = Hub {enableDefaultStandards :: Maybe (Value Bool)
enableDefaultStandards = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "EnableDefaultStandards" Hub
Value Bool
newValue, Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
tags :: Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
tags :: Maybe (Map Text (Value Text))
..}
instance Property "Tags" Hub where
  type PropertyType "Tags" Hub = Prelude.Map Prelude.Text (Value Prelude.Text)
  set :: PropertyType "Tags" Hub -> Hub -> Hub
set PropertyType "Tags" Hub
newValue Hub {Maybe (Map Text (Value Text))
Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: Hub -> ()
autoEnableControls :: Hub -> Maybe (Value Bool)
controlFindingGenerator :: Hub -> Maybe (Value Text)
enableDefaultStandards :: Hub -> Maybe (Value Bool)
tags :: Hub -> Maybe (Map Text (Value Text))
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
tags :: Maybe (Map Text (Value Text))
..} = Hub {tags :: Maybe (Map Text (Value Text))
tags = Map Text (Value Text) -> Maybe (Map Text (Value Text))
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure Map Text (Value Text)
PropertyType "Tags" Hub
newValue, Maybe (Value Bool)
Maybe (Value Text)
()
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
haddock_workaround_ :: ()
autoEnableControls :: Maybe (Value Bool)
controlFindingGenerator :: Maybe (Value Text)
enableDefaultStandards :: Maybe (Value Bool)
..}