module Stratosphere.Events.Connection.OAuthParametersProperty (
        module Exports, OAuthParametersProperty(..),
        mkOAuthParametersProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Events.Connection.ClientParametersProperty as Exports
import {-# SOURCE #-} Stratosphere.Events.Connection.ConnectionHttpParametersProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OAuthParametersProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html>
    OAuthParametersProperty {OAuthParametersProperty -> ()
haddock_workaround_ :: (),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-authorizationendpoint>
                             OAuthParametersProperty -> Value Text
authorizationEndpoint :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-clientparameters>
                             OAuthParametersProperty -> ClientParametersProperty
clientParameters :: ClientParametersProperty,
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-httpmethod>
                             OAuthParametersProperty -> Value Text
httpMethod :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-oauthhttpparameters>
                             OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
oAuthHttpParameters :: (Prelude.Maybe ConnectionHttpParametersProperty)}
  deriving stock (OAuthParametersProperty -> OAuthParametersProperty -> Bool
(OAuthParametersProperty -> OAuthParametersProperty -> Bool)
-> (OAuthParametersProperty -> OAuthParametersProperty -> Bool)
-> Eq OAuthParametersProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OAuthParametersProperty -> OAuthParametersProperty -> Bool
== :: OAuthParametersProperty -> OAuthParametersProperty -> Bool
$c/= :: OAuthParametersProperty -> OAuthParametersProperty -> Bool
/= :: OAuthParametersProperty -> OAuthParametersProperty -> Bool
Prelude.Eq, Int -> OAuthParametersProperty -> ShowS
[OAuthParametersProperty] -> ShowS
OAuthParametersProperty -> String
(Int -> OAuthParametersProperty -> ShowS)
-> (OAuthParametersProperty -> String)
-> ([OAuthParametersProperty] -> ShowS)
-> Show OAuthParametersProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OAuthParametersProperty -> ShowS
showsPrec :: Int -> OAuthParametersProperty -> ShowS
$cshow :: OAuthParametersProperty -> String
show :: OAuthParametersProperty -> String
$cshowList :: [OAuthParametersProperty] -> ShowS
showList :: [OAuthParametersProperty] -> ShowS
Prelude.Show)
mkOAuthParametersProperty ::
  Value Prelude.Text
  -> ClientParametersProperty
     -> Value Prelude.Text -> OAuthParametersProperty
mkOAuthParametersProperty :: Value Text
-> ClientParametersProperty
-> Value Text
-> OAuthParametersProperty
mkOAuthParametersProperty
  Value Text
authorizationEndpoint
  ClientParametersProperty
clientParameters
  Value Text
httpMethod
  = OAuthParametersProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       authorizationEndpoint :: Value Text
authorizationEndpoint = Value Text
authorizationEndpoint,
       clientParameters :: ClientParametersProperty
clientParameters = ClientParametersProperty
clientParameters, httpMethod :: Value Text
httpMethod = Value Text
httpMethod,
       oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
oAuthHttpParameters = Maybe ConnectionHttpParametersProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties OAuthParametersProperty where
  toResourceProperties :: OAuthParametersProperty -> ResourceProperties
toResourceProperties OAuthParametersProperty {Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: OAuthParametersProperty -> ()
authorizationEndpoint :: OAuthParametersProperty -> Value Text
clientParameters :: OAuthParametersProperty -> ClientParametersProperty
httpMethod :: OAuthParametersProperty -> Value Text
oAuthHttpParameters :: OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Events::Connection.OAuthParameters",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [Key
"AuthorizationEndpoint" 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
authorizationEndpoint,
                            Key
"ClientParameters" Key -> ClientParametersProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ClientParametersProperty
clientParameters,
                            Key
"HttpMethod" 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
httpMethod]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [Key -> ConnectionHttpParametersProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"OAuthHttpParameters"
                                 (ConnectionHttpParametersProperty -> (Key, Value))
-> Maybe ConnectionHttpParametersProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ConnectionHttpParametersProperty
oAuthHttpParameters]))}
instance JSON.ToJSON OAuthParametersProperty where
  toJSON :: OAuthParametersProperty -> Value
