module Stratosphere.FSx.S3AccessPointAttachment.OpenZFSFileSystemIdentityProperty (
        module Exports, OpenZFSFileSystemIdentityProperty(..),
        mkOpenZFSFileSystemIdentityProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.FSx.S3AccessPointAttachment.OpenZFSPosixFileSystemUserProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OpenZFSFileSystemIdentityProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-s3accesspointattachment-openzfsfilesystemidentity.html>
    OpenZFSFileSystemIdentityProperty {OpenZFSFileSystemIdentityProperty -> ()
haddock_workaround_ :: (),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-s3accesspointattachment-openzfsfilesystemidentity.html#cfn-fsx-s3accesspointattachment-openzfsfilesystemidentity-posixuser>
                                       OpenZFSFileSystemIdentityProperty
-> OpenZFSPosixFileSystemUserProperty
posixUser :: OpenZFSPosixFileSystemUserProperty,
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-s3accesspointattachment-openzfsfilesystemidentity.html#cfn-fsx-s3accesspointattachment-openzfsfilesystemidentity-type>
                                       OpenZFSFileSystemIdentityProperty -> Value Text
type' :: (Value Prelude.Text)}
  deriving stock (OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty -> Bool
(OpenZFSFileSystemIdentityProperty
 -> OpenZFSFileSystemIdentityProperty -> Bool)
-> (OpenZFSFileSystemIdentityProperty
    -> OpenZFSFileSystemIdentityProperty -> Bool)
-> Eq OpenZFSFileSystemIdentityProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty -> Bool
== :: OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty -> Bool
$c/= :: OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty -> Bool
/= :: OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty -> Bool
Prelude.Eq, Int -> OpenZFSFileSystemIdentityProperty -> ShowS
[OpenZFSFileSystemIdentityProperty] -> ShowS
OpenZFSFileSystemIdentityProperty -> String
(Int -> OpenZFSFileSystemIdentityProperty -> ShowS)
-> (OpenZFSFileSystemIdentityProperty -> String)
-> ([OpenZFSFileSystemIdentityProperty] -> ShowS)
-> Show OpenZFSFileSystemIdentityProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OpenZFSFileSystemIdentityProperty -> ShowS
showsPrec :: Int -> OpenZFSFileSystemIdentityProperty -> ShowS
$cshow :: OpenZFSFileSystemIdentityProperty -> String
show :: OpenZFSFileSystemIdentityProperty -> String
$cshowList :: [OpenZFSFileSystemIdentityProperty] -> ShowS
showList :: [OpenZFSFileSystemIdentityProperty] -> ShowS
Prelude.Show)
mkOpenZFSFileSystemIdentityProperty ::
  OpenZFSPosixFileSystemUserProperty
  -> Value Prelude.Text -> OpenZFSFileSystemIdentityProperty
mkOpenZFSFileSystemIdentityProperty :: OpenZFSPosixFileSystemUserProperty
-> Value Text -> OpenZFSFileSystemIdentityProperty
mkOpenZFSFileSystemIdentityProperty OpenZFSPosixFileSystemUserProperty
posixUser Value Text
type'
  = OpenZFSFileSystemIdentityProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), posixUser :: OpenZFSPosixFileSystemUserProperty
posixUser = OpenZFSPosixFileSystemUserProperty
posixUser, type' :: Value Text
type' = Value Text
type'}
instance ToResourceProperties OpenZFSFileSystemIdentityProperty where
  toResourceProperties :: OpenZFSFileSystemIdentityProperty -> ResourceProperties
toResourceProperties OpenZFSFileSystemIdentityProperty {()
Value Text
OpenZFSPosixFileSystemUserProperty
haddock_workaround_ :: OpenZFSFileSystemIdentityProperty -> ()
posixUser :: OpenZFSFileSystemIdentityProperty
-> OpenZFSPosixFileSystemUserProperty
type' :: OpenZFSFileSystemIdentityProperty -> Value Text
haddock_workaround_ :: ()
posixUser :: OpenZFSPosixFileSystemUserProperty
type' :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::FSx::S3AccessPointAttachment.OpenZFSFileSystemIdentity",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"PosixUser" Key -> OpenZFSPosixFileSystemUserProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OpenZFSPosixFileSystemUserProperty
posixUser, Key
"Type" 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
type']}
instance JSON.ToJSON OpenZFSFileSystemIdentityProperty where
  toJSON :: OpenZFSFileSystemIdentityProperty -> Value
toJSON OpenZFSFileSystemIdentityProperty {()
Value Text
OpenZFSPosixFileSystemUserProperty
haddock_workaround_ :: OpenZFSFileSystemIdentityProperty -> ()
posixUser :: OpenZFSFileSystemIdentityProperty
-> OpenZFSPosixFileSystemUserProperty
type' :: OpenZFSFileSystemIdentityProperty -> Value Text
haddock_workaround_ :: ()
posixUser :: OpenZFSPosixFileSystemUserProperty
type' :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"PosixUser" Key -> OpenZFSPosixFileSystemUserProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OpenZFSPosixFileSystemUserProperty
posixUser, Key
"Type" 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
type']
instance Property "PosixUser" OpenZFSFileSystemIdentityProperty where
  type PropertyType "PosixUser" OpenZFSFileSystemIdentityProperty = OpenZFSPosixFileSystemUserProperty
  set :: PropertyType "PosixUser" OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty
set PropertyType "PosixUser" OpenZFSFileSystemIdentityProperty
newValue OpenZFSFileSystemIdentityProperty {()
Value Text
OpenZFSPosixFileSystemUserProperty
haddock_workaround_ :: OpenZFSFileSystemIdentityProperty -> ()
posixUser :: OpenZFSFileSystemIdentityProperty
-> OpenZFSPosixFileSystemUserProperty
type' :: OpenZFSFileSystemIdentityProperty -> Value Text
haddock_workaround_ :: ()
posixUser :: OpenZFSPosixFileSystemUserProperty
type' :: Value Text
..}
    = OpenZFSFileSystemIdentityProperty {posixUser :: OpenZFSPosixFileSystemUserProperty
posixUser = PropertyType "PosixUser" OpenZFSFileSystemIdentityProperty
OpenZFSPosixFileSystemUserProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
type' :: Value Text
haddock_workaround_ :: ()
type' :: Value Text
..}
instance Property "Type" OpenZFSFileSystemIdentityProperty where
  type PropertyType "Type" OpenZFSFileSystemIdentityProperty = Value Prelude.Text
  set :: PropertyType "Type" OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty
-> OpenZFSFileSystemIdentityProperty
set PropertyType "Type" OpenZFSFileSystemIdentityProperty
newValue OpenZFSFileSystemIdentityProperty {()
Value Text
OpenZFSPosixFileSystemUserProperty
haddock_workaround_ :: OpenZFSFileSystemIdentityProperty -> ()
posixUser :: OpenZFSFileSystemIdentityProperty
-> OpenZFSPosixFileSystemUserProperty
type' :: OpenZFSFileSystemIdentityProperty -> Value Text
haddock_workaround_ :: ()
posixUser :: OpenZFSPosixFileSystemUserProperty
type' :: Value Text
..}
    = OpenZFSFileSystemIdentityProperty {type' :: Value Text
type' = PropertyType "Type" OpenZFSFileSystemIdentityProperty
Value Text
newValue, ()
OpenZFSPosixFileSystemUserProperty
haddock_workaround_ :: ()
posixUser :: OpenZFSPosixFileSystemUserProperty
haddock_workaround_ :: ()
posixUser :: OpenZFSPosixFileSystemUserProperty
..}