module Stratosphere.M2.Environment.FsxStorageConfigurationProperty (
        FsxStorageConfigurationProperty(..),
        mkFsxStorageConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data FsxStorageConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-environment-fsxstorageconfiguration.html>
    FsxStorageConfigurationProperty {FsxStorageConfigurationProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-environment-fsxstorageconfiguration.html#cfn-m2-environment-fsxstorageconfiguration-filesystemid>
                                     FsxStorageConfigurationProperty -> Value Text
fileSystemId :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-m2-environment-fsxstorageconfiguration.html#cfn-m2-environment-fsxstorageconfiguration-mountpoint>
                                     FsxStorageConfigurationProperty -> Value Text
mountPoint :: (Value Prelude.Text)}
  deriving stock (FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty -> Bool
(FsxStorageConfigurationProperty
 -> FsxStorageConfigurationProperty -> Bool)
-> (FsxStorageConfigurationProperty
    -> FsxStorageConfigurationProperty -> Bool)
-> Eq FsxStorageConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty -> Bool
== :: FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty -> Bool
$c/= :: FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty -> Bool
/= :: FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty -> Bool
Prelude.Eq, Int -> FsxStorageConfigurationProperty -> ShowS
[FsxStorageConfigurationProperty] -> ShowS
FsxStorageConfigurationProperty -> String
(Int -> FsxStorageConfigurationProperty -> ShowS)
-> (FsxStorageConfigurationProperty -> String)
-> ([FsxStorageConfigurationProperty] -> ShowS)
-> Show FsxStorageConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FsxStorageConfigurationProperty -> ShowS
showsPrec :: Int -> FsxStorageConfigurationProperty -> ShowS
$cshow :: FsxStorageConfigurationProperty -> String
show :: FsxStorageConfigurationProperty -> String
$cshowList :: [FsxStorageConfigurationProperty] -> ShowS
showList :: [FsxStorageConfigurationProperty] -> ShowS
Prelude.Show)
mkFsxStorageConfigurationProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> FsxStorageConfigurationProperty
mkFsxStorageConfigurationProperty :: Value Text -> Value Text -> FsxStorageConfigurationProperty
mkFsxStorageConfigurationProperty Value Text
fileSystemId Value Text
mountPoint
  = FsxStorageConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), fileSystemId :: Value Text
fileSystemId = Value Text
fileSystemId,
       mountPoint :: Value Text
mountPoint = Value Text
mountPoint}
instance ToResourceProperties FsxStorageConfigurationProperty where
  toResourceProperties :: FsxStorageConfigurationProperty -> ResourceProperties
toResourceProperties FsxStorageConfigurationProperty {()
Value Text
haddock_workaround_ :: FsxStorageConfigurationProperty -> ()
fileSystemId :: FsxStorageConfigurationProperty -> Value Text
mountPoint :: FsxStorageConfigurationProperty -> Value Text
haddock_workaround_ :: ()
fileSystemId :: Value Text
mountPoint :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::M2::Environment.FsxStorageConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"FileSystemId" 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..= Value Text
fileSystemId,
                       Key
"MountPoint" 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..= Value Text
mountPoint]}
instance JSON.ToJSON FsxStorageConfigurationProperty where
  toJSON :: FsxStorageConfigurationProperty -> Value
toJSON FsxStorageConfigurationProperty {()
Value Text
haddock_workaround_ :: FsxStorageConfigurationProperty -> ()
fileSystemId :: FsxStorageConfigurationProperty -> Value Text
mountPoint :: FsxStorageConfigurationProperty -> Value Text
haddock_workaround_ :: ()
fileSystemId :: Value Text
mountPoint :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"FileSystemId" 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..= Value Text
fileSystemId,
         Key
"MountPoint" 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..= Value Text
mountPoint]
instance Property "FileSystemId" FsxStorageConfigurationProperty where
  type PropertyType "FileSystemId" FsxStorageConfigurationProperty = Value Prelude.Text
  set :: PropertyType "FileSystemId" FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty
set PropertyType "FileSystemId" FsxStorageConfigurationProperty
newValue FsxStorageConfigurationProperty {()
Value Text
haddock_workaround_ :: FsxStorageConfigurationProperty -> ()
fileSystemId :: FsxStorageConfigurationProperty -> Value Text
mountPoint :: FsxStorageConfigurationProperty -> Value Text
haddock_workaround_ :: ()
fileSystemId :: Value Text
mountPoint :: Value Text
..}
    = FsxStorageConfigurationProperty {fileSystemId :: Value Text
fileSystemId = PropertyType "FileSystemId" FsxStorageConfigurationProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
mountPoint :: Value Text
haddock_workaround_ :: ()
mountPoint :: Value Text
..}
instance Property "MountPoint" FsxStorageConfigurationProperty where
  type PropertyType "MountPoint" FsxStorageConfigurationProperty = Value Prelude.Text
  set :: PropertyType "MountPoint" FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty
-> FsxStorageConfigurationProperty
set PropertyType "MountPoint" FsxStorageConfigurationProperty
newValue FsxStorageConfigurationProperty {()
Value Text
haddock_workaround_ :: FsxStorageConfigurationProperty -> ()
fileSystemId :: FsxStorageConfigurationProperty -> Value Text
mountPoint :: FsxStorageConfigurationProperty -> Value Text
haddock_workaround_ :: ()
fileSystemId :: Value Text
mountPoint :: Value Text
..}
    = FsxStorageConfigurationProperty {mountPoint :: Value Text
mountPoint = PropertyType "MountPoint" FsxStorageConfigurationProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
fileSystemId :: Value Text
haddock_workaround_ :: ()
fileSystemId :: Value Text
..}