module Stratosphere.EC2.ClientVpnEndpoint.DirectoryServiceAuthenticationRequestProperty (
        DirectoryServiceAuthenticationRequestProperty(..),
        mkDirectoryServiceAuthenticationRequestProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DirectoryServiceAuthenticationRequestProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html>
    DirectoryServiceAuthenticationRequestProperty {DirectoryServiceAuthenticationRequestProperty -> ()
haddock_workaround_ :: (),
                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html#cfn-ec2-clientvpnendpoint-directoryserviceauthenticationrequest-directoryid>
                                                   DirectoryServiceAuthenticationRequestProperty -> Value Text
directoryId :: (Value Prelude.Text)}
  deriving stock (DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty -> Bool
(DirectoryServiceAuthenticationRequestProperty
 -> DirectoryServiceAuthenticationRequestProperty -> Bool)
-> (DirectoryServiceAuthenticationRequestProperty
    -> DirectoryServiceAuthenticationRequestProperty -> Bool)
-> Eq DirectoryServiceAuthenticationRequestProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty -> Bool
== :: DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty -> Bool
$c/= :: DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty -> Bool
/= :: DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty -> Bool
Prelude.Eq, Int -> DirectoryServiceAuthenticationRequestProperty -> ShowS
[DirectoryServiceAuthenticationRequestProperty] -> ShowS
DirectoryServiceAuthenticationRequestProperty -> String
(Int -> DirectoryServiceAuthenticationRequestProperty -> ShowS)
-> (DirectoryServiceAuthenticationRequestProperty -> String)
-> ([DirectoryServiceAuthenticationRequestProperty] -> ShowS)
-> Show DirectoryServiceAuthenticationRequestProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DirectoryServiceAuthenticationRequestProperty -> ShowS
showsPrec :: Int -> DirectoryServiceAuthenticationRequestProperty -> ShowS
$cshow :: DirectoryServiceAuthenticationRequestProperty -> String
show :: DirectoryServiceAuthenticationRequestProperty -> String
$cshowList :: [DirectoryServiceAuthenticationRequestProperty] -> ShowS
showList :: [DirectoryServiceAuthenticationRequestProperty] -> ShowS
Prelude.Show)
mkDirectoryServiceAuthenticationRequestProperty ::
  Value Prelude.Text -> DirectoryServiceAuthenticationRequestProperty
mkDirectoryServiceAuthenticationRequestProperty :: Value Text -> DirectoryServiceAuthenticationRequestProperty
mkDirectoryServiceAuthenticationRequestProperty Value Text
directoryId
  = DirectoryServiceAuthenticationRequestProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), directoryId :: Value Text
directoryId = Value Text
directoryId}
instance ToResourceProperties DirectoryServiceAuthenticationRequestProperty where
  toResourceProperties :: DirectoryServiceAuthenticationRequestProperty -> ResourceProperties
toResourceProperties
    DirectoryServiceAuthenticationRequestProperty {()
Value Text
haddock_workaround_ :: DirectoryServiceAuthenticationRequestProperty -> ()
directoryId :: DirectoryServiceAuthenticationRequestProperty -> Value Text
haddock_workaround_ :: ()
directoryId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DirectoryId" 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
directoryId]}
instance JSON.ToJSON DirectoryServiceAuthenticationRequestProperty where
  toJSON :: DirectoryServiceAuthenticationRequestProperty -> Value
toJSON DirectoryServiceAuthenticationRequestProperty {()
Value Text
haddock_workaround_ :: DirectoryServiceAuthenticationRequestProperty -> ()
directoryId :: DirectoryServiceAuthenticationRequestProperty -> Value Text
haddock_workaround_ :: ()
directoryId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"DirectoryId" 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
directoryId]
instance Property "DirectoryId" DirectoryServiceAuthenticationRequestProperty where
  type PropertyType "DirectoryId" DirectoryServiceAuthenticationRequestProperty = Value Prelude.Text
  set :: PropertyType
  "DirectoryId" DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty
-> DirectoryServiceAuthenticationRequestProperty
set PropertyType
  "DirectoryId" DirectoryServiceAuthenticationRequestProperty
newValue DirectoryServiceAuthenticationRequestProperty {()
Value Text
haddock_workaround_ :: DirectoryServiceAuthenticationRequestProperty -> ()
directoryId :: DirectoryServiceAuthenticationRequestProperty -> Value Text
haddock_workaround_ :: ()
directoryId :: Value Text
..}
    = DirectoryServiceAuthenticationRequestProperty
        {directoryId :: Value Text
directoryId = PropertyType
  "DirectoryId" DirectoryServiceAuthenticationRequestProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}