module Stratosphere.MSK.ServerlessCluster.SaslProperty (
        module Exports, SaslProperty(..), mkSaslProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.MSK.ServerlessCluster.IamProperty as Exports
import Stratosphere.ResourceProperties
data SaslProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-serverlesscluster-sasl.html>
    SaslProperty {SaslProperty -> ()
haddock_workaround_ :: (),
                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-serverlesscluster-sasl.html#cfn-msk-serverlesscluster-sasl-iam>
                  SaslProperty -> IamProperty
iam :: IamProperty}
  deriving stock (SaslProperty -> SaslProperty -> Bool
(SaslProperty -> SaslProperty -> Bool)
-> (SaslProperty -> SaslProperty -> Bool) -> Eq SaslProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SaslProperty -> SaslProperty -> Bool
== :: SaslProperty -> SaslProperty -> Bool
$c/= :: SaslProperty -> SaslProperty -> Bool
/= :: SaslProperty -> SaslProperty -> Bool
Prelude.Eq, Int -> SaslProperty -> ShowS
[SaslProperty] -> ShowS
SaslProperty -> String
(Int -> SaslProperty -> ShowS)
-> (SaslProperty -> String)
-> ([SaslProperty] -> ShowS)
-> Show SaslProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SaslProperty -> ShowS
showsPrec :: Int -> SaslProperty -> ShowS
$cshow :: SaslProperty -> String
show :: SaslProperty -> String
$cshowList :: [SaslProperty] -> ShowS
showList :: [SaslProperty] -> ShowS
Prelude.Show)
mkSaslProperty :: IamProperty -> SaslProperty
mkSaslProperty :: IamProperty -> SaslProperty
mkSaslProperty IamProperty
iam
  = SaslProperty {haddock_workaround_ :: ()
haddock_workaround_ = (), iam :: IamProperty
iam = IamProperty
iam}
instance ToResourceProperties SaslProperty where
  toResourceProperties :: SaslProperty -> ResourceProperties
toResourceProperties SaslProperty {()
IamProperty
haddock_workaround_ :: SaslProperty -> ()
iam :: SaslProperty -> IamProperty
haddock_workaround_ :: ()
iam :: IamProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::MSK::ServerlessCluster.Sasl",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False, properties :: Object
properties = [Key
"Iam" Key -> IamProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= IamProperty
iam]}
instance JSON.ToJSON SaslProperty where
  toJSON :: SaslProperty -> Value
toJSON SaslProperty {()
IamProperty
haddock_workaround_ :: SaslProperty -> ()
iam :: SaslProperty -> IamProperty
haddock_workaround_ :: ()
iam :: IamProperty
..} = [(Key, Value)] -> Value
JSON.object [Key
"Iam" Key -> IamProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= IamProperty
iam]
instance Property "Iam" SaslProperty where
  type PropertyType "Iam" SaslProperty = IamProperty
  set :: PropertyType "Iam" SaslProperty -> SaslProperty -> SaslProperty
set PropertyType "Iam" SaslProperty
newValue SaslProperty {()
IamProperty
haddock_workaround_ :: SaslProperty -> ()
iam :: SaslProperty -> IamProperty
haddock_workaround_ :: ()
iam :: IamProperty
..} = SaslProperty {iam :: IamProperty
iam = PropertyType "Iam" SaslProperty
IamProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}