module Kubernetes.Model.V1.PodStatus
( PodStatus (..)
, phase
, conditions
, message
, reason
, hostIP
, podIP
, startTime
, containerStatuses
, mkPodStatus
) where
import Control.Lens.TH (makeLenses)
import Data.Aeson.TH (defaultOptions,
deriveJSON,
fieldLabelModifier)
import Data.Text (Text)
import GHC.Generics (Generic)
import Kubernetes.Model.V1.ContainerStatus (ContainerStatus)
import Kubernetes.Model.V1.PodCondition (PodCondition)
import Prelude hiding (drop, error, max,
min)
import qualified Prelude as P
import Test.QuickCheck (Arbitrary, arbitrary)
import Test.QuickCheck.Instances ()
data PodStatus = PodStatus
{ _phase :: !(Maybe Text)
, _conditions :: !(Maybe [PodCondition])
, _message :: !(Maybe Text)
, _reason :: !(Maybe Text)
, _hostIP :: !(Maybe Text)
, _podIP :: !(Maybe Text)
, _startTime :: !(Maybe Text)
, _containerStatuses :: !(Maybe [ContainerStatus])
} deriving (Show, Eq, Generic)
makeLenses ''PodStatus
$(deriveJSON defaultOptions{fieldLabelModifier = (\n -> if n == "_type_" then "type" else P.drop 1 n)} ''PodStatus)
instance Arbitrary PodStatus where
arbitrary = PodStatus <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
mkPodStatus :: PodStatus
mkPodStatus = PodStatus Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing