module Stratosphere.BedrockAgentCore.Gateway.AuthorizerConfigurationProperty (
        module Exports, AuthorizerConfigurationProperty(..),
        mkAuthorizerConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.BedrockAgentCore.Gateway.CustomJWTAuthorizerConfigurationProperty as Exports
import Stratosphere.ResourceProperties
data AuthorizerConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-authorizerconfiguration.html>
    AuthorizerConfigurationProperty {AuthorizerConfigurationProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gateway-authorizerconfiguration.html#cfn-bedrockagentcore-gateway-authorizerconfiguration-customjwtauthorizer>
                                     AuthorizerConfigurationProperty
-> CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty}
  deriving stock (AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty -> Bool
(AuthorizerConfigurationProperty
 -> AuthorizerConfigurationProperty -> Bool)
-> (AuthorizerConfigurationProperty
    -> AuthorizerConfigurationProperty -> Bool)
-> Eq AuthorizerConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty -> Bool
== :: AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty -> Bool
$c/= :: AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty -> Bool
/= :: AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty -> Bool
Prelude.Eq, Int -> AuthorizerConfigurationProperty -> ShowS
[AuthorizerConfigurationProperty] -> ShowS
AuthorizerConfigurationProperty -> String
(Int -> AuthorizerConfigurationProperty -> ShowS)
-> (AuthorizerConfigurationProperty -> String)
-> ([AuthorizerConfigurationProperty] -> ShowS)
-> Show AuthorizerConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AuthorizerConfigurationProperty -> ShowS
showsPrec :: Int -> AuthorizerConfigurationProperty -> ShowS
$cshow :: AuthorizerConfigurationProperty -> String
show :: AuthorizerConfigurationProperty -> String
$cshowList :: [AuthorizerConfigurationProperty] -> ShowS
showList :: [AuthorizerConfigurationProperty] -> ShowS
Prelude.Show)
mkAuthorizerConfigurationProperty ::
  CustomJWTAuthorizerConfigurationProperty
  -> AuthorizerConfigurationProperty
mkAuthorizerConfigurationProperty :: CustomJWTAuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty
mkAuthorizerConfigurationProperty CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer
  = AuthorizerConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer = CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer}
instance ToResourceProperties AuthorizerConfigurationProperty where
  toResourceProperties :: AuthorizerConfigurationProperty -> ResourceProperties
toResourceProperties AuthorizerConfigurationProperty {()
CustomJWTAuthorizerConfigurationProperty
haddock_workaround_ :: AuthorizerConfigurationProperty -> ()
customJWTAuthorizer :: AuthorizerConfigurationProperty
-> CustomJWTAuthorizerConfigurationProperty
haddock_workaround_ :: ()
customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::BedrockAgentCore::Gateway.AuthorizerConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CustomJWTAuthorizer" Key -> CustomJWTAuthorizerConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer]}
instance JSON.ToJSON AuthorizerConfigurationProperty where
  toJSON :: AuthorizerConfigurationProperty -> Value
toJSON AuthorizerConfigurationProperty {()
CustomJWTAuthorizerConfigurationProperty
haddock_workaround_ :: AuthorizerConfigurationProperty -> ()
customJWTAuthorizer :: AuthorizerConfigurationProperty
-> CustomJWTAuthorizerConfigurationProperty
haddock_workaround_ :: ()
customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"CustomJWTAuthorizer" Key -> CustomJWTAuthorizerConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer]
instance Property "CustomJWTAuthorizer" AuthorizerConfigurationProperty where
  type PropertyType "CustomJWTAuthorizer" AuthorizerConfigurationProperty = CustomJWTAuthorizerConfigurationProperty
  set :: PropertyType "CustomJWTAuthorizer" AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty
-> AuthorizerConfigurationProperty
set PropertyType "CustomJWTAuthorizer" AuthorizerConfigurationProperty
newValue AuthorizerConfigurationProperty {()
CustomJWTAuthorizerConfigurationProperty
haddock_workaround_ :: AuthorizerConfigurationProperty -> ()
customJWTAuthorizer :: AuthorizerConfigurationProperty
-> CustomJWTAuthorizerConfigurationProperty
haddock_workaround_ :: ()
customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty
..}
    = AuthorizerConfigurationProperty
        {customJWTAuthorizer :: CustomJWTAuthorizerConfigurationProperty
customJWTAuthorizer = PropertyType "CustomJWTAuthorizer" AuthorizerConfigurationProperty
CustomJWTAuthorizerConfigurationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}