stratosphere-0.26.2: library-gen/Stratosphere/ResourceProperties/AppStreamFleetDomainJoinInfo.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html
module Stratosphere.ResourceProperties.AppStreamFleetDomainJoinInfo where
import Stratosphere.ResourceImports
-- | Full data type definition for AppStreamFleetDomainJoinInfo. See
-- 'appStreamFleetDomainJoinInfo' for a more convenient constructor.
data AppStreamFleetDomainJoinInfo =
AppStreamFleetDomainJoinInfo
{ _appStreamFleetDomainJoinInfoDirectoryName :: Maybe (Val Text)
, _appStreamFleetDomainJoinInfoOrganizationalUnitDistinguishedName :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON AppStreamFleetDomainJoinInfo where
toJSON AppStreamFleetDomainJoinInfo{..} =
object $
catMaybes
[ fmap (("DirectoryName",) . toJSON) _appStreamFleetDomainJoinInfoDirectoryName
, fmap (("OrganizationalUnitDistinguishedName",) . toJSON) _appStreamFleetDomainJoinInfoOrganizationalUnitDistinguishedName
]
instance FromJSON AppStreamFleetDomainJoinInfo where
parseJSON (Object obj) =
AppStreamFleetDomainJoinInfo <$>
(obj .:? "DirectoryName") <*>
(obj .:? "OrganizationalUnitDistinguishedName")
parseJSON _ = mempty
-- | Constructor for 'AppStreamFleetDomainJoinInfo' containing required fields
-- as arguments.
appStreamFleetDomainJoinInfo
:: AppStreamFleetDomainJoinInfo
appStreamFleetDomainJoinInfo =
AppStreamFleetDomainJoinInfo
{ _appStreamFleetDomainJoinInfoDirectoryName = Nothing
, _appStreamFleetDomainJoinInfoOrganizationalUnitDistinguishedName = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-directoryname
asfdjiDirectoryName :: Lens' AppStreamFleetDomainJoinInfo (Maybe (Val Text))
asfdjiDirectoryName = lens _appStreamFleetDomainJoinInfoDirectoryName (\s a -> s { _appStreamFleetDomainJoinInfoDirectoryName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-organizationalunitdistinguishedname
asfdjiOrganizationalUnitDistinguishedName :: Lens' AppStreamFleetDomainJoinInfo (Maybe (Val Text))
asfdjiOrganizationalUnitDistinguishedName = lens _appStreamFleetDomainJoinInfoOrganizationalUnitDistinguishedName (\s a -> s { _appStreamFleetDomainJoinInfoOrganizationalUnitDistinguishedName = a })