toJSON OAuthParametersProperty {Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: OAuthParametersProperty -> ()
authorizationEndpoint :: OAuthParametersProperty -> Value Text
clientParameters :: OAuthParametersProperty -> ClientParametersProperty
httpMethod :: OAuthParametersProperty -> Value Text
oAuthHttpParameters :: OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [Key
"AuthorizationEndpoint" 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
authorizationEndpoint,
               Key
"ClientParameters" Key -> ClientParametersProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ClientParametersProperty
clientParameters,
               Key
"HttpMethod" 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
httpMethod]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [Key -> ConnectionHttpParametersProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"OAuthHttpParameters"
                    (ConnectionHttpParametersProperty -> (Key, Value))
-> Maybe ConnectionHttpParametersProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ConnectionHttpParametersProperty
oAuthHttpParameters])))
instance Property "AuthorizationEndpoint" OAuthParametersProperty where
  type PropertyType "AuthorizationEndpoint" OAuthParametersProperty = Value Prelude.Text
  set :: PropertyType "AuthorizationEndpoint" OAuthParametersProperty
-> OAuthParametersProperty -> OAuthParametersProperty
set PropertyType "AuthorizationEndpoint" OAuthParametersProperty
newValue OAuthParametersProperty {Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: OAuthParametersProperty -> ()
authorizationEndpoint :: OAuthParametersProperty -> Value Text
clientParameters :: OAuthParametersProperty -> ClientParametersProperty
httpMethod :: OAuthParametersProperty -> Value Text
oAuthHttpParameters :: OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
    = OAuthParametersProperty {authorizationEndpoint :: Value Text
authorizationEndpoint = PropertyType "AuthorizationEndpoint" OAuthParametersProperty
Value Text
newValue, Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: ()
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
instance Property "ClientParameters" OAuthParametersProperty where
  type PropertyType "ClientParameters" OAuthParametersProperty = ClientParametersProperty
  set :: PropertyType "ClientParameters" OAuthParametersProperty
-> OAuthParametersProperty -> OAuthParametersProperty
set PropertyType "ClientParameters" OAuthParametersProperty
newValue OAuthParametersProperty {Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: OAuthParametersProperty -> ()
authorizationEndpoint :: OAuthParametersProperty -> Value Text
clientParameters :: OAuthParametersProperty -> ClientParametersProperty
httpMethod :: OAuthParametersProperty -> Value Text
oAuthHttpParameters :: OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
    = OAuthParametersProperty {clientParameters :: ClientParametersProperty
clientParameters = PropertyType "ClientParameters" OAuthParametersProperty
ClientParametersProperty
newValue, Maybe ConnectionHttpParametersProperty
()
Value Text
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
instance Property "HttpMethod" OAuthParametersProperty where
  type PropertyType "HttpMethod" OAuthParametersProperty = Value Prelude.Text
  set :: PropertyType "HttpMethod" OAuthParametersProperty
-> OAuthParametersProperty -> OAuthParametersProperty
set PropertyType "HttpMethod" OAuthParametersProperty
newValue OAuthParametersProperty {Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: OAuthParametersProperty -> ()
authorizationEndpoint :: OAuthParametersProperty -> Value Text
clientParameters :: OAuthParametersProperty -> ClientParametersProperty
httpMethod :: OAuthParametersProperty -> Value Text
oAuthHttpParameters :: OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
    = OAuthParametersProperty {httpMethod :: Value Text
httpMethod = PropertyType "HttpMethod" OAuthParametersProperty
Value Text
newValue, Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
instance Property "OAuthHttpParameters" OAuthParametersProperty where
  type PropertyType "OAuthHttpParameters" OAuthParametersProperty = ConnectionHttpParametersProperty
  set :: PropertyType "OAuthHttpParameters" OAuthParametersProperty
-> OAuthParametersProperty -> OAuthParametersProperty
set PropertyType "OAuthHttpParameters" OAuthParametersProperty
newValue OAuthParametersProperty {Maybe ConnectionHttpParametersProperty
()
Value Text
ClientParametersProperty
haddock_workaround_ :: OAuthParametersProperty -> ()
authorizationEndpoint :: OAuthParametersProperty -> Value Text
clientParameters :: OAuthParametersProperty -> ClientParametersProperty
httpMethod :: OAuthParametersProperty -> Value Text
oAuthHttpParameters :: OAuthParametersProperty -> Maybe ConnectionHttpParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
..}
    = OAuthParametersProperty
        {oAuthHttpParameters :: Maybe ConnectionHttpParametersProperty
oAuthHttpParameters = ConnectionHttpParametersProperty
-> Maybe ConnectionHttpParametersProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "OAuthHttpParameters" OAuthParametersProperty
ConnectionHttpParametersProperty
newValue, ()
Value Text
ClientParametersProperty
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
haddock_workaround_ :: ()
authorizationEndpoint :: Value Text
clientParameters :: ClientParametersProperty
httpMethod :: Value Text
..}