module Stratosphere.Events.Connection.ClientParametersProperty (
        ClientParametersProperty(..), mkClientParametersProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ClientParametersProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html>
    ClientParametersProperty {ClientParametersProperty -> ()
haddock_workaround_ :: (),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientid>
                              ClientParametersProperty -> Value Text
clientID :: (Value Prelude.Text),
                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientsecret>
                              ClientParametersProperty -> Value Text
clientSecret :: (Value Prelude.Text)}
  deriving stock (ClientParametersProperty -> ClientParametersProperty -> Bool
(ClientParametersProperty -> ClientParametersProperty -> Bool)
-> (ClientParametersProperty -> ClientParametersProperty -> Bool)
-> Eq ClientParametersProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ClientParametersProperty -> ClientParametersProperty -> Bool
== :: ClientParametersProperty -> ClientParametersProperty -> Bool
$c/= :: ClientParametersProperty -> ClientParametersProperty -> Bool
/= :: ClientParametersProperty -> ClientParametersProperty -> Bool
Prelude.Eq, Int -> ClientParametersProperty -> ShowS
[ClientParametersProperty] -> ShowS
ClientParametersProperty -> String
(Int -> ClientParametersProperty -> ShowS)
-> (ClientParametersProperty -> String)
-> ([ClientParametersProperty] -> ShowS)
-> Show ClientParametersProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ClientParametersProperty -> ShowS
showsPrec :: Int -> ClientParametersProperty -> ShowS
$cshow :: ClientParametersProperty -> String
show :: ClientParametersProperty -> String
$cshowList :: [ClientParametersProperty] -> ShowS
showList :: [ClientParametersProperty] -> ShowS
Prelude.Show)
mkClientParametersProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> ClientParametersProperty
mkClientParametersProperty :: Value Text -> Value Text -> ClientParametersProperty
mkClientParametersProperty Value Text
clientID Value Text
clientSecret
  = ClientParametersProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), clientID :: Value Text
clientID = Value Text
clientID,
       clientSecret :: Value Text
clientSecret = Value Text
clientSecret}
instance ToResourceProperties ClientParametersProperty where
  toResourceProperties :: ClientParametersProperty -> ResourceProperties
toResourceProperties ClientParametersProperty {()
Value Text
haddock_workaround_ :: ClientParametersProperty -> ()
clientID :: ClientParametersProperty -> Value Text
clientSecret :: ClientParametersProperty -> Value Text
haddock_workaround_ :: ()
clientID :: Value Text
clientSecret :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Events::Connection.ClientParameters",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ClientID" 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
clientID,
                       Key
"ClientSecret" 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
clientSecret]}
instance JSON.ToJSON ClientParametersProperty where
  toJSON :: ClientParametersProperty -> Value
toJSON ClientParametersProperty {()
Value Text
haddock_workaround_ :: ClientParametersProperty -> ()
clientID :: ClientParametersProperty -> Value Text
clientSecret :: ClientParametersProperty -> Value Text
haddock_workaround_ :: ()
clientID :: Value Text
clientSecret :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ClientID" 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
clientID, Key
"ClientSecret" 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
clientSecret]
instance Property "ClientID" ClientParametersProperty where
  type PropertyType "ClientID" ClientParametersProperty = Value Prelude.Text
  set :: PropertyType "ClientID" ClientParametersProperty
-> ClientParametersProperty -> ClientParametersProperty
set PropertyType "ClientID" ClientParametersProperty
newValue ClientParametersProperty {()
Value Text
haddock_workaround_ :: ClientParametersProperty -> ()
clientID :: ClientParametersProperty -> Value Text
clientSecret :: ClientParametersProperty -> Value Text
haddock_workaround_ :: ()
clientID :: Value Text
clientSecret :: Value Text
..}
    = ClientParametersProperty {clientID :: Value Text
clientID = PropertyType "ClientID" ClientParametersProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
clientSecret :: Value Text
haddock_workaround_ :: ()
clientSecret :: Value Text
..}
instance Property "ClientSecret" ClientParametersProperty where
  type PropertyType "ClientSecret" ClientParametersProperty = Value Prelude.Text
  set :: PropertyType "ClientSecret" ClientParametersProperty
-> ClientParametersProperty -> ClientParametersProperty
set PropertyType "ClientSecret" ClientParametersProperty
newValue ClientParametersProperty {()
Value Text
haddock_workaround_ :: ClientParametersProperty -> ()
clientID :: ClientParametersProperty -> Value Text
clientSecret :: ClientParametersProperty -> Value Text
haddock_workaround_ :: ()
clientID :: Value Text
clientSecret :: Value Text
..}
    = ClientParametersProperty {clientSecret :: Value Text
clientSecret = PropertyType "ClientSecret" ClientParametersProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
clientID :: Value Text
haddock_workaround_ :: ()
clientID :: Value Text
..}