module Stratosphere.ImageBuilder.ImageRecipe.InstanceBlockDeviceMappingProperty (
module Exports, InstanceBlockDeviceMappingProperty(..),
mkInstanceBlockDeviceMappingProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ImageBuilder.ImageRecipe.EbsInstanceBlockDeviceSpecificationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data InstanceBlockDeviceMappingProperty
=
InstanceBlockDeviceMappingProperty {InstanceBlockDeviceMappingProperty -> ()
haddock_workaround_ :: (),
InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
deviceName :: (Prelude.Maybe (Value Prelude.Text)),
InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
ebs :: (Prelude.Maybe EbsInstanceBlockDeviceSpecificationProperty),
InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
noDevice :: (Prelude.Maybe (Value Prelude.Text)),
InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool
(InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool)
-> (InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool)
-> Eq InstanceBlockDeviceMappingProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool
== :: InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool
$c/= :: InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool
/= :: InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty -> Bool
Prelude.Eq, Int -> InstanceBlockDeviceMappingProperty -> ShowS
[InstanceBlockDeviceMappingProperty] -> ShowS
InstanceBlockDeviceMappingProperty -> String
(Int -> InstanceBlockDeviceMappingProperty -> ShowS)
-> (InstanceBlockDeviceMappingProperty -> String)
-> ([InstanceBlockDeviceMappingProperty] -> ShowS)
-> Show InstanceBlockDeviceMappingProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InstanceBlockDeviceMappingProperty -> ShowS
showsPrec :: Int -> InstanceBlockDeviceMappingProperty -> ShowS
$cshow :: InstanceBlockDeviceMappingProperty -> String
show :: InstanceBlockDeviceMappingProperty -> String
$cshowList :: [InstanceBlockDeviceMappingProperty] -> ShowS
showList :: [InstanceBlockDeviceMappingProperty] -> ShowS
Prelude.Show)
mkInstanceBlockDeviceMappingProperty ::
InstanceBlockDeviceMappingProperty
mkInstanceBlockDeviceMappingProperty :: InstanceBlockDeviceMappingProperty
mkInstanceBlockDeviceMappingProperty
= InstanceBlockDeviceMappingProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), deviceName :: Maybe (Value Text)
deviceName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
ebs = Maybe EbsInstanceBlockDeviceSpecificationProperty
forall a. Maybe a
Prelude.Nothing, noDevice :: Maybe (Value Text)
noDevice = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
virtualName :: Maybe (Value Text)
virtualName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties InstanceBlockDeviceMappingProperty where
toResourceProperties :: InstanceBlockDeviceMappingProperty -> ResourceProperties
toResourceProperties InstanceBlockDeviceMappingProperty {Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: InstanceBlockDeviceMappingProperty -> ()
deviceName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
ebs :: InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping",
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 -> 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
"DeviceName" (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)
deviceName,
Key -> EbsInstanceBlockDeviceSpecificationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ebs" (EbsInstanceBlockDeviceSpecificationProperty -> (Key, Value))
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EbsInstanceBlockDeviceSpecificationProperty
ebs,
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
"NoDevice" (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)
noDevice,
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
"VirtualName" (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)
virtualName])}
instance JSON.ToJSON InstanceBlockDeviceMappingProperty where
toJSON :: InstanceBlockDeviceMappingProperty -> Value
toJSON InstanceBlockDeviceMappingProperty {Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: InstanceBlockDeviceMappingProperty -> ()
deviceName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
ebs :: InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: 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 -> 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
"DeviceName" (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)
deviceName,
Key -> EbsInstanceBlockDeviceSpecificationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Ebs" (EbsInstanceBlockDeviceSpecificationProperty -> (Key, Value))
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EbsInstanceBlockDeviceSpecificationProperty
ebs,
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
"NoDevice" (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)
noDevice,
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
"VirtualName" (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)
virtualName]))
instance Property "DeviceName" InstanceBlockDeviceMappingProperty where
type PropertyType "DeviceName" InstanceBlockDeviceMappingProperty = Value Prelude.Text
set :: PropertyType "DeviceName" InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
set PropertyType "DeviceName" InstanceBlockDeviceMappingProperty
newValue InstanceBlockDeviceMappingProperty {Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: InstanceBlockDeviceMappingProperty -> ()
deviceName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
ebs :: InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
= InstanceBlockDeviceMappingProperty
{deviceName :: Maybe (Value Text)
deviceName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "DeviceName" InstanceBlockDeviceMappingProperty
Value Text
newValue, Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: ()
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
haddock_workaround_ :: ()
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
instance Property "Ebs" InstanceBlockDeviceMappingProperty where
type PropertyType "Ebs" InstanceBlockDeviceMappingProperty = EbsInstanceBlockDeviceSpecificationProperty
set :: PropertyType "Ebs" InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
set PropertyType "Ebs" InstanceBlockDeviceMappingProperty
newValue InstanceBlockDeviceMappingProperty {Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: InstanceBlockDeviceMappingProperty -> ()
deviceName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
ebs :: InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
= InstanceBlockDeviceMappingProperty
{ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
ebs = EbsInstanceBlockDeviceSpecificationProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Ebs" InstanceBlockDeviceMappingProperty
EbsInstanceBlockDeviceSpecificationProperty
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
instance Property "NoDevice" InstanceBlockDeviceMappingProperty where
type PropertyType "NoDevice" InstanceBlockDeviceMappingProperty = Value Prelude.Text
set :: PropertyType "NoDevice" InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
set PropertyType "NoDevice" InstanceBlockDeviceMappingProperty
newValue InstanceBlockDeviceMappingProperty {Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: InstanceBlockDeviceMappingProperty -> ()
deviceName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
ebs :: InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
= InstanceBlockDeviceMappingProperty
{noDevice :: Maybe (Value Text)
noDevice = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NoDevice" InstanceBlockDeviceMappingProperty
Value Text
newValue, Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
virtualName :: Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
virtualName :: Maybe (Value Text)
..}
instance Property "VirtualName" InstanceBlockDeviceMappingProperty where
type PropertyType "VirtualName" InstanceBlockDeviceMappingProperty = Value Prelude.Text
set :: PropertyType "VirtualName" InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
-> InstanceBlockDeviceMappingProperty
set PropertyType "VirtualName" InstanceBlockDeviceMappingProperty
newValue InstanceBlockDeviceMappingProperty {Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: InstanceBlockDeviceMappingProperty -> ()
deviceName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
ebs :: InstanceBlockDeviceMappingProperty
-> Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
virtualName :: InstanceBlockDeviceMappingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
virtualName :: Maybe (Value Text)
..}
= InstanceBlockDeviceMappingProperty
{virtualName :: Maybe (Value Text)
virtualName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "VirtualName" InstanceBlockDeviceMappingProperty
Value Text
newValue, Maybe (Value Text)
Maybe EbsInstanceBlockDeviceSpecificationProperty
()
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
haddock_workaround_ :: ()
deviceName :: Maybe (Value Text)
ebs :: Maybe EbsInstanceBlockDeviceSpecificationProperty
noDevice :: Maybe (Value Text)
..}