module Stratosphere.EFS.AccessPoint.CreationInfoProperty (
        CreationInfoProperty(..), mkCreationInfoProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data CreationInfoProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html>
    CreationInfoProperty {CreationInfoProperty -> ()
haddock_workaround_ :: (),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-ownergid>
                          CreationInfoProperty -> Value Text
ownerGid :: (Value Prelude.Text),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-owneruid>
                          CreationInfoProperty -> Value Text
ownerUid :: (Value Prelude.Text),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-permissions>
                          CreationInfoProperty -> Value Text
permissions :: (Value Prelude.Text)}
  deriving stock (CreationInfoProperty -> CreationInfoProperty -> Bool
(CreationInfoProperty -> CreationInfoProperty -> Bool)
-> (CreationInfoProperty -> CreationInfoProperty -> Bool)
-> Eq CreationInfoProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreationInfoProperty -> CreationInfoProperty -> Bool
== :: CreationInfoProperty -> CreationInfoProperty -> Bool
$c/= :: CreationInfoProperty -> CreationInfoProperty -> Bool
/= :: CreationInfoProperty -> CreationInfoProperty -> Bool
Prelude.Eq, Int -> CreationInfoProperty -> ShowS
[CreationInfoProperty] -> ShowS
CreationInfoProperty -> String
(Int -> CreationInfoProperty -> ShowS)
-> (CreationInfoProperty -> String)
-> ([CreationInfoProperty] -> ShowS)
-> Show CreationInfoProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreationInfoProperty -> ShowS
showsPrec :: Int -> CreationInfoProperty -> ShowS
$cshow :: CreationInfoProperty -> String
show :: CreationInfoProperty -> String
$cshowList :: [CreationInfoProperty] -> ShowS
showList :: [CreationInfoProperty] -> ShowS
Prelude.Show)
mkCreationInfoProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> Value Prelude.Text -> CreationInfoProperty
mkCreationInfoProperty :: Value Text -> Value Text -> Value Text -> CreationInfoProperty
mkCreationInfoProperty Value Text
ownerGid Value Text
ownerUid Value Text
permissions
  = CreationInfoProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), ownerGid :: Value Text
ownerGid = Value Text
ownerGid,
       ownerUid :: Value Text
ownerUid = Value Text
ownerUid, permissions :: Value Text
permissions = Value Text
permissions}
instance ToResourceProperties CreationInfoProperty where
  toResourceProperties :: CreationInfoProperty -> ResourceProperties
toResourceProperties CreationInfoProperty {()
Value Text
haddock_workaround_ :: CreationInfoProperty -> ()
ownerGid :: CreationInfoProperty -> Value Text
ownerUid :: CreationInfoProperty -> Value Text
permissions :: CreationInfoProperty -> Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
permissions :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EFS::AccessPoint.CreationInfo",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"OwnerGid" 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
ownerGid,
                       Key
"OwnerUid" 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
ownerUid, Key
"Permissions" 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
permissions]}
instance JSON.ToJSON CreationInfoProperty where
  toJSON :: CreationInfoProperty -> Value
toJSON CreationInfoProperty {()
Value Text
haddock_workaround_ :: CreationInfoProperty -> ()
ownerGid :: CreationInfoProperty -> Value Text
ownerUid :: CreationInfoProperty -> Value Text
permissions :: CreationInfoProperty -> Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
permissions :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"OwnerGid" 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
ownerGid, Key
"OwnerUid" 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
ownerUid,
         Key
"Permissions" 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
permissions]
instance Property "OwnerGid" CreationInfoProperty where
  type PropertyType "OwnerGid" CreationInfoProperty = Value Prelude.Text
  set :: PropertyType "OwnerGid" CreationInfoProperty
-> CreationInfoProperty -> CreationInfoProperty
set PropertyType "OwnerGid" CreationInfoProperty
newValue CreationInfoProperty {()
Value Text
haddock_workaround_ :: CreationInfoProperty -> ()
ownerGid :: CreationInfoProperty -> Value Text
ownerUid :: CreationInfoProperty -> Value Text
permissions :: CreationInfoProperty -> Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
permissions :: Value Text
..}
    = CreationInfoProperty {ownerGid :: Value Text
ownerGid = PropertyType "OwnerGid" CreationInfoProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
ownerUid :: Value Text
permissions :: Value Text
haddock_workaround_ :: ()
ownerUid :: Value Text
permissions :: Value Text
..}
instance Property "OwnerUid" CreationInfoProperty where
  type PropertyType "OwnerUid" CreationInfoProperty = Value Prelude.Text
  set :: PropertyType "OwnerUid" CreationInfoProperty
-> CreationInfoProperty -> CreationInfoProperty
set PropertyType "OwnerUid" CreationInfoProperty
newValue CreationInfoProperty {()
Value Text
haddock_workaround_ :: CreationInfoProperty -> ()
ownerGid :: CreationInfoProperty -> Value Text
ownerUid :: CreationInfoProperty -> Value Text
permissions :: CreationInfoProperty -> Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
permissions :: Value Text
..}
    = CreationInfoProperty {ownerUid :: Value Text
ownerUid = PropertyType "OwnerUid" CreationInfoProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
permissions :: Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
permissions :: Value Text
..}
instance Property "Permissions" CreationInfoProperty where
  type PropertyType "Permissions" CreationInfoProperty = Value Prelude.Text
  set :: PropertyType "Permissions" CreationInfoProperty
-> CreationInfoProperty -> CreationInfoProperty
set PropertyType "Permissions" CreationInfoProperty
newValue CreationInfoProperty {()
Value Text
haddock_workaround_ :: CreationInfoProperty -> ()
ownerGid :: CreationInfoProperty -> Value Text
ownerUid :: CreationInfoProperty -> Value Text
permissions :: CreationInfoProperty -> Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
permissions :: Value Text
..}
    = CreationInfoProperty {permissions :: Value Text
permissions = PropertyType "Permissions" CreationInfoProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
haddock_workaround_ :: ()
ownerGid :: Value Text
ownerUid :: Value Text
..}