module Stratosphere.ImageBuilder.ContainerRecipe.InstanceConfigurationProperty (
module Exports, InstanceConfigurationProperty(..),
mkInstanceConfigurationProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ImageBuilder.ContainerRecipe.InstanceBlockDeviceMappingProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data InstanceConfigurationProperty
=
InstanceConfigurationProperty {InstanceConfigurationProperty -> ()
haddock_workaround_ :: (),
InstanceConfigurationProperty
-> Maybe [InstanceBlockDeviceMappingProperty]
blockDeviceMappings :: (Prelude.Maybe [InstanceBlockDeviceMappingProperty]),
InstanceConfigurationProperty -> Maybe (Value Text)
image :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool
(InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool)
-> (InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool)
-> Eq InstanceConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool
== :: InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool
$c/= :: InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool
/= :: InstanceConfigurationProperty
-> InstanceConfigurationProperty -> Bool
Prelude.Eq, Int -> InstanceConfigurationProperty -> ShowS
[InstanceConfigurationProperty] -> ShowS
InstanceConfigurationProperty -> String
(Int -> InstanceConfigurationProperty -> ShowS)
-> (InstanceConfigurationProperty -> String)
-> ([InstanceConfigurationProperty] -> ShowS)
-> Show InstanceConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InstanceConfigurationProperty -> ShowS
showsPrec :: Int -> InstanceConfigurationProperty -> ShowS
$cshow :: InstanceConfigurationProperty -> String
show :: InstanceConfigurationProperty -> String
$cshowList :: [InstanceConfigurationProperty] -> ShowS
showList :: [InstanceConfigurationProperty] -> ShowS
Prelude.Show)
mkInstanceConfigurationProperty :: InstanceConfigurationProperty
mkInstanceConfigurationProperty :: InstanceConfigurationProperty
mkInstanceConfigurationProperty
= InstanceConfigurationProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
blockDeviceMappings = Maybe [InstanceBlockDeviceMappingProperty]
forall a. Maybe a
Prelude.Nothing,
image :: Maybe (Value Text)
image = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties InstanceConfigurationProperty where
toResourceProperties :: InstanceConfigurationProperty -> ResourceProperties
toResourceProperties InstanceConfigurationProperty {Maybe [InstanceBlockDeviceMappingProperty]
Maybe (Value Text)
()
haddock_workaround_ :: InstanceConfigurationProperty -> ()
blockDeviceMappings :: InstanceConfigurationProperty
-> Maybe [InstanceBlockDeviceMappingProperty]
image :: InstanceConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
image :: Maybe (Value Text)
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
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 -> [InstanceBlockDeviceMappingProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"BlockDeviceMappings" ([InstanceBlockDeviceMappingProperty] -> (Key, Value))
-> Maybe [InstanceBlockDeviceMappingProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InstanceBlockDeviceMappingProperty]
blockDeviceMappings,
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
"Image" (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)
image])}
instance JSON.ToJSON InstanceConfigurationProperty where
toJSON :: InstanceConfigurationProperty -> Value
toJSON InstanceConfigurationProperty {Maybe [InstanceBlockDeviceMappingProperty]
Maybe (Value Text)
()
haddock_workaround_ :: InstanceConfigurationProperty -> ()
blockDeviceMappings :: InstanceConfigurationProperty
-> Maybe [InstanceBlockDeviceMappingProperty]
image :: InstanceConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
image :: Maybe (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 -> [InstanceBlockDeviceMappingProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"BlockDeviceMappings" ([InstanceBlockDeviceMappingProperty] -> (Key, Value))
-> Maybe [InstanceBlockDeviceMappingProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [InstanceBlockDeviceMappingProperty]
blockDeviceMappings,
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
"Image" (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)
image]))
instance Property "BlockDeviceMappings" InstanceConfigurationProperty where
type PropertyType "BlockDeviceMappings" InstanceConfigurationProperty = [InstanceBlockDeviceMappingProperty]
set :: PropertyType "BlockDeviceMappings" InstanceConfigurationProperty
-> InstanceConfigurationProperty -> InstanceConfigurationProperty
set PropertyType "BlockDeviceMappings" InstanceConfigurationProperty
newValue InstanceConfigurationProperty {Maybe [InstanceBlockDeviceMappingProperty]
Maybe (Value Text)
()
haddock_workaround_ :: InstanceConfigurationProperty -> ()
blockDeviceMappings :: InstanceConfigurationProperty
-> Maybe [InstanceBlockDeviceMappingProperty]
image :: InstanceConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
image :: Maybe (Value Text)
..}
= InstanceConfigurationProperty
{blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
blockDeviceMappings = [InstanceBlockDeviceMappingProperty]
-> Maybe [InstanceBlockDeviceMappingProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [InstanceBlockDeviceMappingProperty]
PropertyType "BlockDeviceMappings" InstanceConfigurationProperty
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
image :: Maybe (Value Text)
haddock_workaround_ :: ()
image :: Maybe (Value Text)
..}
instance Property "Image" InstanceConfigurationProperty where
type PropertyType "Image" InstanceConfigurationProperty = Value Prelude.Text
set :: PropertyType "Image" InstanceConfigurationProperty
-> InstanceConfigurationProperty -> InstanceConfigurationProperty
set PropertyType "Image" InstanceConfigurationProperty
newValue InstanceConfigurationProperty {Maybe [InstanceBlockDeviceMappingProperty]
Maybe (Value Text)
()
haddock_workaround_ :: InstanceConfigurationProperty -> ()
blockDeviceMappings :: InstanceConfigurationProperty
-> Maybe [InstanceBlockDeviceMappingProperty]
image :: InstanceConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
image :: Maybe (Value Text)
..}
= InstanceConfigurationProperty {image :: Maybe (Value Text)
image = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Image" InstanceConfigurationProperty
Value Text
newValue, Maybe [InstanceBlockDeviceMappingProperty]
()
haddock_workaround_ :: ()
blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
haddock_workaround_ :: ()
blockDeviceMappings :: Maybe [InstanceBlockDeviceMappingProperty]
..}