{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}

module Hercules.API.Build.DerivationInfo.DerivationOutput where

import Data.OpenApi qualified as O3
import Hercules.API.Prelude

data DerivationOutput = DerivationOutput
  { DerivationOutput -> Text
outputName :: Text,
    DerivationOutput -> Maybe Text
outputPath :: Maybe Text
  }
  deriving ((forall x. DerivationOutput -> Rep DerivationOutput x)
-> (forall x. Rep DerivationOutput x -> DerivationOutput)
-> Generic DerivationOutput
forall x. Rep DerivationOutput x -> DerivationOutput
forall x. DerivationOutput -> Rep DerivationOutput x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DerivationOutput -> Rep DerivationOutput x
from :: forall x. DerivationOutput -> Rep DerivationOutput x
$cto :: forall x. Rep DerivationOutput x -> DerivationOutput
to :: forall x. Rep DerivationOutput x -> DerivationOutput
Generic, Int -> DerivationOutput -> ShowS
[DerivationOutput] -> ShowS
DerivationOutput -> String
(Int -> DerivationOutput -> ShowS)
-> (DerivationOutput -> String)
-> ([DerivationOutput] -> ShowS)
-> Show DerivationOutput
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DerivationOutput -> ShowS
showsPrec :: Int -> DerivationOutput -> ShowS
$cshow :: DerivationOutput -> String
show :: DerivationOutput -> String
$cshowList :: [DerivationOutput] -> ShowS
showList :: [DerivationOutput] -> ShowS
Show, DerivationOutput -> DerivationOutput -> Bool
(DerivationOutput -> DerivationOutput -> Bool)
-> (DerivationOutput -> DerivationOutput -> Bool)
-> Eq DerivationOutput
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DerivationOutput -> DerivationOutput -> Bool
== :: DerivationOutput -> DerivationOutput -> Bool
$c/= :: DerivationOutput -> DerivationOutput -> Bool
/= :: DerivationOutput -> DerivationOutput -> Bool
Eq)
  deriving anyclass (DerivationOutput -> ()
(DerivationOutput -> ()) -> NFData DerivationOutput
forall a. (a -> ()) -> NFData a
$crnf :: DerivationOutput -> ()
rnf :: DerivationOutput -> ()
NFData, [DerivationOutput] -> Value
[DerivationOutput] -> Encoding
DerivationOutput -> Value
DerivationOutput -> Encoding
(DerivationOutput -> Value)
-> (DerivationOutput -> Encoding)
-> ([DerivationOutput] -> Value)
-> ([DerivationOutput] -> Encoding)
-> ToJSON DerivationOutput
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: DerivationOutput -> Value
toJSON :: DerivationOutput -> Value
$ctoEncoding :: DerivationOutput -> Encoding
toEncoding :: DerivationOutput -> Encoding
$ctoJSONList :: [DerivationOutput] -> Value
toJSONList :: [DerivationOutput] -> Value
$ctoEncodingList :: [DerivationOutput] -> Encoding
toEncodingList :: [DerivationOutput] -> Encoding
ToJSON, Value -> Parser [DerivationOutput]
Value -> Parser DerivationOutput
(Value -> Parser DerivationOutput)
-> (Value -> Parser [DerivationOutput])
-> FromJSON DerivationOutput
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser DerivationOutput
parseJSON :: Value -> Parser DerivationOutput
$cparseJSONList :: Value -> Parser [DerivationOutput]
parseJSONList :: Value -> Parser [DerivationOutput]
FromJSON, Proxy DerivationOutput -> Declare (Definitions Schema) NamedSchema
(Proxy DerivationOutput
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema DerivationOutput
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy DerivationOutput -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy DerivationOutput -> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable DerivationOutput
Typeable DerivationOutput =>
(Proxy DerivationOutput
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema DerivationOutput
Proxy DerivationOutput -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy DerivationOutput -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy DerivationOutput -> Declare (Definitions Schema) NamedSchema
O3.ToSchema)