{-# LANGUAGE DeriveAnyClass #-}

module Hercules.API.Agents.AgentSessionCreated where

import Hercules.API.Agents.AgentSession
  ( AgentSession,
  )
import Hercules.API.Agents.ClusterJoinToken
  ( ClusterJoinToken,
  )
import Hercules.API.Prelude

data AgentSessionCreated = AgentSessionCreated
  { AgentSessionCreated -> Text
hostname :: Text,
    AgentSessionCreated -> Id AgentSession
id :: Id AgentSession,
    AgentSessionCreated -> Id ClusterJoinToken
tokenId :: Id ClusterJoinToken,
    AgentSessionCreated -> Text
description :: Text,
    AgentSessionCreated -> Text
agentVersion :: Text,
    AgentSessionCreated -> Text
nixVersion :: Text,
    AgentSessionCreated -> [Text]
architectures :: [Text],
    AgentSessionCreated -> UTCTime
creation :: UTCTime
  }
  deriving ((forall x. AgentSessionCreated -> Rep AgentSessionCreated x)
-> (forall x. Rep AgentSessionCreated x -> AgentSessionCreated)
-> Generic AgentSessionCreated
forall x. Rep AgentSessionCreated x -> AgentSessionCreated
forall x. AgentSessionCreated -> Rep AgentSessionCreated x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AgentSessionCreated x -> AgentSessionCreated
$cfrom :: forall x. AgentSessionCreated -> Rep AgentSessionCreated x
Generic, Int -> AgentSessionCreated -> ShowS
[AgentSessionCreated] -> ShowS
AgentSessionCreated -> String
(Int -> AgentSessionCreated -> ShowS)
-> (AgentSessionCreated -> String)
-> ([AgentSessionCreated] -> ShowS)
-> Show AgentSessionCreated
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AgentSessionCreated] -> ShowS
$cshowList :: [AgentSessionCreated] -> ShowS
show :: AgentSessionCreated -> String
$cshow :: AgentSessionCreated -> String
showsPrec :: Int -> AgentSessionCreated -> ShowS
$cshowsPrec :: Int -> AgentSessionCreated -> ShowS
Show, AgentSessionCreated -> AgentSessionCreated -> Bool
(AgentSessionCreated -> AgentSessionCreated -> Bool)
-> (AgentSessionCreated -> AgentSessionCreated -> Bool)
-> Eq AgentSessionCreated
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AgentSessionCreated -> AgentSessionCreated -> Bool
$c/= :: AgentSessionCreated -> AgentSessionCreated -> Bool
== :: AgentSessionCreated -> AgentSessionCreated -> Bool
$c== :: AgentSessionCreated -> AgentSessionCreated -> Bool
Eq, AgentSessionCreated -> ()
(AgentSessionCreated -> ()) -> NFData AgentSessionCreated
forall a. (a -> ()) -> NFData a
rnf :: AgentSessionCreated -> ()
$crnf :: AgentSessionCreated -> ()
NFData, [AgentSessionCreated] -> Encoding
[AgentSessionCreated] -> Value
AgentSessionCreated -> Encoding
AgentSessionCreated -> Value
(AgentSessionCreated -> Value)
-> (AgentSessionCreated -> Encoding)
-> ([AgentSessionCreated] -> Value)
-> ([AgentSessionCreated] -> Encoding)
-> ToJSON AgentSessionCreated
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [AgentSessionCreated] -> Encoding
$ctoEncodingList :: [AgentSessionCreated] -> Encoding
toJSONList :: [AgentSessionCreated] -> Value
$ctoJSONList :: [AgentSessionCreated] -> Value
toEncoding :: AgentSessionCreated -> Encoding
$ctoEncoding :: AgentSessionCreated -> Encoding
toJSON :: AgentSessionCreated -> Value
$ctoJSON :: AgentSessionCreated -> Value
ToJSON, Value -> Parser [AgentSessionCreated]
Value -> Parser AgentSessionCreated
(Value -> Parser AgentSessionCreated)
-> (Value -> Parser [AgentSessionCreated])
-> FromJSON AgentSessionCreated
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [AgentSessionCreated]
$cparseJSONList :: Value -> Parser [AgentSessionCreated]
parseJSON :: Value -> Parser AgentSessionCreated
$cparseJSON :: Value -> Parser AgentSessionCreated
FromJSON, Proxy AgentSessionCreated
-> Declare (Definitions Schema) NamedSchema
(Proxy AgentSessionCreated
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema AgentSessionCreated
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
declareNamedSchema :: Proxy AgentSessionCreated
-> Declare (Definitions Schema) NamedSchema
$cdeclareNamedSchema :: Proxy AgentSessionCreated
-> Declare (Definitions Schema) NamedSchema
ToSchema)