module Stratosphere.ApiGatewayV2.ApiGatewayManagedOverrides.RouteOverridesProperty (
        RouteOverridesProperty(..), mkRouteOverridesProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RouteOverridesProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html>
    RouteOverridesProperty {RouteOverridesProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationscopes>
                            RouteOverridesProperty -> Maybe (ValueList Text)
authorizationScopes :: (Prelude.Maybe (ValueList Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizationtype>
                            RouteOverridesProperty -> Maybe (Value Text)
authorizationType :: (Prelude.Maybe (Value Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-authorizerid>
                            RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: (Prelude.Maybe (Value Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-operationname>
                            RouteOverridesProperty -> Maybe (Value Text)
operationName :: (Prelude.Maybe (Value Prelude.Text)),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-apigatewaymanagedoverrides-routeoverrides.html#cfn-apigatewayv2-apigatewaymanagedoverrides-routeoverrides-target>
                            RouteOverridesProperty -> Maybe (Value Text)
target :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (RouteOverridesProperty -> RouteOverridesProperty -> Bool
(RouteOverridesProperty -> RouteOverridesProperty -> Bool)
-> (RouteOverridesProperty -> RouteOverridesProperty -> Bool)
-> Eq RouteOverridesProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RouteOverridesProperty -> RouteOverridesProperty -> Bool
== :: RouteOverridesProperty -> RouteOverridesProperty -> Bool
$c/= :: RouteOverridesProperty -> RouteOverridesProperty -> Bool
/= :: RouteOverridesProperty -> RouteOverridesProperty -> Bool
Prelude.Eq, Int -> RouteOverridesProperty -> ShowS
[RouteOverridesProperty] -> ShowS
RouteOverridesProperty -> String
(Int -> RouteOverridesProperty -> ShowS)
-> (RouteOverridesProperty -> String)
-> ([RouteOverridesProperty] -> ShowS)
-> Show RouteOverridesProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RouteOverridesProperty -> ShowS
showsPrec :: Int -> RouteOverridesProperty -> ShowS
$cshow :: RouteOverridesProperty -> String
show :: RouteOverridesProperty -> String
$cshowList :: [RouteOverridesProperty] -> ShowS
showList :: [RouteOverridesProperty] -> ShowS
Prelude.Show)
mkRouteOverridesProperty :: RouteOverridesProperty
mkRouteOverridesProperty :: RouteOverridesProperty
mkRouteOverridesProperty
  = RouteOverridesProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), authorizationScopes :: Maybe (ValueList Text)
authorizationScopes = Maybe (ValueList Text)
forall a. Maybe a
Prelude.Nothing,
       authorizationType :: Maybe (Value Text)
authorizationType = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       authorizerId :: Maybe (Value Text)
authorizerId = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, operationName :: Maybe (Value Text)
operationName = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       target :: Maybe (Value Text)
target = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties RouteOverridesProperty where
  toResourceProperties :: RouteOverridesProperty -> ResourceProperties
toResourceProperties RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AuthorizationScopes" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
authorizationScopes,
                            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..=) Key
"AuthorizationType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
authorizationType,
                            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..=) Key
"AuthorizerId" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
authorizerId,
                            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..=) Key
"OperationName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
operationName,
                            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..=) Key
"Target" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
target])}
instance JSON.ToJSON RouteOverridesProperty where
  toJSON :: RouteOverridesProperty -> Value
toJSON RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"AuthorizationScopes" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
authorizationScopes,
               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..=) Key
"AuthorizationType" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
authorizationType,
               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..=) Key
"AuthorizerId" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
authorizerId,
               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..=) Key
"OperationName" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
operationName,
               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..=) Key
"Target" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
target]))
instance Property "AuthorizationScopes" RouteOverridesProperty where
  type PropertyType "AuthorizationScopes" RouteOverridesProperty = ValueList Prelude.Text
  set :: PropertyType "AuthorizationScopes" RouteOverridesProperty
-> RouteOverridesProperty -> RouteOverridesProperty
set PropertyType "AuthorizationScopes" RouteOverridesProperty
newValue RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = RouteOverridesProperty
        {authorizationScopes :: Maybe (ValueList Text)
authorizationScopes = ValueList Text -> Maybe (ValueList Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AuthorizationScopes" RouteOverridesProperty
ValueList Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
haddock_workaround_ :: ()
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
instance Property "AuthorizationType" RouteOverridesProperty where
  type PropertyType "AuthorizationType" RouteOverridesProperty = Value Prelude.Text
  set :: PropertyType "AuthorizationType" RouteOverridesProperty
-> RouteOverridesProperty -> RouteOverridesProperty
set PropertyType "AuthorizationType" RouteOverridesProperty
newValue RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = RouteOverridesProperty
        {authorizationType :: Maybe (Value Text)
authorizationType = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AuthorizationType" RouteOverridesProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
instance Property "AuthorizerId" RouteOverridesProperty where
  type PropertyType "AuthorizerId" RouteOverridesProperty = Value Prelude.Text
  set :: PropertyType "AuthorizerId" RouteOverridesProperty
-> RouteOverridesProperty -> RouteOverridesProperty
set PropertyType "AuthorizerId" RouteOverridesProperty
newValue RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = RouteOverridesProperty {authorizerId :: Maybe (Value Text)
authorizerId = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "AuthorizerId" RouteOverridesProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
instance Property "OperationName" RouteOverridesProperty where
  type PropertyType "OperationName" RouteOverridesProperty = Value Prelude.Text
  set :: PropertyType "OperationName" RouteOverridesProperty
-> RouteOverridesProperty -> RouteOverridesProperty
set PropertyType "OperationName" RouteOverridesProperty
newValue RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = RouteOverridesProperty
        {operationName :: Maybe (Value Text)
operationName = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "OperationName" RouteOverridesProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
target :: Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
instance Property "Target" RouteOverridesProperty where
  type PropertyType "Target" RouteOverridesProperty = Value Prelude.Text
  set :: PropertyType "Target" RouteOverridesProperty
-> RouteOverridesProperty -> RouteOverridesProperty
set PropertyType "Target" RouteOverridesProperty
newValue RouteOverridesProperty {Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: RouteOverridesProperty -> ()
authorizationScopes :: RouteOverridesProperty -> Maybe (ValueList Text)
authorizationType :: RouteOverridesProperty -> Maybe (Value Text)
authorizerId :: RouteOverridesProperty -> Maybe (Value Text)
operationName :: RouteOverridesProperty -> Maybe (Value Text)
target :: RouteOverridesProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
target :: Maybe (Value Text)
..}
    = RouteOverridesProperty {target :: Maybe (Value Text)
target = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Target" RouteOverridesProperty
Value Text
newValue, Maybe (ValueList Text)
Maybe (Value Text)
()
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
haddock_workaround_ :: ()
authorizationScopes :: Maybe (ValueList Text)
authorizationType :: Maybe (Value Text)
authorizerId :: Maybe (Value Text)
operationName :: Maybe (Value Text)
..}