{-
   Kubernetes

   No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

   OpenAPI Version: 3.0.1
   Kubernetes API version: release-1.16
   Generated by OpenAPI Generator (https://openapi-generator.tech)
-}

{-|
Module : Kubernetes.OpenAPI.Model
-}

{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}

module Kubernetes.OpenAPI.Model (module Kubernetes.OpenAPI.Model, module Kubernetes.OpenAPI.ImportMappings) where

import Kubernetes.OpenAPI.Core
import Kubernetes.OpenAPI.MimeTypes
import Kubernetes.OpenAPI.ImportMappings

import Data.Aeson ((.:),(.:!),(.:?),(.=))

import qualified Control.Arrow as P (left)
import qualified Data.Aeson as A
import qualified Data.ByteString as B
import qualified Data.ByteString.Base64 as B64
import qualified Data.ByteString.Char8 as BC
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
import qualified Data.Foldable as P
import qualified Data.HashMap.Lazy as HM
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Set as Set
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Time as TI
import qualified Lens.Micro as L
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH

import Control.Applicative ((<|>))
import Control.Applicative (Alternative)
import Data.Function ((&))
import Data.Monoid ((<>))
import Data.Text (Text)
import Prelude (($),(/=),(.),(<$>),(<*>),(>>=),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)

import qualified Prelude as P



-- * Parameter newtypes


-- ** AllowWatchBookmarks
newtype AllowWatchBookmarks = AllowWatchBookmarks { AllowWatchBookmarks -> Bool
unAllowWatchBookmarks :: Bool } deriving (AllowWatchBookmarks -> AllowWatchBookmarks -> Bool
(AllowWatchBookmarks -> AllowWatchBookmarks -> Bool)
-> (AllowWatchBookmarks -> AllowWatchBookmarks -> Bool)
-> Eq AllowWatchBookmarks
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AllowWatchBookmarks -> AllowWatchBookmarks -> Bool
$c/= :: AllowWatchBookmarks -> AllowWatchBookmarks -> Bool
== :: AllowWatchBookmarks -> AllowWatchBookmarks -> Bool
$c== :: AllowWatchBookmarks -> AllowWatchBookmarks -> Bool
P.Eq, Int -> AllowWatchBookmarks -> ShowS
[AllowWatchBookmarks] -> ShowS
AllowWatchBookmarks -> String
(Int -> AllowWatchBookmarks -> ShowS)
-> (AllowWatchBookmarks -> String)
-> ([AllowWatchBookmarks] -> ShowS)
-> Show AllowWatchBookmarks
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AllowWatchBookmarks] -> ShowS
$cshowList :: [AllowWatchBookmarks] -> ShowS
show :: AllowWatchBookmarks -> String
$cshow :: AllowWatchBookmarks -> String
showsPrec :: Int -> AllowWatchBookmarks -> ShowS
$cshowsPrec :: Int -> AllowWatchBookmarks -> ShowS
P.Show)

-- ** Body
newtype Body = Body { Body -> Value
unBody :: A.Value } deriving (Body -> Body -> Bool
(Body -> Body -> Bool) -> (Body -> Body -> Bool) -> Eq Body
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Body -> Body -> Bool
$c/= :: Body -> Body -> Bool
== :: Body -> Body -> Bool
$c== :: Body -> Body -> Bool
P.Eq, Int -> Body -> ShowS
[Body] -> ShowS
Body -> String
(Int -> Body -> ShowS)
-> (Body -> String) -> ([Body] -> ShowS) -> Show Body
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Body] -> ShowS
$cshowList :: [Body] -> ShowS
show :: Body -> String
$cshow :: Body -> String
showsPrec :: Int -> Body -> ShowS
$cshowsPrec :: Int -> Body -> ShowS
P.Show, [Body] -> Encoding
[Body] -> Value
Body -> Encoding
Body -> Value
(Body -> Value)
-> (Body -> Encoding)
-> ([Body] -> Value)
-> ([Body] -> Encoding)
-> ToJSON Body
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [Body] -> Encoding
$ctoEncodingList :: [Body] -> Encoding
toJSONList :: [Body] -> Value
$ctoJSONList :: [Body] -> Value
toEncoding :: Body -> Encoding
$ctoEncoding :: Body -> Encoding
toJSON :: Body -> Value
$ctoJSON :: Body -> Value
A.ToJSON)

-- ** Command
newtype Command = Command { Command -> Text
unCommand :: Text } deriving (Command -> Command -> Bool
(Command -> Command -> Bool)
-> (Command -> Command -> Bool) -> Eq Command
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Command -> Command -> Bool
$c/= :: Command -> Command -> Bool
== :: Command -> Command -> Bool
$c== :: Command -> Command -> Bool
P.Eq, Int -> Command -> ShowS
[Command] -> ShowS
Command -> String
(Int -> Command -> ShowS)
-> (Command -> String) -> ([Command] -> ShowS) -> Show Command
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Command] -> ShowS
$cshowList :: [Command] -> ShowS
show :: Command -> String
$cshow :: Command -> String
showsPrec :: Int -> Command -> ShowS
$cshowsPrec :: Int -> Command -> ShowS
P.Show)

-- ** Container
newtype Container = Container { Container -> Text
unContainer :: Text } deriving (Container -> Container -> Bool
(Container -> Container -> Bool)
-> (Container -> Container -> Bool) -> Eq Container
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Container -> Container -> Bool
$c/= :: Container -> Container -> Bool
== :: Container -> Container -> Bool
$c== :: Container -> Container -> Bool
P.Eq, Int -> Container -> ShowS
[Container] -> ShowS
Container -> String
(Int -> Container -> ShowS)
-> (Container -> String)
-> ([Container] -> ShowS)
-> Show Container
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Container] -> ShowS
$cshowList :: [Container] -> ShowS
show :: Container -> String
$cshow :: Container -> String
showsPrec :: Int -> Container -> ShowS
$cshowsPrec :: Int -> Container -> ShowS
P.Show)

-- ** Continue
newtype Continue = Continue { Continue -> Text
unContinue :: Text } deriving (Continue -> Continue -> Bool
(Continue -> Continue -> Bool)
-> (Continue -> Continue -> Bool) -> Eq Continue
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Continue -> Continue -> Bool
$c/= :: Continue -> Continue -> Bool
== :: Continue -> Continue -> Bool
$c== :: Continue -> Continue -> Bool
P.Eq, Int -> Continue -> ShowS
[Continue] -> ShowS
Continue -> String
(Int -> Continue -> ShowS)
-> (Continue -> String) -> ([Continue] -> ShowS) -> Show Continue
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Continue] -> ShowS
$cshowList :: [Continue] -> ShowS
show :: Continue -> String
$cshow :: Continue -> String
showsPrec :: Int -> Continue -> ShowS
$cshowsPrec :: Int -> Continue -> ShowS
P.Show)

-- ** DryRun
newtype DryRun = DryRun { DryRun -> Text
unDryRun :: Text } deriving (DryRun -> DryRun -> Bool
(DryRun -> DryRun -> Bool)
-> (DryRun -> DryRun -> Bool) -> Eq DryRun
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DryRun -> DryRun -> Bool
$c/= :: DryRun -> DryRun -> Bool
== :: DryRun -> DryRun -> Bool
$c== :: DryRun -> DryRun -> Bool
P.Eq, Int -> DryRun -> ShowS
[DryRun] -> ShowS
DryRun -> String
(Int -> DryRun -> ShowS)
-> (DryRun -> String) -> ([DryRun] -> ShowS) -> Show DryRun
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DryRun] -> ShowS
$cshowList :: [DryRun] -> ShowS
show :: DryRun -> String
$cshow :: DryRun -> String
showsPrec :: Int -> DryRun -> ShowS
$cshowsPrec :: Int -> DryRun -> ShowS
P.Show)

-- ** Exact
newtype Exact = Exact { Exact -> Bool
unExact :: Bool } deriving (Exact -> Exact -> Bool
(Exact -> Exact -> Bool) -> (Exact -> Exact -> Bool) -> Eq Exact
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Exact -> Exact -> Bool
$c/= :: Exact -> Exact -> Bool
== :: Exact -> Exact -> Bool
$c== :: Exact -> Exact -> Bool
P.Eq, Int -> Exact -> ShowS
[Exact] -> ShowS
Exact -> String
(Int -> Exact -> ShowS)
-> (Exact -> String) -> ([Exact] -> ShowS) -> Show Exact
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Exact] -> ShowS
$cshowList :: [Exact] -> ShowS
show :: Exact -> String
$cshow :: Exact -> String
showsPrec :: Int -> Exact -> ShowS
$cshowsPrec :: Int -> Exact -> ShowS
P.Show)

-- ** Export
newtype Export = Export { Export -> Bool
unExport :: Bool } deriving (Export -> Export -> Bool
(Export -> Export -> Bool)
-> (Export -> Export -> Bool) -> Eq Export
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Export -> Export -> Bool
$c/= :: Export -> Export -> Bool
== :: Export -> Export -> Bool
$c== :: Export -> Export -> Bool
P.Eq, Int -> Export -> ShowS
[Export] -> ShowS
Export -> String
(Int -> Export -> ShowS)
-> (Export -> String) -> ([Export] -> ShowS) -> Show Export
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Export] -> ShowS
$cshowList :: [Export] -> ShowS
show :: Export -> String
$cshow :: Export -> String
showsPrec :: Int -> Export -> ShowS
$cshowsPrec :: Int -> Export -> ShowS
P.Show)

-- ** FieldManager
newtype FieldManager = FieldManager { FieldManager -> Text
unFieldManager :: Text } deriving (FieldManager -> FieldManager -> Bool
(FieldManager -> FieldManager -> Bool)
-> (FieldManager -> FieldManager -> Bool) -> Eq FieldManager
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FieldManager -> FieldManager -> Bool
$c/= :: FieldManager -> FieldManager -> Bool
== :: FieldManager -> FieldManager -> Bool
$c== :: FieldManager -> FieldManager -> Bool
P.Eq, Int -> FieldManager -> ShowS
[FieldManager] -> ShowS
FieldManager -> String
(Int -> FieldManager -> ShowS)
-> (FieldManager -> String)
-> ([FieldManager] -> ShowS)
-> Show FieldManager
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FieldManager] -> ShowS
$cshowList :: [FieldManager] -> ShowS
show :: FieldManager -> String
$cshow :: FieldManager -> String
showsPrec :: Int -> FieldManager -> ShowS
$cshowsPrec :: Int -> FieldManager -> ShowS
P.Show)

-- ** FieldSelector
newtype FieldSelector = FieldSelector { FieldSelector -> Text
unFieldSelector :: Text } deriving (FieldSelector -> FieldSelector -> Bool
(FieldSelector -> FieldSelector -> Bool)
-> (FieldSelector -> FieldSelector -> Bool) -> Eq FieldSelector
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: FieldSelector -> FieldSelector -> Bool
$c/= :: FieldSelector -> FieldSelector -> Bool
== :: FieldSelector -> FieldSelector -> Bool
$c== :: FieldSelector -> FieldSelector -> Bool
P.Eq, Int -> FieldSelector -> ShowS
[FieldSelector] -> ShowS
FieldSelector -> String
(Int -> FieldSelector -> ShowS)
-> (FieldSelector -> String)
-> ([FieldSelector] -> ShowS)
-> Show FieldSelector
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [FieldSelector] -> ShowS
$cshowList :: [FieldSelector] -> ShowS
show :: FieldSelector -> String
$cshow :: FieldSelector -> String
showsPrec :: Int -> FieldSelector -> ShowS
$cshowsPrec :: Int -> FieldSelector -> ShowS
P.Show)

-- ** Follow
newtype Follow = Follow { Follow -> Bool
unFollow :: Bool } deriving (Follow -> Follow -> Bool
(Follow -> Follow -> Bool)
-> (Follow -> Follow -> Bool) -> Eq Follow
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Follow -> Follow -> Bool
$c/= :: Follow -> Follow -> Bool
== :: Follow -> Follow -> Bool
$c== :: Follow -> Follow -> Bool
P.Eq, Int -> Follow -> ShowS
[Follow] -> ShowS
Follow -> String
(Int -> Follow -> ShowS)
-> (Follow -> String) -> ([Follow] -> ShowS) -> Show Follow
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Follow] -> ShowS
$cshowList :: [Follow] -> ShowS
show :: Follow -> String
$cshow :: Follow -> String
showsPrec :: Int -> Follow -> ShowS
$cshowsPrec :: Int -> Follow -> ShowS
P.Show)

-- ** Force
newtype Force = Force { Force -> Bool
unForce :: Bool } deriving (Force -> Force -> Bool
(Force -> Force -> Bool) -> (Force -> Force -> Bool) -> Eq Force
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Force -> Force -> Bool
$c/= :: Force -> Force -> Bool
== :: Force -> Force -> Bool
$c== :: Force -> Force -> Bool
P.Eq, Int -> Force -> ShowS
[Force] -> ShowS
Force -> String
(Int -> Force -> ShowS)
-> (Force -> String) -> ([Force] -> ShowS) -> Show Force
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Force] -> ShowS
$cshowList :: [Force] -> ShowS
show :: Force -> String
$cshow :: Force -> String
showsPrec :: Int -> Force -> ShowS
$cshowsPrec :: Int -> Force -> ShowS
P.Show)

-- ** GracePeriodSeconds
newtype GracePeriodSeconds = GracePeriodSeconds { GracePeriodSeconds -> Int
unGracePeriodSeconds :: Int } deriving (GracePeriodSeconds -> GracePeriodSeconds -> Bool
(GracePeriodSeconds -> GracePeriodSeconds -> Bool)
-> (GracePeriodSeconds -> GracePeriodSeconds -> Bool)
-> Eq GracePeriodSeconds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GracePeriodSeconds -> GracePeriodSeconds -> Bool
$c/= :: GracePeriodSeconds -> GracePeriodSeconds -> Bool
== :: GracePeriodSeconds -> GracePeriodSeconds -> Bool
$c== :: GracePeriodSeconds -> GracePeriodSeconds -> Bool
P.Eq, Int -> GracePeriodSeconds -> ShowS
[GracePeriodSeconds] -> ShowS
GracePeriodSeconds -> String
(Int -> GracePeriodSeconds -> ShowS)
-> (GracePeriodSeconds -> String)
-> ([GracePeriodSeconds] -> ShowS)
-> Show GracePeriodSeconds
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GracePeriodSeconds] -> ShowS
$cshowList :: [GracePeriodSeconds] -> ShowS
show :: GracePeriodSeconds -> String
$cshow :: GracePeriodSeconds -> String
showsPrec :: Int -> GracePeriodSeconds -> ShowS
$cshowsPrec :: Int -> GracePeriodSeconds -> ShowS
P.Show)

-- ** Group
newtype Group = Group { Group -> Text
unGroup :: Text } deriving (Group -> Group -> Bool
(Group -> Group -> Bool) -> (Group -> Group -> Bool) -> Eq Group
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Group -> Group -> Bool
$c/= :: Group -> Group -> Bool
== :: Group -> Group -> Bool
$c== :: Group -> Group -> Bool
P.Eq, Int -> Group -> ShowS
[Group] -> ShowS
Group -> String
(Int -> Group -> ShowS)
-> (Group -> String) -> ([Group] -> ShowS) -> Show Group
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Group] -> ShowS
$cshowList :: [Group] -> ShowS
show :: Group -> String
$cshow :: Group -> String
showsPrec :: Int -> Group -> ShowS
$cshowsPrec :: Int -> Group -> ShowS
P.Show)

-- ** LabelSelector
newtype LabelSelector = LabelSelector { LabelSelector -> Text
unLabelSelector :: Text } deriving (LabelSelector -> LabelSelector -> Bool
(LabelSelector -> LabelSelector -> Bool)
-> (LabelSelector -> LabelSelector -> Bool) -> Eq LabelSelector
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LabelSelector -> LabelSelector -> Bool
$c/= :: LabelSelector -> LabelSelector -> Bool
== :: LabelSelector -> LabelSelector -> Bool
$c== :: LabelSelector -> LabelSelector -> Bool
P.Eq, Int -> LabelSelector -> ShowS
[LabelSelector] -> ShowS
LabelSelector -> String
(Int -> LabelSelector -> ShowS)
-> (LabelSelector -> String)
-> ([LabelSelector] -> ShowS)
-> Show LabelSelector
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LabelSelector] -> ShowS
$cshowList :: [LabelSelector] -> ShowS
show :: LabelSelector -> String
$cshow :: LabelSelector -> String
showsPrec :: Int -> LabelSelector -> ShowS
$cshowsPrec :: Int -> LabelSelector -> ShowS
P.Show)

-- ** Limit
newtype Limit = Limit { Limit -> Int
unLimit :: Int } deriving (Limit -> Limit -> Bool
(Limit -> Limit -> Bool) -> (Limit -> Limit -> Bool) -> Eq Limit
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Limit -> Limit -> Bool
$c/= :: Limit -> Limit -> Bool
== :: Limit -> Limit -> Bool
$c== :: Limit -> Limit -> Bool
P.Eq, Int -> Limit -> ShowS
[Limit] -> ShowS
Limit -> String
(Int -> Limit -> ShowS)
-> (Limit -> String) -> ([Limit] -> ShowS) -> Show Limit
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Limit] -> ShowS
$cshowList :: [Limit] -> ShowS
show :: Limit -> String
$cshow :: Limit -> String
showsPrec :: Int -> Limit -> ShowS
$cshowsPrec :: Int -> Limit -> ShowS
P.Show)

-- ** LimitBytes
newtype LimitBytes = LimitBytes { LimitBytes -> Int
unLimitBytes :: Int } deriving (LimitBytes -> LimitBytes -> Bool
(LimitBytes -> LimitBytes -> Bool)
-> (LimitBytes -> LimitBytes -> Bool) -> Eq LimitBytes
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LimitBytes -> LimitBytes -> Bool
$c/= :: LimitBytes -> LimitBytes -> Bool
== :: LimitBytes -> LimitBytes -> Bool
$c== :: LimitBytes -> LimitBytes -> Bool
P.Eq, Int -> LimitBytes -> ShowS
[LimitBytes] -> ShowS
LimitBytes -> String
(Int -> LimitBytes -> ShowS)
-> (LimitBytes -> String)
-> ([LimitBytes] -> ShowS)
-> Show LimitBytes
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LimitBytes] -> ShowS
$cshowList :: [LimitBytes] -> ShowS
show :: LimitBytes -> String
$cshow :: LimitBytes -> String
showsPrec :: Int -> LimitBytes -> ShowS
$cshowsPrec :: Int -> LimitBytes -> ShowS
P.Show)

-- ** Logpath
newtype Logpath = Logpath { Logpath -> Text
unLogpath :: Text } deriving (Logpath -> Logpath -> Bool
(Logpath -> Logpath -> Bool)
-> (Logpath -> Logpath -> Bool) -> Eq Logpath
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Logpath -> Logpath -> Bool
$c/= :: Logpath -> Logpath -> Bool
== :: Logpath -> Logpath -> Bool
$c== :: Logpath -> Logpath -> Bool
P.Eq, Int -> Logpath -> ShowS
[Logpath] -> ShowS
Logpath -> String
(Int -> Logpath -> ShowS)
-> (Logpath -> String) -> ([Logpath] -> ShowS) -> Show Logpath
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Logpath] -> ShowS
$cshowList :: [Logpath] -> ShowS
show :: Logpath -> String
$cshow :: Logpath -> String
showsPrec :: Int -> Logpath -> ShowS
$cshowsPrec :: Int -> Logpath -> ShowS
P.Show)

-- ** Name
newtype Name = Name { Name -> Text
unName :: Text } deriving (Name -> Name -> Bool
(Name -> Name -> Bool) -> (Name -> Name -> Bool) -> Eq Name
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Name -> Name -> Bool
$c/= :: Name -> Name -> Bool
== :: Name -> Name -> Bool
$c== :: Name -> Name -> Bool
P.Eq, Int -> Name -> ShowS
[Name] -> ShowS
Name -> String
(Int -> Name -> ShowS)
-> (Name -> String) -> ([Name] -> ShowS) -> Show Name
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Name] -> ShowS
$cshowList :: [Name] -> ShowS
show :: Name -> String
$cshow :: Name -> String
showsPrec :: Int -> Name -> ShowS
$cshowsPrec :: Int -> Name -> ShowS
P.Show)

-- ** Namespace
newtype Namespace = Namespace { Namespace -> Text
unNamespace :: Text } deriving (Namespace -> Namespace -> Bool
(Namespace -> Namespace -> Bool)
-> (Namespace -> Namespace -> Bool) -> Eq Namespace
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Namespace -> Namespace -> Bool
$c/= :: Namespace -> Namespace -> Bool
== :: Namespace -> Namespace -> Bool
$c== :: Namespace -> Namespace -> Bool
P.Eq, Int -> Namespace -> ShowS
[Namespace] -> ShowS
Namespace -> String
(Int -> Namespace -> ShowS)
-> (Namespace -> String)
-> ([Namespace] -> ShowS)
-> Show Namespace
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Namespace] -> ShowS
$cshowList :: [Namespace] -> ShowS
show :: Namespace -> String
$cshow :: Namespace -> String
showsPrec :: Int -> Namespace -> ShowS
$cshowsPrec :: Int -> Namespace -> ShowS
P.Show)

-- ** OrphanDependents
newtype OrphanDependents = OrphanDependents { OrphanDependents -> Bool
unOrphanDependents :: Bool } deriving (OrphanDependents -> OrphanDependents -> Bool
(OrphanDependents -> OrphanDependents -> Bool)
-> (OrphanDependents -> OrphanDependents -> Bool)
-> Eq OrphanDependents
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OrphanDependents -> OrphanDependents -> Bool
$c/= :: OrphanDependents -> OrphanDependents -> Bool
== :: OrphanDependents -> OrphanDependents -> Bool
$c== :: OrphanDependents -> OrphanDependents -> Bool
P.Eq, Int -> OrphanDependents -> ShowS
[OrphanDependents] -> ShowS
OrphanDependents -> String
(Int -> OrphanDependents -> ShowS)
-> (OrphanDependents -> String)
-> ([OrphanDependents] -> ShowS)
-> Show OrphanDependents
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OrphanDependents] -> ShowS
$cshowList :: [OrphanDependents] -> ShowS
show :: OrphanDependents -> String
$cshow :: OrphanDependents -> String
showsPrec :: Int -> OrphanDependents -> ShowS
$cshowsPrec :: Int -> OrphanDependents -> ShowS
P.Show)

-- ** Path
newtype Path = Path { Path -> Text
unPath :: Text } deriving (Path -> Path -> Bool
(Path -> Path -> Bool) -> (Path -> Path -> Bool) -> Eq Path
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Path -> Path -> Bool
$c/= :: Path -> Path -> Bool
== :: Path -> Path -> Bool
$c== :: Path -> Path -> Bool
P.Eq, Int -> Path -> ShowS
[Path] -> ShowS
Path -> String
(Int -> Path -> ShowS)
-> (Path -> String) -> ([Path] -> ShowS) -> Show Path
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Path] -> ShowS
$cshowList :: [Path] -> ShowS
show :: Path -> String
$cshow :: Path -> String
showsPrec :: Int -> Path -> ShowS
$cshowsPrec :: Int -> Path -> ShowS
P.Show)

-- ** Path2
newtype Path2 = Path2 { Path2 -> Text
unPath2 :: Text } deriving (Path2 -> Path2 -> Bool
(Path2 -> Path2 -> Bool) -> (Path2 -> Path2 -> Bool) -> Eq Path2
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Path2 -> Path2 -> Bool
$c/= :: Path2 -> Path2 -> Bool
== :: Path2 -> Path2 -> Bool
$c== :: Path2 -> Path2 -> Bool
P.Eq, Int -> Path2 -> ShowS
[Path2] -> ShowS
Path2 -> String
(Int -> Path2 -> ShowS)
-> (Path2 -> String) -> ([Path2] -> ShowS) -> Show Path2
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Path2] -> ShowS
$cshowList :: [Path2] -> ShowS
show :: Path2 -> String
$cshow :: Path2 -> String
showsPrec :: Int -> Path2 -> ShowS
$cshowsPrec :: Int -> Path2 -> ShowS
P.Show)

-- ** Plural
newtype Plural = Plural { Plural -> Text
unPlural :: Text } deriving (Plural -> Plural -> Bool
(Plural -> Plural -> Bool)
-> (Plural -> Plural -> Bool) -> Eq Plural
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Plural -> Plural -> Bool
$c/= :: Plural -> Plural -> Bool
== :: Plural -> Plural -> Bool
$c== :: Plural -> Plural -> Bool
P.Eq, Int -> Plural -> ShowS
[Plural] -> ShowS
Plural -> String
(Int -> Plural -> ShowS)
-> (Plural -> String) -> ([Plural] -> ShowS) -> Show Plural
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Plural] -> ShowS
$cshowList :: [Plural] -> ShowS
show :: Plural -> String
$cshow :: Plural -> String
showsPrec :: Int -> Plural -> ShowS
$cshowsPrec :: Int -> Plural -> ShowS
P.Show)

-- ** Ports
newtype Ports = Ports { Ports -> Int
unPorts :: Int } deriving (Ports -> Ports -> Bool
(Ports -> Ports -> Bool) -> (Ports -> Ports -> Bool) -> Eq Ports
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Ports -> Ports -> Bool
$c/= :: Ports -> Ports -> Bool
== :: Ports -> Ports -> Bool
$c== :: Ports -> Ports -> Bool
P.Eq, Int -> Ports -> ShowS
[Ports] -> ShowS
Ports -> String
(Int -> Ports -> ShowS)
-> (Ports -> String) -> ([Ports] -> ShowS) -> Show Ports
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Ports] -> ShowS
$cshowList :: [Ports] -> ShowS
show :: Ports -> String
$cshow :: Ports -> String
showsPrec :: Int -> Ports -> ShowS
$cshowsPrec :: Int -> Ports -> ShowS
P.Show)

-- ** Pretty
newtype Pretty = Pretty { Pretty -> Text
unPretty :: Text } deriving (Pretty -> Pretty -> Bool
(Pretty -> Pretty -> Bool)
-> (Pretty -> Pretty -> Bool) -> Eq Pretty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Pretty -> Pretty -> Bool
$c/= :: Pretty -> Pretty -> Bool
== :: Pretty -> Pretty -> Bool
$c== :: Pretty -> Pretty -> Bool
P.Eq, Int -> Pretty -> ShowS
[Pretty] -> ShowS
Pretty -> String
(Int -> Pretty -> ShowS)
-> (Pretty -> String) -> ([Pretty] -> ShowS) -> Show Pretty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Pretty] -> ShowS
$cshowList :: [Pretty] -> ShowS
show :: Pretty -> String
$cshow :: Pretty -> String
showsPrec :: Int -> Pretty -> ShowS
$cshowsPrec :: Int -> Pretty -> ShowS
P.Show)

-- ** Previous
newtype Previous = Previous { Previous -> Bool
unPrevious :: Bool } deriving (Previous -> Previous -> Bool
(Previous -> Previous -> Bool)
-> (Previous -> Previous -> Bool) -> Eq Previous
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Previous -> Previous -> Bool
$c/= :: Previous -> Previous -> Bool
== :: Previous -> Previous -> Bool
$c== :: Previous -> Previous -> Bool
P.Eq, Int -> Previous -> ShowS
[Previous] -> ShowS
Previous -> String
(Int -> Previous -> ShowS)
-> (Previous -> String) -> ([Previous] -> ShowS) -> Show Previous
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Previous] -> ShowS
$cshowList :: [Previous] -> ShowS
show :: Previous -> String
$cshow :: Previous -> String
showsPrec :: Int -> Previous -> ShowS
$cshowsPrec :: Int -> Previous -> ShowS
P.Show)

-- ** PropagationPolicy
newtype PropagationPolicy = PropagationPolicy { PropagationPolicy -> Text
unPropagationPolicy :: Text } deriving (PropagationPolicy -> PropagationPolicy -> Bool
(PropagationPolicy -> PropagationPolicy -> Bool)
-> (PropagationPolicy -> PropagationPolicy -> Bool)
-> Eq PropagationPolicy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PropagationPolicy -> PropagationPolicy -> Bool
$c/= :: PropagationPolicy -> PropagationPolicy -> Bool
== :: PropagationPolicy -> PropagationPolicy -> Bool
$c== :: PropagationPolicy -> PropagationPolicy -> Bool
P.Eq, Int -> PropagationPolicy -> ShowS
[PropagationPolicy] -> ShowS
PropagationPolicy -> String
(Int -> PropagationPolicy -> ShowS)
-> (PropagationPolicy -> String)
-> ([PropagationPolicy] -> ShowS)
-> Show PropagationPolicy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PropagationPolicy] -> ShowS
$cshowList :: [PropagationPolicy] -> ShowS
show :: PropagationPolicy -> String
$cshow :: PropagationPolicy -> String
showsPrec :: Int -> PropagationPolicy -> ShowS
$cshowsPrec :: Int -> PropagationPolicy -> ShowS
P.Show)

-- ** ResourceVersion
newtype ResourceVersion = ResourceVersion { ResourceVersion -> Text
unResourceVersion :: Text } deriving (ResourceVersion -> ResourceVersion -> Bool
(ResourceVersion -> ResourceVersion -> Bool)
-> (ResourceVersion -> ResourceVersion -> Bool)
-> Eq ResourceVersion
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceVersion -> ResourceVersion -> Bool
$c/= :: ResourceVersion -> ResourceVersion -> Bool
== :: ResourceVersion -> ResourceVersion -> Bool
$c== :: ResourceVersion -> ResourceVersion -> Bool
P.Eq, Int -> ResourceVersion -> ShowS
[ResourceVersion] -> ShowS
ResourceVersion -> String
(Int -> ResourceVersion -> ShowS)
-> (ResourceVersion -> String)
-> ([ResourceVersion] -> ShowS)
-> Show ResourceVersion
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceVersion] -> ShowS
$cshowList :: [ResourceVersion] -> ShowS
show :: ResourceVersion -> String
$cshow :: ResourceVersion -> String
showsPrec :: Int -> ResourceVersion -> ShowS
$cshowsPrec :: Int -> ResourceVersion -> ShowS
P.Show)

-- ** SinceSeconds
newtype SinceSeconds = SinceSeconds { SinceSeconds -> Int
unSinceSeconds :: Int } deriving (SinceSeconds -> SinceSeconds -> Bool
(SinceSeconds -> SinceSeconds -> Bool)
-> (SinceSeconds -> SinceSeconds -> Bool) -> Eq SinceSeconds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SinceSeconds -> SinceSeconds -> Bool
$c/= :: SinceSeconds -> SinceSeconds -> Bool
== :: SinceSeconds -> SinceSeconds -> Bool
$c== :: SinceSeconds -> SinceSeconds -> Bool
P.Eq, Int -> SinceSeconds -> ShowS
[SinceSeconds] -> ShowS
SinceSeconds -> String
(Int -> SinceSeconds -> ShowS)
-> (SinceSeconds -> String)
-> ([SinceSeconds] -> ShowS)
-> Show SinceSeconds
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SinceSeconds] -> ShowS
$cshowList :: [SinceSeconds] -> ShowS
show :: SinceSeconds -> String
$cshow :: SinceSeconds -> String
showsPrec :: Int -> SinceSeconds -> ShowS
$cshowsPrec :: Int -> SinceSeconds -> ShowS
P.Show)

-- ** Stderr
newtype Stderr = Stderr { Stderr -> Bool
unStderr :: Bool } deriving (Stderr -> Stderr -> Bool
(Stderr -> Stderr -> Bool)
-> (Stderr -> Stderr -> Bool) -> Eq Stderr
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Stderr -> Stderr -> Bool
$c/= :: Stderr -> Stderr -> Bool
== :: Stderr -> Stderr -> Bool
$c== :: Stderr -> Stderr -> Bool
P.Eq, Int -> Stderr -> ShowS
[Stderr] -> ShowS
Stderr -> String
(Int -> Stderr -> ShowS)
-> (Stderr -> String) -> ([Stderr] -> ShowS) -> Show Stderr
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Stderr] -> ShowS
$cshowList :: [Stderr] -> ShowS
show :: Stderr -> String
$cshow :: Stderr -> String
showsPrec :: Int -> Stderr -> ShowS
$cshowsPrec :: Int -> Stderr -> ShowS
P.Show)

-- ** Stdin
newtype Stdin = Stdin { Stdin -> Bool
unStdin :: Bool } deriving (Stdin -> Stdin -> Bool
(Stdin -> Stdin -> Bool) -> (Stdin -> Stdin -> Bool) -> Eq Stdin
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Stdin -> Stdin -> Bool
$c/= :: Stdin -> Stdin -> Bool
== :: Stdin -> Stdin -> Bool
$c== :: Stdin -> Stdin -> Bool
P.Eq, Int -> Stdin -> ShowS
[Stdin] -> ShowS
Stdin -> String
(Int -> Stdin -> ShowS)
-> (Stdin -> String) -> ([Stdin] -> ShowS) -> Show Stdin
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Stdin] -> ShowS
$cshowList :: [Stdin] -> ShowS
show :: Stdin -> String
$cshow :: Stdin -> String
showsPrec :: Int -> Stdin -> ShowS
$cshowsPrec :: Int -> Stdin -> ShowS
P.Show)

-- ** Stdout
newtype Stdout = Stdout { Stdout -> Bool
unStdout :: Bool } deriving (Stdout -> Stdout -> Bool
(Stdout -> Stdout -> Bool)
-> (Stdout -> Stdout -> Bool) -> Eq Stdout
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Stdout -> Stdout -> Bool
$c/= :: Stdout -> Stdout -> Bool
== :: Stdout -> Stdout -> Bool
$c== :: Stdout -> Stdout -> Bool
P.Eq, Int -> Stdout -> ShowS
[Stdout] -> ShowS
Stdout -> String
(Int -> Stdout -> ShowS)
-> (Stdout -> String) -> ([Stdout] -> ShowS) -> Show Stdout
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Stdout] -> ShowS
$cshowList :: [Stdout] -> ShowS
show :: Stdout -> String
$cshow :: Stdout -> String
showsPrec :: Int -> Stdout -> ShowS
$cshowsPrec :: Int -> Stdout -> ShowS
P.Show)

-- ** TailLines
newtype TailLines = TailLines { TailLines -> Int
unTailLines :: Int } deriving (TailLines -> TailLines -> Bool
(TailLines -> TailLines -> Bool)
-> (TailLines -> TailLines -> Bool) -> Eq TailLines
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TailLines -> TailLines -> Bool
$c/= :: TailLines -> TailLines -> Bool
== :: TailLines -> TailLines -> Bool
$c== :: TailLines -> TailLines -> Bool
P.Eq, Int -> TailLines -> ShowS
[TailLines] -> ShowS
TailLines -> String
(Int -> TailLines -> ShowS)
-> (TailLines -> String)
-> ([TailLines] -> ShowS)
-> Show TailLines
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TailLines] -> ShowS
$cshowList :: [TailLines] -> ShowS
show :: TailLines -> String
$cshow :: TailLines -> String
showsPrec :: Int -> TailLines -> ShowS
$cshowsPrec :: Int -> TailLines -> ShowS
P.Show)

-- ** TimeoutSeconds
newtype TimeoutSeconds = TimeoutSeconds { TimeoutSeconds -> Int
unTimeoutSeconds :: Int } deriving (TimeoutSeconds -> TimeoutSeconds -> Bool
(TimeoutSeconds -> TimeoutSeconds -> Bool)
-> (TimeoutSeconds -> TimeoutSeconds -> Bool) -> Eq TimeoutSeconds
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TimeoutSeconds -> TimeoutSeconds -> Bool
$c/= :: TimeoutSeconds -> TimeoutSeconds -> Bool
== :: TimeoutSeconds -> TimeoutSeconds -> Bool
$c== :: TimeoutSeconds -> TimeoutSeconds -> Bool
P.Eq, Int -> TimeoutSeconds -> ShowS
[TimeoutSeconds] -> ShowS
TimeoutSeconds -> String
(Int -> TimeoutSeconds -> ShowS)
-> (TimeoutSeconds -> String)
-> ([TimeoutSeconds] -> ShowS)
-> Show TimeoutSeconds
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TimeoutSeconds] -> ShowS
$cshowList :: [TimeoutSeconds] -> ShowS
show :: TimeoutSeconds -> String
$cshow :: TimeoutSeconds -> String
showsPrec :: Int -> TimeoutSeconds -> ShowS
$cshowsPrec :: Int -> TimeoutSeconds -> ShowS
P.Show)

-- ** Timestamps
newtype Timestamps = Timestamps { Timestamps -> Bool
unTimestamps :: Bool } deriving (Timestamps -> Timestamps -> Bool
(Timestamps -> Timestamps -> Bool)
-> (Timestamps -> Timestamps -> Bool) -> Eq Timestamps
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Timestamps -> Timestamps -> Bool
$c/= :: Timestamps -> Timestamps -> Bool
== :: Timestamps -> Timestamps -> Bool
$c== :: Timestamps -> Timestamps -> Bool
P.Eq, Int -> Timestamps -> ShowS
[Timestamps] -> ShowS
Timestamps -> String
(Int -> Timestamps -> ShowS)
-> (Timestamps -> String)
-> ([Timestamps] -> ShowS)
-> Show Timestamps
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Timestamps] -> ShowS
$cshowList :: [Timestamps] -> ShowS
show :: Timestamps -> String
$cshow :: Timestamps -> String
showsPrec :: Int -> Timestamps -> ShowS
$cshowsPrec :: Int -> Timestamps -> ShowS
P.Show)

-- ** Tty
newtype Tty = Tty { Tty -> Bool
unTty :: Bool } deriving (Tty -> Tty -> Bool
(Tty -> Tty -> Bool) -> (Tty -> Tty -> Bool) -> Eq Tty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Tty -> Tty -> Bool
$c/= :: Tty -> Tty -> Bool
== :: Tty -> Tty -> Bool
$c== :: Tty -> Tty -> Bool
P.Eq, Int -> Tty -> ShowS
[Tty] -> ShowS
Tty -> String
(Int -> Tty -> ShowS)
-> (Tty -> String) -> ([Tty] -> ShowS) -> Show Tty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Tty] -> ShowS
$cshowList :: [Tty] -> ShowS
show :: Tty -> String
$cshow :: Tty -> String
showsPrec :: Int -> Tty -> ShowS
$cshowsPrec :: Int -> Tty -> ShowS
P.Show)

-- ** Version
newtype Version = Version { Version -> Text
unVersion :: Text } deriving (Version -> Version -> Bool
(Version -> Version -> Bool)
-> (Version -> Version -> Bool) -> Eq Version
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Version -> Version -> Bool
$c/= :: Version -> Version -> Bool
== :: Version -> Version -> Bool
$c== :: Version -> Version -> Bool
P.Eq, Int -> Version -> ShowS
[Version] -> ShowS
Version -> String
(Int -> Version -> ShowS)
-> (Version -> String) -> ([Version] -> ShowS) -> Show Version
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Version] -> ShowS
$cshowList :: [Version] -> ShowS
show :: Version -> String
$cshow :: Version -> String
showsPrec :: Int -> Version -> ShowS
$cshowsPrec :: Int -> Version -> ShowS
P.Show)

-- ** Watch
newtype Watch = Watch { Watch -> Bool
unWatch :: Bool } deriving (Watch -> Watch -> Bool
(Watch -> Watch -> Bool) -> (Watch -> Watch -> Bool) -> Eq Watch
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Watch -> Watch -> Bool
$c/= :: Watch -> Watch -> Bool
== :: Watch -> Watch -> Bool
$c== :: Watch -> Watch -> Bool
P.Eq, Int -> Watch -> ShowS
[Watch] -> ShowS
Watch -> String
(Int -> Watch -> ShowS)
-> (Watch -> String) -> ([Watch] -> ShowS) -> Show Watch
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Watch] -> ShowS
$cshowList :: [Watch] -> ShowS
show :: Watch -> String
$cshow :: Watch -> String
showsPrec :: Int -> Watch -> ShowS
$cshowsPrec :: Int -> Watch -> ShowS
P.Show)

-- * Models


-- ** AdmissionregistrationV1ServiceReference
-- | AdmissionregistrationV1ServiceReference
-- ServiceReference holds a reference to Service.legacy.k8s.io
data AdmissionregistrationV1ServiceReference = AdmissionregistrationV1ServiceReference
  { AdmissionregistrationV1ServiceReference -> Text
admissionregistrationV1ServiceReferenceName :: !(Text) -- ^ /Required/ "name" - &#x60;name&#x60; is the name of the service. Required
  , AdmissionregistrationV1ServiceReference -> Text
admissionregistrationV1ServiceReferenceNamespace :: !(Text) -- ^ /Required/ "namespace" - &#x60;namespace&#x60; is the namespace of the service. Required
  , AdmissionregistrationV1ServiceReference -> Maybe Text
admissionregistrationV1ServiceReferencePath :: !(Maybe Text) -- ^ "path" - &#x60;path&#x60; is an optional URL path which will be sent in any request to this service.
  , AdmissionregistrationV1ServiceReference -> Maybe Int
admissionregistrationV1ServiceReferencePort :: !(Maybe Int) -- ^ "port" - If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. &#x60;port&#x60; should be a valid port number (1-65535, inclusive).
  } deriving (Int -> AdmissionregistrationV1ServiceReference -> ShowS
[AdmissionregistrationV1ServiceReference] -> ShowS
AdmissionregistrationV1ServiceReference -> String
(Int -> AdmissionregistrationV1ServiceReference -> ShowS)
-> (AdmissionregistrationV1ServiceReference -> String)
-> ([AdmissionregistrationV1ServiceReference] -> ShowS)
-> Show AdmissionregistrationV1ServiceReference
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdmissionregistrationV1ServiceReference] -> ShowS
$cshowList :: [AdmissionregistrationV1ServiceReference] -> ShowS
show :: AdmissionregistrationV1ServiceReference -> String
$cshow :: AdmissionregistrationV1ServiceReference -> String
showsPrec :: Int -> AdmissionregistrationV1ServiceReference -> ShowS
$cshowsPrec :: Int -> AdmissionregistrationV1ServiceReference -> ShowS
P.Show, AdmissionregistrationV1ServiceReference
-> AdmissionregistrationV1ServiceReference -> Bool
(AdmissionregistrationV1ServiceReference
 -> AdmissionregistrationV1ServiceReference -> Bool)
-> (AdmissionregistrationV1ServiceReference
    -> AdmissionregistrationV1ServiceReference -> Bool)
-> Eq AdmissionregistrationV1ServiceReference
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdmissionregistrationV1ServiceReference
-> AdmissionregistrationV1ServiceReference -> Bool
$c/= :: AdmissionregistrationV1ServiceReference
-> AdmissionregistrationV1ServiceReference -> Bool
== :: AdmissionregistrationV1ServiceReference
-> AdmissionregistrationV1ServiceReference -> Bool
$c== :: AdmissionregistrationV1ServiceReference
-> AdmissionregistrationV1ServiceReference -> Bool
P.Eq, P.Typeable)

-- | FromJSON AdmissionregistrationV1ServiceReference
instance A.FromJSON AdmissionregistrationV1ServiceReference where
  parseJSON :: Value -> Parser AdmissionregistrationV1ServiceReference
parseJSON = String
-> (Object -> Parser AdmissionregistrationV1ServiceReference)
-> Value
-> Parser AdmissionregistrationV1ServiceReference
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AdmissionregistrationV1ServiceReference" ((Object -> Parser AdmissionregistrationV1ServiceReference)
 -> Value -> Parser AdmissionregistrationV1ServiceReference)
-> (Object -> Parser AdmissionregistrationV1ServiceReference)
-> Value
-> Parser AdmissionregistrationV1ServiceReference
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text
-> Text
-> Maybe Text
-> Maybe Int
-> AdmissionregistrationV1ServiceReference
AdmissionregistrationV1ServiceReference
      (Text
 -> Text
 -> Maybe Text
 -> Maybe Int
 -> AdmissionregistrationV1ServiceReference)
-> Parser Text
-> Parser
     (Text
      -> Maybe Text
      -> Maybe Int
      -> AdmissionregistrationV1ServiceReference)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")
      Parser
  (Text
   -> Maybe Text
   -> Maybe Int
   -> AdmissionregistrationV1ServiceReference)
-> Parser Text
-> Parser
     (Maybe Text
      -> Maybe Int -> AdmissionregistrationV1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"namespace")
      Parser
  (Maybe Text
   -> Maybe Int -> AdmissionregistrationV1ServiceReference)
-> Parser (Maybe Text)
-> Parser (Maybe Int -> AdmissionregistrationV1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"path")
      Parser (Maybe Int -> AdmissionregistrationV1ServiceReference)
-> Parser (Maybe Int)
-> Parser AdmissionregistrationV1ServiceReference
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"port")

-- | ToJSON AdmissionregistrationV1ServiceReference
instance A.ToJSON AdmissionregistrationV1ServiceReference where
  toJSON :: AdmissionregistrationV1ServiceReference -> Value
toJSON AdmissionregistrationV1ServiceReference {Maybe Int
Maybe Text
Text
admissionregistrationV1ServiceReferencePort :: Maybe Int
admissionregistrationV1ServiceReferencePath :: Maybe Text
admissionregistrationV1ServiceReferenceNamespace :: Text
admissionregistrationV1ServiceReferenceName :: Text
admissionregistrationV1ServiceReferencePort :: AdmissionregistrationV1ServiceReference -> Maybe Int
admissionregistrationV1ServiceReferencePath :: AdmissionregistrationV1ServiceReference -> Maybe Text
admissionregistrationV1ServiceReferenceNamespace :: AdmissionregistrationV1ServiceReference -> Text
admissionregistrationV1ServiceReferenceName :: AdmissionregistrationV1ServiceReference -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
admissionregistrationV1ServiceReferenceName
      , Text
"namespace" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
admissionregistrationV1ServiceReferenceNamespace
      , Text
"path" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
admissionregistrationV1ServiceReferencePath
      , Text
"port" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
admissionregistrationV1ServiceReferencePort
      ]


-- | Construct a value of type 'AdmissionregistrationV1ServiceReference' (by applying it's required fields, if any)
mkAdmissionregistrationV1ServiceReference
  :: Text -- ^ 'admissionregistrationV1ServiceReferenceName': `name` is the name of the service. Required
  -> Text -- ^ 'admissionregistrationV1ServiceReferenceNamespace': `namespace` is the namespace of the service. Required
  -> AdmissionregistrationV1ServiceReference
mkAdmissionregistrationV1ServiceReference :: Text -> Text -> AdmissionregistrationV1ServiceReference
mkAdmissionregistrationV1ServiceReference Text
admissionregistrationV1ServiceReferenceName Text
admissionregistrationV1ServiceReferenceNamespace =
  AdmissionregistrationV1ServiceReference :: Text
-> Text
-> Maybe Text
-> Maybe Int
-> AdmissionregistrationV1ServiceReference
AdmissionregistrationV1ServiceReference
  { Text
admissionregistrationV1ServiceReferenceName :: Text
admissionregistrationV1ServiceReferenceName :: Text
admissionregistrationV1ServiceReferenceName
  , Text
admissionregistrationV1ServiceReferenceNamespace :: Text
admissionregistrationV1ServiceReferenceNamespace :: Text
admissionregistrationV1ServiceReferenceNamespace
  , admissionregistrationV1ServiceReferencePath :: Maybe Text
admissionregistrationV1ServiceReferencePath = Maybe Text
forall a. Maybe a
Nothing
  , admissionregistrationV1ServiceReferencePort :: Maybe Int
admissionregistrationV1ServiceReferencePort = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** AdmissionregistrationV1WebhookClientConfig
-- | AdmissionregistrationV1WebhookClientConfig
-- WebhookClientConfig contains the information to make a TLS connection with the webhook
data AdmissionregistrationV1WebhookClientConfig = AdmissionregistrationV1WebhookClientConfig
  { AdmissionregistrationV1WebhookClientConfig -> Maybe ByteArray
admissionregistrationV1WebhookClientConfigCaBundle :: !(Maybe ByteArray) -- ^ "caBundle" - &#x60;caBundle&#x60; is a PEM encoded CA bundle which will be used to validate the webhook&#39;s server certificate. If unspecified, system trust roots on the apiserver are used.
  , AdmissionregistrationV1WebhookClientConfig
-> Maybe AdmissionregistrationV1ServiceReference
admissionregistrationV1WebhookClientConfigService :: !(Maybe AdmissionregistrationV1ServiceReference) -- ^ "service"
  , AdmissionregistrationV1WebhookClientConfig -> Maybe Text
admissionregistrationV1WebhookClientConfigUrl :: !(Maybe Text) -- ^ "url" - &#x60;url&#x60; gives the location of the webhook, in standard URL form (&#x60;scheme://host:port/path&#x60;). Exactly one of &#x60;url&#x60; or &#x60;service&#x60; must be specified.  The &#x60;host&#x60; should not refer to a service running in the cluster; use the &#x60;service&#x60; field instead. The host might be resolved via external DNS in some apiservers (e.g., &#x60;kube-apiserver&#x60; cannot resolve in-cluster DNS as that would be a layering violation). &#x60;host&#x60; may also be an IP address.  Please note that using &#x60;localhost&#x60; or &#x60;127.0.0.1&#x60; as a &#x60;host&#x60; is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.  The scheme must be \&quot;https\&quot;; the URL must begin with \&quot;https://\&quot;.  A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.  Attempting to use a user or basic auth e.g. \&quot;user:password@\&quot; is not allowed. Fragments (\&quot;#...\&quot;) and query parameters (\&quot;?...\&quot;) are not allowed, either.
  } deriving (Int -> AdmissionregistrationV1WebhookClientConfig -> ShowS
[AdmissionregistrationV1WebhookClientConfig] -> ShowS
AdmissionregistrationV1WebhookClientConfig -> String
(Int -> AdmissionregistrationV1WebhookClientConfig -> ShowS)
-> (AdmissionregistrationV1WebhookClientConfig -> String)
-> ([AdmissionregistrationV1WebhookClientConfig] -> ShowS)
-> Show AdmissionregistrationV1WebhookClientConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdmissionregistrationV1WebhookClientConfig] -> ShowS
$cshowList :: [AdmissionregistrationV1WebhookClientConfig] -> ShowS
show :: AdmissionregistrationV1WebhookClientConfig -> String
$cshow :: AdmissionregistrationV1WebhookClientConfig -> String
showsPrec :: Int -> AdmissionregistrationV1WebhookClientConfig -> ShowS
$cshowsPrec :: Int -> AdmissionregistrationV1WebhookClientConfig -> ShowS
P.Show, AdmissionregistrationV1WebhookClientConfig
-> AdmissionregistrationV1WebhookClientConfig -> Bool
(AdmissionregistrationV1WebhookClientConfig
 -> AdmissionregistrationV1WebhookClientConfig -> Bool)
-> (AdmissionregistrationV1WebhookClientConfig
    -> AdmissionregistrationV1WebhookClientConfig -> Bool)
-> Eq AdmissionregistrationV1WebhookClientConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdmissionregistrationV1WebhookClientConfig
-> AdmissionregistrationV1WebhookClientConfig -> Bool
$c/= :: AdmissionregistrationV1WebhookClientConfig
-> AdmissionregistrationV1WebhookClientConfig -> Bool
== :: AdmissionregistrationV1WebhookClientConfig
-> AdmissionregistrationV1WebhookClientConfig -> Bool
$c== :: AdmissionregistrationV1WebhookClientConfig
-> AdmissionregistrationV1WebhookClientConfig -> Bool
P.Eq, P.Typeable)

-- | FromJSON AdmissionregistrationV1WebhookClientConfig
instance A.FromJSON AdmissionregistrationV1WebhookClientConfig where
  parseJSON :: Value -> Parser AdmissionregistrationV1WebhookClientConfig
parseJSON = String
-> (Object -> Parser AdmissionregistrationV1WebhookClientConfig)
-> Value
-> Parser AdmissionregistrationV1WebhookClientConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AdmissionregistrationV1WebhookClientConfig" ((Object -> Parser AdmissionregistrationV1WebhookClientConfig)
 -> Value -> Parser AdmissionregistrationV1WebhookClientConfig)
-> (Object -> Parser AdmissionregistrationV1WebhookClientConfig)
-> Value
-> Parser AdmissionregistrationV1WebhookClientConfig
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe ByteArray
-> Maybe AdmissionregistrationV1ServiceReference
-> Maybe Text
-> AdmissionregistrationV1WebhookClientConfig
AdmissionregistrationV1WebhookClientConfig
      (Maybe ByteArray
 -> Maybe AdmissionregistrationV1ServiceReference
 -> Maybe Text
 -> AdmissionregistrationV1WebhookClientConfig)
-> Parser (Maybe ByteArray)
-> Parser
     (Maybe AdmissionregistrationV1ServiceReference
      -> Maybe Text -> AdmissionregistrationV1WebhookClientConfig)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe ByteArray)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"caBundle")
      Parser
  (Maybe AdmissionregistrationV1ServiceReference
   -> Maybe Text -> AdmissionregistrationV1WebhookClientConfig)
-> Parser (Maybe AdmissionregistrationV1ServiceReference)
-> Parser
     (Maybe Text -> AdmissionregistrationV1WebhookClientConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object
-> Text -> Parser (Maybe AdmissionregistrationV1ServiceReference)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"service")
      Parser (Maybe Text -> AdmissionregistrationV1WebhookClientConfig)
-> Parser (Maybe Text)
-> Parser AdmissionregistrationV1WebhookClientConfig
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"url")

-- | ToJSON AdmissionregistrationV1WebhookClientConfig
instance A.ToJSON AdmissionregistrationV1WebhookClientConfig where
  toJSON :: AdmissionregistrationV1WebhookClientConfig -> Value
toJSON AdmissionregistrationV1WebhookClientConfig {Maybe Text
Maybe ByteArray
Maybe AdmissionregistrationV1ServiceReference
admissionregistrationV1WebhookClientConfigUrl :: Maybe Text
admissionregistrationV1WebhookClientConfigService :: Maybe AdmissionregistrationV1ServiceReference
admissionregistrationV1WebhookClientConfigCaBundle :: Maybe ByteArray
admissionregistrationV1WebhookClientConfigUrl :: AdmissionregistrationV1WebhookClientConfig -> Maybe Text
admissionregistrationV1WebhookClientConfigService :: AdmissionregistrationV1WebhookClientConfig
-> Maybe AdmissionregistrationV1ServiceReference
admissionregistrationV1WebhookClientConfigCaBundle :: AdmissionregistrationV1WebhookClientConfig -> Maybe ByteArray
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"caBundle" Text -> Maybe ByteArray -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ByteArray
admissionregistrationV1WebhookClientConfigCaBundle
      , Text
"service" Text
-> Maybe AdmissionregistrationV1ServiceReference -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AdmissionregistrationV1ServiceReference
admissionregistrationV1WebhookClientConfigService
      , Text
"url" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
admissionregistrationV1WebhookClientConfigUrl
      ]


-- | Construct a value of type 'AdmissionregistrationV1WebhookClientConfig' (by applying it's required fields, if any)
mkAdmissionregistrationV1WebhookClientConfig
  :: AdmissionregistrationV1WebhookClientConfig
mkAdmissionregistrationV1WebhookClientConfig :: AdmissionregistrationV1WebhookClientConfig
mkAdmissionregistrationV1WebhookClientConfig =
  AdmissionregistrationV1WebhookClientConfig :: Maybe ByteArray
-> Maybe AdmissionregistrationV1ServiceReference
-> Maybe Text
-> AdmissionregistrationV1WebhookClientConfig
AdmissionregistrationV1WebhookClientConfig
  { admissionregistrationV1WebhookClientConfigCaBundle :: Maybe ByteArray
admissionregistrationV1WebhookClientConfigCaBundle = Maybe ByteArray
forall a. Maybe a
Nothing
  , admissionregistrationV1WebhookClientConfigService :: Maybe AdmissionregistrationV1ServiceReference
admissionregistrationV1WebhookClientConfigService = Maybe AdmissionregistrationV1ServiceReference
forall a. Maybe a
Nothing
  , admissionregistrationV1WebhookClientConfigUrl :: Maybe Text
admissionregistrationV1WebhookClientConfigUrl = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** AdmissionregistrationV1beta1ServiceReference
-- | AdmissionregistrationV1beta1ServiceReference
-- ServiceReference holds a reference to Service.legacy.k8s.io
data AdmissionregistrationV1beta1ServiceReference = AdmissionregistrationV1beta1ServiceReference
  { AdmissionregistrationV1beta1ServiceReference -> Text
admissionregistrationV1beta1ServiceReferenceName :: !(Text) -- ^ /Required/ "name" - &#x60;name&#x60; is the name of the service. Required
  , AdmissionregistrationV1beta1ServiceReference -> Text
admissionregistrationV1beta1ServiceReferenceNamespace :: !(Text) -- ^ /Required/ "namespace" - &#x60;namespace&#x60; is the namespace of the service. Required
  , AdmissionregistrationV1beta1ServiceReference -> Maybe Text
admissionregistrationV1beta1ServiceReferencePath :: !(Maybe Text) -- ^ "path" - &#x60;path&#x60; is an optional URL path which will be sent in any request to this service.
  , AdmissionregistrationV1beta1ServiceReference -> Maybe Int
admissionregistrationV1beta1ServiceReferencePort :: !(Maybe Int) -- ^ "port" - If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. &#x60;port&#x60; should be a valid port number (1-65535, inclusive).
  } deriving (Int -> AdmissionregistrationV1beta1ServiceReference -> ShowS
[AdmissionregistrationV1beta1ServiceReference] -> ShowS
AdmissionregistrationV1beta1ServiceReference -> String
(Int -> AdmissionregistrationV1beta1ServiceReference -> ShowS)
-> (AdmissionregistrationV1beta1ServiceReference -> String)
-> ([AdmissionregistrationV1beta1ServiceReference] -> ShowS)
-> Show AdmissionregistrationV1beta1ServiceReference
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdmissionregistrationV1beta1ServiceReference] -> ShowS
$cshowList :: [AdmissionregistrationV1beta1ServiceReference] -> ShowS
show :: AdmissionregistrationV1beta1ServiceReference -> String
$cshow :: AdmissionregistrationV1beta1ServiceReference -> String
showsPrec :: Int -> AdmissionregistrationV1beta1ServiceReference -> ShowS
$cshowsPrec :: Int -> AdmissionregistrationV1beta1ServiceReference -> ShowS
P.Show, AdmissionregistrationV1beta1ServiceReference
-> AdmissionregistrationV1beta1ServiceReference -> Bool
(AdmissionregistrationV1beta1ServiceReference
 -> AdmissionregistrationV1beta1ServiceReference -> Bool)
-> (AdmissionregistrationV1beta1ServiceReference
    -> AdmissionregistrationV1beta1ServiceReference -> Bool)
-> Eq AdmissionregistrationV1beta1ServiceReference
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdmissionregistrationV1beta1ServiceReference
-> AdmissionregistrationV1beta1ServiceReference -> Bool
$c/= :: AdmissionregistrationV1beta1ServiceReference
-> AdmissionregistrationV1beta1ServiceReference -> Bool
== :: AdmissionregistrationV1beta1ServiceReference
-> AdmissionregistrationV1beta1ServiceReference -> Bool
$c== :: AdmissionregistrationV1beta1ServiceReference
-> AdmissionregistrationV1beta1ServiceReference -> Bool
P.Eq, P.Typeable)

-- | FromJSON AdmissionregistrationV1beta1ServiceReference
instance A.FromJSON AdmissionregistrationV1beta1ServiceReference where
  parseJSON :: Value -> Parser AdmissionregistrationV1beta1ServiceReference
parseJSON = String
-> (Object -> Parser AdmissionregistrationV1beta1ServiceReference)
-> Value
-> Parser AdmissionregistrationV1beta1ServiceReference
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AdmissionregistrationV1beta1ServiceReference" ((Object -> Parser AdmissionregistrationV1beta1ServiceReference)
 -> Value -> Parser AdmissionregistrationV1beta1ServiceReference)
-> (Object -> Parser AdmissionregistrationV1beta1ServiceReference)
-> Value
-> Parser AdmissionregistrationV1beta1ServiceReference
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text
-> Text
-> Maybe Text
-> Maybe Int
-> AdmissionregistrationV1beta1ServiceReference
AdmissionregistrationV1beta1ServiceReference
      (Text
 -> Text
 -> Maybe Text
 -> Maybe Int
 -> AdmissionregistrationV1beta1ServiceReference)
-> Parser Text
-> Parser
     (Text
      -> Maybe Text
      -> Maybe Int
      -> AdmissionregistrationV1beta1ServiceReference)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")
      Parser
  (Text
   -> Maybe Text
   -> Maybe Int
   -> AdmissionregistrationV1beta1ServiceReference)
-> Parser Text
-> Parser
     (Maybe Text
      -> Maybe Int -> AdmissionregistrationV1beta1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"namespace")
      Parser
  (Maybe Text
   -> Maybe Int -> AdmissionregistrationV1beta1ServiceReference)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int -> AdmissionregistrationV1beta1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"path")
      Parser (Maybe Int -> AdmissionregistrationV1beta1ServiceReference)
-> Parser (Maybe Int)
-> Parser AdmissionregistrationV1beta1ServiceReference
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"port")

-- | ToJSON AdmissionregistrationV1beta1ServiceReference
instance A.ToJSON AdmissionregistrationV1beta1ServiceReference where
  toJSON :: AdmissionregistrationV1beta1ServiceReference -> Value
toJSON AdmissionregistrationV1beta1ServiceReference {Maybe Int
Maybe Text
Text
admissionregistrationV1beta1ServiceReferencePort :: Maybe Int
admissionregistrationV1beta1ServiceReferencePath :: Maybe Text
admissionregistrationV1beta1ServiceReferenceNamespace :: Text
admissionregistrationV1beta1ServiceReferenceName :: Text
admissionregistrationV1beta1ServiceReferencePort :: AdmissionregistrationV1beta1ServiceReference -> Maybe Int
admissionregistrationV1beta1ServiceReferencePath :: AdmissionregistrationV1beta1ServiceReference -> Maybe Text
admissionregistrationV1beta1ServiceReferenceNamespace :: AdmissionregistrationV1beta1ServiceReference -> Text
admissionregistrationV1beta1ServiceReferenceName :: AdmissionregistrationV1beta1ServiceReference -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
admissionregistrationV1beta1ServiceReferenceName
      , Text
"namespace" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
admissionregistrationV1beta1ServiceReferenceNamespace
      , Text
"path" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
admissionregistrationV1beta1ServiceReferencePath
      , Text
"port" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
admissionregistrationV1beta1ServiceReferencePort
      ]


-- | Construct a value of type 'AdmissionregistrationV1beta1ServiceReference' (by applying it's required fields, if any)
mkAdmissionregistrationV1beta1ServiceReference
  :: Text -- ^ 'admissionregistrationV1beta1ServiceReferenceName': `name` is the name of the service. Required
  -> Text -- ^ 'admissionregistrationV1beta1ServiceReferenceNamespace': `namespace` is the namespace of the service. Required
  -> AdmissionregistrationV1beta1ServiceReference
mkAdmissionregistrationV1beta1ServiceReference :: Text -> Text -> AdmissionregistrationV1beta1ServiceReference
mkAdmissionregistrationV1beta1ServiceReference Text
admissionregistrationV1beta1ServiceReferenceName Text
admissionregistrationV1beta1ServiceReferenceNamespace =
  AdmissionregistrationV1beta1ServiceReference :: Text
-> Text
-> Maybe Text
-> Maybe Int
-> AdmissionregistrationV1beta1ServiceReference
AdmissionregistrationV1beta1ServiceReference
  { Text
admissionregistrationV1beta1ServiceReferenceName :: Text
admissionregistrationV1beta1ServiceReferenceName :: Text
admissionregistrationV1beta1ServiceReferenceName
  , Text
admissionregistrationV1beta1ServiceReferenceNamespace :: Text
admissionregistrationV1beta1ServiceReferenceNamespace :: Text
admissionregistrationV1beta1ServiceReferenceNamespace
  , admissionregistrationV1beta1ServiceReferencePath :: Maybe Text
admissionregistrationV1beta1ServiceReferencePath = Maybe Text
forall a. Maybe a
Nothing
  , admissionregistrationV1beta1ServiceReferencePort :: Maybe Int
admissionregistrationV1beta1ServiceReferencePort = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** AdmissionregistrationV1beta1WebhookClientConfig
-- | AdmissionregistrationV1beta1WebhookClientConfig
-- WebhookClientConfig contains the information to make a TLS connection with the webhook
data AdmissionregistrationV1beta1WebhookClientConfig = AdmissionregistrationV1beta1WebhookClientConfig
  { AdmissionregistrationV1beta1WebhookClientConfig -> Maybe ByteArray
admissionregistrationV1beta1WebhookClientConfigCaBundle :: !(Maybe ByteArray) -- ^ "caBundle" - &#x60;caBundle&#x60; is a PEM encoded CA bundle which will be used to validate the webhook&#39;s server certificate. If unspecified, system trust roots on the apiserver are used.
  , AdmissionregistrationV1beta1WebhookClientConfig
-> Maybe AdmissionregistrationV1beta1ServiceReference
admissionregistrationV1beta1WebhookClientConfigService :: !(Maybe AdmissionregistrationV1beta1ServiceReference) -- ^ "service"
  , AdmissionregistrationV1beta1WebhookClientConfig -> Maybe Text
admissionregistrationV1beta1WebhookClientConfigUrl :: !(Maybe Text) -- ^ "url" - &#x60;url&#x60; gives the location of the webhook, in standard URL form (&#x60;scheme://host:port/path&#x60;). Exactly one of &#x60;url&#x60; or &#x60;service&#x60; must be specified.  The &#x60;host&#x60; should not refer to a service running in the cluster; use the &#x60;service&#x60; field instead. The host might be resolved via external DNS in some apiservers (e.g., &#x60;kube-apiserver&#x60; cannot resolve in-cluster DNS as that would be a layering violation). &#x60;host&#x60; may also be an IP address.  Please note that using &#x60;localhost&#x60; or &#x60;127.0.0.1&#x60; as a &#x60;host&#x60; is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.  The scheme must be \&quot;https\&quot;; the URL must begin with \&quot;https://\&quot;.  A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.  Attempting to use a user or basic auth e.g. \&quot;user:password@\&quot; is not allowed. Fragments (\&quot;#...\&quot;) and query parameters (\&quot;?...\&quot;) are not allowed, either.
  } deriving (Int -> AdmissionregistrationV1beta1WebhookClientConfig -> ShowS
[AdmissionregistrationV1beta1WebhookClientConfig] -> ShowS
AdmissionregistrationV1beta1WebhookClientConfig -> String
(Int -> AdmissionregistrationV1beta1WebhookClientConfig -> ShowS)
-> (AdmissionregistrationV1beta1WebhookClientConfig -> String)
-> ([AdmissionregistrationV1beta1WebhookClientConfig] -> ShowS)
-> Show AdmissionregistrationV1beta1WebhookClientConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdmissionregistrationV1beta1WebhookClientConfig] -> ShowS
$cshowList :: [AdmissionregistrationV1beta1WebhookClientConfig] -> ShowS
show :: AdmissionregistrationV1beta1WebhookClientConfig -> String
$cshow :: AdmissionregistrationV1beta1WebhookClientConfig -> String
showsPrec :: Int -> AdmissionregistrationV1beta1WebhookClientConfig -> ShowS
$cshowsPrec :: Int -> AdmissionregistrationV1beta1WebhookClientConfig -> ShowS
P.Show, AdmissionregistrationV1beta1WebhookClientConfig
-> AdmissionregistrationV1beta1WebhookClientConfig -> Bool
(AdmissionregistrationV1beta1WebhookClientConfig
 -> AdmissionregistrationV1beta1WebhookClientConfig -> Bool)
-> (AdmissionregistrationV1beta1WebhookClientConfig
    -> AdmissionregistrationV1beta1WebhookClientConfig -> Bool)
-> Eq AdmissionregistrationV1beta1WebhookClientConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdmissionregistrationV1beta1WebhookClientConfig
-> AdmissionregistrationV1beta1WebhookClientConfig -> Bool
$c/= :: AdmissionregistrationV1beta1WebhookClientConfig
-> AdmissionregistrationV1beta1WebhookClientConfig -> Bool
== :: AdmissionregistrationV1beta1WebhookClientConfig
-> AdmissionregistrationV1beta1WebhookClientConfig -> Bool
$c== :: AdmissionregistrationV1beta1WebhookClientConfig
-> AdmissionregistrationV1beta1WebhookClientConfig -> Bool
P.Eq, P.Typeable)

-- | FromJSON AdmissionregistrationV1beta1WebhookClientConfig
instance A.FromJSON AdmissionregistrationV1beta1WebhookClientConfig where
  parseJSON :: Value -> Parser AdmissionregistrationV1beta1WebhookClientConfig
parseJSON = String
-> (Object
    -> Parser AdmissionregistrationV1beta1WebhookClientConfig)
-> Value
-> Parser AdmissionregistrationV1beta1WebhookClientConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AdmissionregistrationV1beta1WebhookClientConfig" ((Object -> Parser AdmissionregistrationV1beta1WebhookClientConfig)
 -> Value -> Parser AdmissionregistrationV1beta1WebhookClientConfig)
-> (Object
    -> Parser AdmissionregistrationV1beta1WebhookClientConfig)
-> Value
-> Parser AdmissionregistrationV1beta1WebhookClientConfig
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe ByteArray
-> Maybe AdmissionregistrationV1beta1ServiceReference
-> Maybe Text
-> AdmissionregistrationV1beta1WebhookClientConfig
AdmissionregistrationV1beta1WebhookClientConfig
      (Maybe ByteArray
 -> Maybe AdmissionregistrationV1beta1ServiceReference
 -> Maybe Text
 -> AdmissionregistrationV1beta1WebhookClientConfig)
-> Parser (Maybe ByteArray)
-> Parser
     (Maybe AdmissionregistrationV1beta1ServiceReference
      -> Maybe Text -> AdmissionregistrationV1beta1WebhookClientConfig)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe ByteArray)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"caBundle")
      Parser
  (Maybe AdmissionregistrationV1beta1ServiceReference
   -> Maybe Text -> AdmissionregistrationV1beta1WebhookClientConfig)
-> Parser (Maybe AdmissionregistrationV1beta1ServiceReference)
-> Parser
     (Maybe Text -> AdmissionregistrationV1beta1WebhookClientConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object
-> Text
-> Parser (Maybe AdmissionregistrationV1beta1ServiceReference)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"service")
      Parser
  (Maybe Text -> AdmissionregistrationV1beta1WebhookClientConfig)
-> Parser (Maybe Text)
-> Parser AdmissionregistrationV1beta1WebhookClientConfig
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"url")

-- | ToJSON AdmissionregistrationV1beta1WebhookClientConfig
instance A.ToJSON AdmissionregistrationV1beta1WebhookClientConfig where
  toJSON :: AdmissionregistrationV1beta1WebhookClientConfig -> Value
toJSON AdmissionregistrationV1beta1WebhookClientConfig {Maybe Text
Maybe ByteArray
Maybe AdmissionregistrationV1beta1ServiceReference
admissionregistrationV1beta1WebhookClientConfigUrl :: Maybe Text
admissionregistrationV1beta1WebhookClientConfigService :: Maybe AdmissionregistrationV1beta1ServiceReference
admissionregistrationV1beta1WebhookClientConfigCaBundle :: Maybe ByteArray
admissionregistrationV1beta1WebhookClientConfigUrl :: AdmissionregistrationV1beta1WebhookClientConfig -> Maybe Text
admissionregistrationV1beta1WebhookClientConfigService :: AdmissionregistrationV1beta1WebhookClientConfig
-> Maybe AdmissionregistrationV1beta1ServiceReference
admissionregistrationV1beta1WebhookClientConfigCaBundle :: AdmissionregistrationV1beta1WebhookClientConfig -> Maybe ByteArray
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"caBundle" Text -> Maybe ByteArray -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ByteArray
admissionregistrationV1beta1WebhookClientConfigCaBundle
      , Text
"service" Text
-> Maybe AdmissionregistrationV1beta1ServiceReference
-> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AdmissionregistrationV1beta1ServiceReference
admissionregistrationV1beta1WebhookClientConfigService
      , Text
"url" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
admissionregistrationV1beta1WebhookClientConfigUrl
      ]


-- | Construct a value of type 'AdmissionregistrationV1beta1WebhookClientConfig' (by applying it's required fields, if any)
mkAdmissionregistrationV1beta1WebhookClientConfig
  :: AdmissionregistrationV1beta1WebhookClientConfig
mkAdmissionregistrationV1beta1WebhookClientConfig :: AdmissionregistrationV1beta1WebhookClientConfig
mkAdmissionregistrationV1beta1WebhookClientConfig =
  AdmissionregistrationV1beta1WebhookClientConfig :: Maybe ByteArray
-> Maybe AdmissionregistrationV1beta1ServiceReference
-> Maybe Text
-> AdmissionregistrationV1beta1WebhookClientConfig
AdmissionregistrationV1beta1WebhookClientConfig
  { admissionregistrationV1beta1WebhookClientConfigCaBundle :: Maybe ByteArray
admissionregistrationV1beta1WebhookClientConfigCaBundle = Maybe ByteArray
forall a. Maybe a
Nothing
  , admissionregistrationV1beta1WebhookClientConfigService :: Maybe AdmissionregistrationV1beta1ServiceReference
admissionregistrationV1beta1WebhookClientConfigService = Maybe AdmissionregistrationV1beta1ServiceReference
forall a. Maybe a
Nothing
  , admissionregistrationV1beta1WebhookClientConfigUrl :: Maybe Text
admissionregistrationV1beta1WebhookClientConfigUrl = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ApiextensionsV1ServiceReference
-- | ApiextensionsV1ServiceReference
-- ServiceReference holds a reference to Service.legacy.k8s.io
data ApiextensionsV1ServiceReference = ApiextensionsV1ServiceReference
  { ApiextensionsV1ServiceReference -> Text
apiextensionsV1ServiceReferenceName :: !(Text) -- ^ /Required/ "name" - name is the name of the service. Required
  , ApiextensionsV1ServiceReference -> Text
apiextensionsV1ServiceReferenceNamespace :: !(Text) -- ^ /Required/ "namespace" - namespace is the namespace of the service. Required
  , ApiextensionsV1ServiceReference -> Maybe Text
apiextensionsV1ServiceReferencePath :: !(Maybe Text) -- ^ "path" - path is an optional URL path at which the webhook will be contacted.
  , ApiextensionsV1ServiceReference -> Maybe Int
apiextensionsV1ServiceReferencePort :: !(Maybe Int) -- ^ "port" - port is an optional service port at which the webhook will be contacted. &#x60;port&#x60; should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.
  } deriving (Int -> ApiextensionsV1ServiceReference -> ShowS
[ApiextensionsV1ServiceReference] -> ShowS
ApiextensionsV1ServiceReference -> String
(Int -> ApiextensionsV1ServiceReference -> ShowS)
-> (ApiextensionsV1ServiceReference -> String)
-> ([ApiextensionsV1ServiceReference] -> ShowS)
-> Show ApiextensionsV1ServiceReference
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiextensionsV1ServiceReference] -> ShowS
$cshowList :: [ApiextensionsV1ServiceReference] -> ShowS
show :: ApiextensionsV1ServiceReference -> String
$cshow :: ApiextensionsV1ServiceReference -> String
showsPrec :: Int -> ApiextensionsV1ServiceReference -> ShowS
$cshowsPrec :: Int -> ApiextensionsV1ServiceReference -> ShowS
P.Show, ApiextensionsV1ServiceReference
-> ApiextensionsV1ServiceReference -> Bool
(ApiextensionsV1ServiceReference
 -> ApiextensionsV1ServiceReference -> Bool)
-> (ApiextensionsV1ServiceReference
    -> ApiextensionsV1ServiceReference -> Bool)
-> Eq ApiextensionsV1ServiceReference
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiextensionsV1ServiceReference
-> ApiextensionsV1ServiceReference -> Bool
$c/= :: ApiextensionsV1ServiceReference
-> ApiextensionsV1ServiceReference -> Bool
== :: ApiextensionsV1ServiceReference
-> ApiextensionsV1ServiceReference -> Bool
$c== :: ApiextensionsV1ServiceReference
-> ApiextensionsV1ServiceReference -> Bool
P.Eq, P.Typeable)

-- | FromJSON ApiextensionsV1ServiceReference
instance A.FromJSON ApiextensionsV1ServiceReference where
  parseJSON :: Value -> Parser ApiextensionsV1ServiceReference
parseJSON = String
-> (Object -> Parser ApiextensionsV1ServiceReference)
-> Value
-> Parser ApiextensionsV1ServiceReference
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ApiextensionsV1ServiceReference" ((Object -> Parser ApiextensionsV1ServiceReference)
 -> Value -> Parser ApiextensionsV1ServiceReference)
-> (Object -> Parser ApiextensionsV1ServiceReference)
-> Value
-> Parser ApiextensionsV1ServiceReference
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text
-> Text
-> Maybe Text
-> Maybe Int
-> ApiextensionsV1ServiceReference
ApiextensionsV1ServiceReference
      (Text
 -> Text
 -> Maybe Text
 -> Maybe Int
 -> ApiextensionsV1ServiceReference)
-> Parser Text
-> Parser
     (Text
      -> Maybe Text -> Maybe Int -> ApiextensionsV1ServiceReference)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")
      Parser
  (Text
   -> Maybe Text -> Maybe Int -> ApiextensionsV1ServiceReference)
-> Parser Text
-> Parser
     (Maybe Text -> Maybe Int -> ApiextensionsV1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"namespace")
      Parser (Maybe Text -> Maybe Int -> ApiextensionsV1ServiceReference)
-> Parser (Maybe Text)
-> Parser (Maybe Int -> ApiextensionsV1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"path")
      Parser (Maybe Int -> ApiextensionsV1ServiceReference)
-> Parser (Maybe Int) -> Parser ApiextensionsV1ServiceReference
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"port")

-- | ToJSON ApiextensionsV1ServiceReference
instance A.ToJSON ApiextensionsV1ServiceReference where
  toJSON :: ApiextensionsV1ServiceReference -> Value
toJSON ApiextensionsV1ServiceReference {Maybe Int
Maybe Text
Text
apiextensionsV1ServiceReferencePort :: Maybe Int
apiextensionsV1ServiceReferencePath :: Maybe Text
apiextensionsV1ServiceReferenceNamespace :: Text
apiextensionsV1ServiceReferenceName :: Text
apiextensionsV1ServiceReferencePort :: ApiextensionsV1ServiceReference -> Maybe Int
apiextensionsV1ServiceReferencePath :: ApiextensionsV1ServiceReference -> Maybe Text
apiextensionsV1ServiceReferenceNamespace :: ApiextensionsV1ServiceReference -> Text
apiextensionsV1ServiceReferenceName :: ApiextensionsV1ServiceReference -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
apiextensionsV1ServiceReferenceName
      , Text
"namespace" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
apiextensionsV1ServiceReferenceNamespace
      , Text
"path" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiextensionsV1ServiceReferencePath
      , Text
"port" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
apiextensionsV1ServiceReferencePort
      ]


-- | Construct a value of type 'ApiextensionsV1ServiceReference' (by applying it's required fields, if any)
mkApiextensionsV1ServiceReference
  :: Text -- ^ 'apiextensionsV1ServiceReferenceName': name is the name of the service. Required
  -> Text -- ^ 'apiextensionsV1ServiceReferenceNamespace': namespace is the namespace of the service. Required
  -> ApiextensionsV1ServiceReference
mkApiextensionsV1ServiceReference :: Text -> Text -> ApiextensionsV1ServiceReference
mkApiextensionsV1ServiceReference Text
apiextensionsV1ServiceReferenceName Text
apiextensionsV1ServiceReferenceNamespace =
  ApiextensionsV1ServiceReference :: Text
-> Text
-> Maybe Text
-> Maybe Int
-> ApiextensionsV1ServiceReference
ApiextensionsV1ServiceReference
  { Text
apiextensionsV1ServiceReferenceName :: Text
apiextensionsV1ServiceReferenceName :: Text
apiextensionsV1ServiceReferenceName
  , Text
apiextensionsV1ServiceReferenceNamespace :: Text
apiextensionsV1ServiceReferenceNamespace :: Text
apiextensionsV1ServiceReferenceNamespace
  , apiextensionsV1ServiceReferencePath :: Maybe Text
apiextensionsV1ServiceReferencePath = Maybe Text
forall a. Maybe a
Nothing
  , apiextensionsV1ServiceReferencePort :: Maybe Int
apiextensionsV1ServiceReferencePort = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** ApiextensionsV1WebhookClientConfig
-- | ApiextensionsV1WebhookClientConfig
-- WebhookClientConfig contains the information to make a TLS connection with the webhook.
data ApiextensionsV1WebhookClientConfig = ApiextensionsV1WebhookClientConfig
  { ApiextensionsV1WebhookClientConfig -> Maybe ByteArray
apiextensionsV1WebhookClientConfigCaBundle :: !(Maybe ByteArray) -- ^ "caBundle" - caBundle is a PEM encoded CA bundle which will be used to validate the webhook&#39;s server certificate. If unspecified, system trust roots on the apiserver are used.
  , ApiextensionsV1WebhookClientConfig
-> Maybe ApiextensionsV1ServiceReference
apiextensionsV1WebhookClientConfigService :: !(Maybe ApiextensionsV1ServiceReference) -- ^ "service"
  , ApiextensionsV1WebhookClientConfig -> Maybe Text
apiextensionsV1WebhookClientConfigUrl :: !(Maybe Text) -- ^ "url" - url gives the location of the webhook, in standard URL form (&#x60;scheme://host:port/path&#x60;). Exactly one of &#x60;url&#x60; or &#x60;service&#x60; must be specified.  The &#x60;host&#x60; should not refer to a service running in the cluster; use the &#x60;service&#x60; field instead. The host might be resolved via external DNS in some apiservers (e.g., &#x60;kube-apiserver&#x60; cannot resolve in-cluster DNS as that would be a layering violation). &#x60;host&#x60; may also be an IP address.  Please note that using &#x60;localhost&#x60; or &#x60;127.0.0.1&#x60; as a &#x60;host&#x60; is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.  The scheme must be \&quot;https\&quot;; the URL must begin with \&quot;https://\&quot;.  A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.  Attempting to use a user or basic auth e.g. \&quot;user:password@\&quot; is not allowed. Fragments (\&quot;#...\&quot;) and query parameters (\&quot;?...\&quot;) are not allowed, either.
  } deriving (Int -> ApiextensionsV1WebhookClientConfig -> ShowS
[ApiextensionsV1WebhookClientConfig] -> ShowS
ApiextensionsV1WebhookClientConfig -> String
(Int -> ApiextensionsV1WebhookClientConfig -> ShowS)
-> (ApiextensionsV1WebhookClientConfig -> String)
-> ([ApiextensionsV1WebhookClientConfig] -> ShowS)
-> Show ApiextensionsV1WebhookClientConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiextensionsV1WebhookClientConfig] -> ShowS
$cshowList :: [ApiextensionsV1WebhookClientConfig] -> ShowS
show :: ApiextensionsV1WebhookClientConfig -> String
$cshow :: ApiextensionsV1WebhookClientConfig -> String
showsPrec :: Int -> ApiextensionsV1WebhookClientConfig -> ShowS
$cshowsPrec :: Int -> ApiextensionsV1WebhookClientConfig -> ShowS
P.Show, ApiextensionsV1WebhookClientConfig
-> ApiextensionsV1WebhookClientConfig -> Bool
(ApiextensionsV1WebhookClientConfig
 -> ApiextensionsV1WebhookClientConfig -> Bool)
-> (ApiextensionsV1WebhookClientConfig
    -> ApiextensionsV1WebhookClientConfig -> Bool)
-> Eq ApiextensionsV1WebhookClientConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiextensionsV1WebhookClientConfig
-> ApiextensionsV1WebhookClientConfig -> Bool
$c/= :: ApiextensionsV1WebhookClientConfig
-> ApiextensionsV1WebhookClientConfig -> Bool
== :: ApiextensionsV1WebhookClientConfig
-> ApiextensionsV1WebhookClientConfig -> Bool
$c== :: ApiextensionsV1WebhookClientConfig
-> ApiextensionsV1WebhookClientConfig -> Bool
P.Eq, P.Typeable)

-- | FromJSON ApiextensionsV1WebhookClientConfig
instance A.FromJSON ApiextensionsV1WebhookClientConfig where
  parseJSON :: Value -> Parser ApiextensionsV1WebhookClientConfig
parseJSON = String
-> (Object -> Parser ApiextensionsV1WebhookClientConfig)
-> Value
-> Parser ApiextensionsV1WebhookClientConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ApiextensionsV1WebhookClientConfig" ((Object -> Parser ApiextensionsV1WebhookClientConfig)
 -> Value -> Parser ApiextensionsV1WebhookClientConfig)
-> (Object -> Parser ApiextensionsV1WebhookClientConfig)
-> Value
-> Parser ApiextensionsV1WebhookClientConfig
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe ByteArray
-> Maybe ApiextensionsV1ServiceReference
-> Maybe Text
-> ApiextensionsV1WebhookClientConfig
ApiextensionsV1WebhookClientConfig
      (Maybe ByteArray
 -> Maybe ApiextensionsV1ServiceReference
 -> Maybe Text
 -> ApiextensionsV1WebhookClientConfig)
-> Parser (Maybe ByteArray)
-> Parser
     (Maybe ApiextensionsV1ServiceReference
      -> Maybe Text -> ApiextensionsV1WebhookClientConfig)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe ByteArray)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"caBundle")
      Parser
  (Maybe ApiextensionsV1ServiceReference
   -> Maybe Text -> ApiextensionsV1WebhookClientConfig)
-> Parser (Maybe ApiextensionsV1ServiceReference)
-> Parser (Maybe Text -> ApiextensionsV1WebhookClientConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe ApiextensionsV1ServiceReference)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"service")
      Parser (Maybe Text -> ApiextensionsV1WebhookClientConfig)
-> Parser (Maybe Text) -> Parser ApiextensionsV1WebhookClientConfig
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"url")

-- | ToJSON ApiextensionsV1WebhookClientConfig
instance A.ToJSON ApiextensionsV1WebhookClientConfig where
  toJSON :: ApiextensionsV1WebhookClientConfig -> Value
toJSON ApiextensionsV1WebhookClientConfig {Maybe Text
Maybe ByteArray
Maybe ApiextensionsV1ServiceReference
apiextensionsV1WebhookClientConfigUrl :: Maybe Text
apiextensionsV1WebhookClientConfigService :: Maybe ApiextensionsV1ServiceReference
apiextensionsV1WebhookClientConfigCaBundle :: Maybe ByteArray
apiextensionsV1WebhookClientConfigUrl :: ApiextensionsV1WebhookClientConfig -> Maybe Text
apiextensionsV1WebhookClientConfigService :: ApiextensionsV1WebhookClientConfig
-> Maybe ApiextensionsV1ServiceReference
apiextensionsV1WebhookClientConfigCaBundle :: ApiextensionsV1WebhookClientConfig -> Maybe ByteArray
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"caBundle" Text -> Maybe ByteArray -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ByteArray
apiextensionsV1WebhookClientConfigCaBundle
      , Text
"service" Text -> Maybe ApiextensionsV1ServiceReference -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ApiextensionsV1ServiceReference
apiextensionsV1WebhookClientConfigService
      , Text
"url" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiextensionsV1WebhookClientConfigUrl
      ]


-- | Construct a value of type 'ApiextensionsV1WebhookClientConfig' (by applying it's required fields, if any)
mkApiextensionsV1WebhookClientConfig
  :: ApiextensionsV1WebhookClientConfig
mkApiextensionsV1WebhookClientConfig :: ApiextensionsV1WebhookClientConfig
mkApiextensionsV1WebhookClientConfig =
  ApiextensionsV1WebhookClientConfig :: Maybe ByteArray
-> Maybe ApiextensionsV1ServiceReference
-> Maybe Text
-> ApiextensionsV1WebhookClientConfig
ApiextensionsV1WebhookClientConfig
  { apiextensionsV1WebhookClientConfigCaBundle :: Maybe ByteArray
apiextensionsV1WebhookClientConfigCaBundle = Maybe ByteArray
forall a. Maybe a
Nothing
  , apiextensionsV1WebhookClientConfigService :: Maybe ApiextensionsV1ServiceReference
apiextensionsV1WebhookClientConfigService = Maybe ApiextensionsV1ServiceReference
forall a. Maybe a
Nothing
  , apiextensionsV1WebhookClientConfigUrl :: Maybe Text
apiextensionsV1WebhookClientConfigUrl = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ApiextensionsV1beta1ServiceReference
-- | ApiextensionsV1beta1ServiceReference
-- ServiceReference holds a reference to Service.legacy.k8s.io
data ApiextensionsV1beta1ServiceReference = ApiextensionsV1beta1ServiceReference
  { ApiextensionsV1beta1ServiceReference -> Text
apiextensionsV1beta1ServiceReferenceName :: !(Text) -- ^ /Required/ "name" - name is the name of the service. Required
  , ApiextensionsV1beta1ServiceReference -> Text
apiextensionsV1beta1ServiceReferenceNamespace :: !(Text) -- ^ /Required/ "namespace" - namespace is the namespace of the service. Required
  , ApiextensionsV1beta1ServiceReference -> Maybe Text
apiextensionsV1beta1ServiceReferencePath :: !(Maybe Text) -- ^ "path" - path is an optional URL path at which the webhook will be contacted.
  , ApiextensionsV1beta1ServiceReference -> Maybe Int
apiextensionsV1beta1ServiceReferencePort :: !(Maybe Int) -- ^ "port" - port is an optional service port at which the webhook will be contacted. &#x60;port&#x60; should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.
  } deriving (Int -> ApiextensionsV1beta1ServiceReference -> ShowS
[ApiextensionsV1beta1ServiceReference] -> ShowS
ApiextensionsV1beta1ServiceReference -> String
(Int -> ApiextensionsV1beta1ServiceReference -> ShowS)
-> (ApiextensionsV1beta1ServiceReference -> String)
-> ([ApiextensionsV1beta1ServiceReference] -> ShowS)
-> Show ApiextensionsV1beta1ServiceReference
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiextensionsV1beta1ServiceReference] -> ShowS
$cshowList :: [ApiextensionsV1beta1ServiceReference] -> ShowS
show :: ApiextensionsV1beta1ServiceReference -> String
$cshow :: ApiextensionsV1beta1ServiceReference -> String
showsPrec :: Int -> ApiextensionsV1beta1ServiceReference -> ShowS
$cshowsPrec :: Int -> ApiextensionsV1beta1ServiceReference -> ShowS
P.Show, ApiextensionsV1beta1ServiceReference
-> ApiextensionsV1beta1ServiceReference -> Bool
(ApiextensionsV1beta1ServiceReference
 -> ApiextensionsV1beta1ServiceReference -> Bool)
-> (ApiextensionsV1beta1ServiceReference
    -> ApiextensionsV1beta1ServiceReference -> Bool)
-> Eq ApiextensionsV1beta1ServiceReference
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiextensionsV1beta1ServiceReference
-> ApiextensionsV1beta1ServiceReference -> Bool
$c/= :: ApiextensionsV1beta1ServiceReference
-> ApiextensionsV1beta1ServiceReference -> Bool
== :: ApiextensionsV1beta1ServiceReference
-> ApiextensionsV1beta1ServiceReference -> Bool
$c== :: ApiextensionsV1beta1ServiceReference
-> ApiextensionsV1beta1ServiceReference -> Bool
P.Eq, P.Typeable)

-- | FromJSON ApiextensionsV1beta1ServiceReference
instance A.FromJSON ApiextensionsV1beta1ServiceReference where
  parseJSON :: Value -> Parser ApiextensionsV1beta1ServiceReference
parseJSON = String
-> (Object -> Parser ApiextensionsV1beta1ServiceReference)
-> Value
-> Parser ApiextensionsV1beta1ServiceReference
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ApiextensionsV1beta1ServiceReference" ((Object -> Parser ApiextensionsV1beta1ServiceReference)
 -> Value -> Parser ApiextensionsV1beta1ServiceReference)
-> (Object -> Parser ApiextensionsV1beta1ServiceReference)
-> Value
-> Parser ApiextensionsV1beta1ServiceReference
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text
-> Text
-> Maybe Text
-> Maybe Int
-> ApiextensionsV1beta1ServiceReference
ApiextensionsV1beta1ServiceReference
      (Text
 -> Text
 -> Maybe Text
 -> Maybe Int
 -> ApiextensionsV1beta1ServiceReference)
-> Parser Text
-> Parser
     (Text
      -> Maybe Text -> Maybe Int -> ApiextensionsV1beta1ServiceReference)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")
      Parser
  (Text
   -> Maybe Text -> Maybe Int -> ApiextensionsV1beta1ServiceReference)
-> Parser Text
-> Parser
     (Maybe Text -> Maybe Int -> ApiextensionsV1beta1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"namespace")
      Parser
  (Maybe Text -> Maybe Int -> ApiextensionsV1beta1ServiceReference)
-> Parser (Maybe Text)
-> Parser (Maybe Int -> ApiextensionsV1beta1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"path")
      Parser (Maybe Int -> ApiextensionsV1beta1ServiceReference)
-> Parser (Maybe Int)
-> Parser ApiextensionsV1beta1ServiceReference
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"port")

-- | ToJSON ApiextensionsV1beta1ServiceReference
instance A.ToJSON ApiextensionsV1beta1ServiceReference where
  toJSON :: ApiextensionsV1beta1ServiceReference -> Value
toJSON ApiextensionsV1beta1ServiceReference {Maybe Int
Maybe Text
Text
apiextensionsV1beta1ServiceReferencePort :: Maybe Int
apiextensionsV1beta1ServiceReferencePath :: Maybe Text
apiextensionsV1beta1ServiceReferenceNamespace :: Text
apiextensionsV1beta1ServiceReferenceName :: Text
apiextensionsV1beta1ServiceReferencePort :: ApiextensionsV1beta1ServiceReference -> Maybe Int
apiextensionsV1beta1ServiceReferencePath :: ApiextensionsV1beta1ServiceReference -> Maybe Text
apiextensionsV1beta1ServiceReferenceNamespace :: ApiextensionsV1beta1ServiceReference -> Text
apiextensionsV1beta1ServiceReferenceName :: ApiextensionsV1beta1ServiceReference -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
apiextensionsV1beta1ServiceReferenceName
      , Text
"namespace" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
apiextensionsV1beta1ServiceReferenceNamespace
      , Text
"path" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiextensionsV1beta1ServiceReferencePath
      , Text
"port" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
apiextensionsV1beta1ServiceReferencePort
      ]


-- | Construct a value of type 'ApiextensionsV1beta1ServiceReference' (by applying it's required fields, if any)
mkApiextensionsV1beta1ServiceReference
  :: Text -- ^ 'apiextensionsV1beta1ServiceReferenceName': name is the name of the service. Required
  -> Text -- ^ 'apiextensionsV1beta1ServiceReferenceNamespace': namespace is the namespace of the service. Required
  -> ApiextensionsV1beta1ServiceReference
mkApiextensionsV1beta1ServiceReference :: Text -> Text -> ApiextensionsV1beta1ServiceReference
mkApiextensionsV1beta1ServiceReference Text
apiextensionsV1beta1ServiceReferenceName Text
apiextensionsV1beta1ServiceReferenceNamespace =
  ApiextensionsV1beta1ServiceReference :: Text
-> Text
-> Maybe Text
-> Maybe Int
-> ApiextensionsV1beta1ServiceReference
ApiextensionsV1beta1ServiceReference
  { Text
apiextensionsV1beta1ServiceReferenceName :: Text
apiextensionsV1beta1ServiceReferenceName :: Text
apiextensionsV1beta1ServiceReferenceName
  , Text
apiextensionsV1beta1ServiceReferenceNamespace :: Text
apiextensionsV1beta1ServiceReferenceNamespace :: Text
apiextensionsV1beta1ServiceReferenceNamespace
  , apiextensionsV1beta1ServiceReferencePath :: Maybe Text
apiextensionsV1beta1ServiceReferencePath = Maybe Text
forall a. Maybe a
Nothing
  , apiextensionsV1beta1ServiceReferencePort :: Maybe Int
apiextensionsV1beta1ServiceReferencePort = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** ApiextensionsV1beta1WebhookClientConfig
-- | ApiextensionsV1beta1WebhookClientConfig
-- WebhookClientConfig contains the information to make a TLS connection with the webhook.
data ApiextensionsV1beta1WebhookClientConfig = ApiextensionsV1beta1WebhookClientConfig
  { ApiextensionsV1beta1WebhookClientConfig -> Maybe ByteArray
apiextensionsV1beta1WebhookClientConfigCaBundle :: !(Maybe ByteArray) -- ^ "caBundle" - caBundle is a PEM encoded CA bundle which will be used to validate the webhook&#39;s server certificate. If unspecified, system trust roots on the apiserver are used.
  , ApiextensionsV1beta1WebhookClientConfig
-> Maybe ApiextensionsV1beta1ServiceReference
apiextensionsV1beta1WebhookClientConfigService :: !(Maybe ApiextensionsV1beta1ServiceReference) -- ^ "service"
  , ApiextensionsV1beta1WebhookClientConfig -> Maybe Text
apiextensionsV1beta1WebhookClientConfigUrl :: !(Maybe Text) -- ^ "url" - url gives the location of the webhook, in standard URL form (&#x60;scheme://host:port/path&#x60;). Exactly one of &#x60;url&#x60; or &#x60;service&#x60; must be specified.  The &#x60;host&#x60; should not refer to a service running in the cluster; use the &#x60;service&#x60; field instead. The host might be resolved via external DNS in some apiservers (e.g., &#x60;kube-apiserver&#x60; cannot resolve in-cluster DNS as that would be a layering violation). &#x60;host&#x60; may also be an IP address.  Please note that using &#x60;localhost&#x60; or &#x60;127.0.0.1&#x60; as a &#x60;host&#x60; is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.  The scheme must be \&quot;https\&quot;; the URL must begin with \&quot;https://\&quot;.  A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.  Attempting to use a user or basic auth e.g. \&quot;user:password@\&quot; is not allowed. Fragments (\&quot;#...\&quot;) and query parameters (\&quot;?...\&quot;) are not allowed, either.
  } deriving (Int -> ApiextensionsV1beta1WebhookClientConfig -> ShowS
[ApiextensionsV1beta1WebhookClientConfig] -> ShowS
ApiextensionsV1beta1WebhookClientConfig -> String
(Int -> ApiextensionsV1beta1WebhookClientConfig -> ShowS)
-> (ApiextensionsV1beta1WebhookClientConfig -> String)
-> ([ApiextensionsV1beta1WebhookClientConfig] -> ShowS)
-> Show ApiextensionsV1beta1WebhookClientConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiextensionsV1beta1WebhookClientConfig] -> ShowS
$cshowList :: [ApiextensionsV1beta1WebhookClientConfig] -> ShowS
show :: ApiextensionsV1beta1WebhookClientConfig -> String
$cshow :: ApiextensionsV1beta1WebhookClientConfig -> String
showsPrec :: Int -> ApiextensionsV1beta1WebhookClientConfig -> ShowS
$cshowsPrec :: Int -> ApiextensionsV1beta1WebhookClientConfig -> ShowS
P.Show, ApiextensionsV1beta1WebhookClientConfig
-> ApiextensionsV1beta1WebhookClientConfig -> Bool
(ApiextensionsV1beta1WebhookClientConfig
 -> ApiextensionsV1beta1WebhookClientConfig -> Bool)
-> (ApiextensionsV1beta1WebhookClientConfig
    -> ApiextensionsV1beta1WebhookClientConfig -> Bool)
-> Eq ApiextensionsV1beta1WebhookClientConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiextensionsV1beta1WebhookClientConfig
-> ApiextensionsV1beta1WebhookClientConfig -> Bool
$c/= :: ApiextensionsV1beta1WebhookClientConfig
-> ApiextensionsV1beta1WebhookClientConfig -> Bool
== :: ApiextensionsV1beta1WebhookClientConfig
-> ApiextensionsV1beta1WebhookClientConfig -> Bool
$c== :: ApiextensionsV1beta1WebhookClientConfig
-> ApiextensionsV1beta1WebhookClientConfig -> Bool
P.Eq, P.Typeable)

-- | FromJSON ApiextensionsV1beta1WebhookClientConfig
instance A.FromJSON ApiextensionsV1beta1WebhookClientConfig where
  parseJSON :: Value -> Parser ApiextensionsV1beta1WebhookClientConfig
parseJSON = String
-> (Object -> Parser ApiextensionsV1beta1WebhookClientConfig)
-> Value
-> Parser ApiextensionsV1beta1WebhookClientConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ApiextensionsV1beta1WebhookClientConfig" ((Object -> Parser ApiextensionsV1beta1WebhookClientConfig)
 -> Value -> Parser ApiextensionsV1beta1WebhookClientConfig)
-> (Object -> Parser ApiextensionsV1beta1WebhookClientConfig)
-> Value
-> Parser ApiextensionsV1beta1WebhookClientConfig
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe ByteArray
-> Maybe ApiextensionsV1beta1ServiceReference
-> Maybe Text
-> ApiextensionsV1beta1WebhookClientConfig
ApiextensionsV1beta1WebhookClientConfig
      (Maybe ByteArray
 -> Maybe ApiextensionsV1beta1ServiceReference
 -> Maybe Text
 -> ApiextensionsV1beta1WebhookClientConfig)
-> Parser (Maybe ByteArray)
-> Parser
     (Maybe ApiextensionsV1beta1ServiceReference
      -> Maybe Text -> ApiextensionsV1beta1WebhookClientConfig)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe ByteArray)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"caBundle")
      Parser
  (Maybe ApiextensionsV1beta1ServiceReference
   -> Maybe Text -> ApiextensionsV1beta1WebhookClientConfig)
-> Parser (Maybe ApiextensionsV1beta1ServiceReference)
-> Parser (Maybe Text -> ApiextensionsV1beta1WebhookClientConfig)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object
-> Text -> Parser (Maybe ApiextensionsV1beta1ServiceReference)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"service")
      Parser (Maybe Text -> ApiextensionsV1beta1WebhookClientConfig)
-> Parser (Maybe Text)
-> Parser ApiextensionsV1beta1WebhookClientConfig
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"url")

-- | ToJSON ApiextensionsV1beta1WebhookClientConfig
instance A.ToJSON ApiextensionsV1beta1WebhookClientConfig where
  toJSON :: ApiextensionsV1beta1WebhookClientConfig -> Value
toJSON ApiextensionsV1beta1WebhookClientConfig {Maybe Text
Maybe ByteArray
Maybe ApiextensionsV1beta1ServiceReference
apiextensionsV1beta1WebhookClientConfigUrl :: Maybe Text
apiextensionsV1beta1WebhookClientConfigService :: Maybe ApiextensionsV1beta1ServiceReference
apiextensionsV1beta1WebhookClientConfigCaBundle :: Maybe ByteArray
apiextensionsV1beta1WebhookClientConfigUrl :: ApiextensionsV1beta1WebhookClientConfig -> Maybe Text
apiextensionsV1beta1WebhookClientConfigService :: ApiextensionsV1beta1WebhookClientConfig
-> Maybe ApiextensionsV1beta1ServiceReference
apiextensionsV1beta1WebhookClientConfigCaBundle :: ApiextensionsV1beta1WebhookClientConfig -> Maybe ByteArray
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"caBundle" Text -> Maybe ByteArray -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ByteArray
apiextensionsV1beta1WebhookClientConfigCaBundle
      , Text
"service" Text -> Maybe ApiextensionsV1beta1ServiceReference -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ApiextensionsV1beta1ServiceReference
apiextensionsV1beta1WebhookClientConfigService
      , Text
"url" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiextensionsV1beta1WebhookClientConfigUrl
      ]


-- | Construct a value of type 'ApiextensionsV1beta1WebhookClientConfig' (by applying it's required fields, if any)
mkApiextensionsV1beta1WebhookClientConfig
  :: ApiextensionsV1beta1WebhookClientConfig
mkApiextensionsV1beta1WebhookClientConfig :: ApiextensionsV1beta1WebhookClientConfig
mkApiextensionsV1beta1WebhookClientConfig =
  ApiextensionsV1beta1WebhookClientConfig :: Maybe ByteArray
-> Maybe ApiextensionsV1beta1ServiceReference
-> Maybe Text
-> ApiextensionsV1beta1WebhookClientConfig
ApiextensionsV1beta1WebhookClientConfig
  { apiextensionsV1beta1WebhookClientConfigCaBundle :: Maybe ByteArray
apiextensionsV1beta1WebhookClientConfigCaBundle = Maybe ByteArray
forall a. Maybe a
Nothing
  , apiextensionsV1beta1WebhookClientConfigService :: Maybe ApiextensionsV1beta1ServiceReference
apiextensionsV1beta1WebhookClientConfigService = Maybe ApiextensionsV1beta1ServiceReference
forall a. Maybe a
Nothing
  , apiextensionsV1beta1WebhookClientConfigUrl :: Maybe Text
apiextensionsV1beta1WebhookClientConfigUrl = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ApiregistrationV1ServiceReference
-- | ApiregistrationV1ServiceReference
-- ServiceReference holds a reference to Service.legacy.k8s.io
data ApiregistrationV1ServiceReference = ApiregistrationV1ServiceReference
  { ApiregistrationV1ServiceReference -> Maybe Text
apiregistrationV1ServiceReferenceName :: !(Maybe Text) -- ^ "name" - Name is the name of the service
  , ApiregistrationV1ServiceReference -> Maybe Text
apiregistrationV1ServiceReferenceNamespace :: !(Maybe Text) -- ^ "namespace" - Namespace is the namespace of the service
  , ApiregistrationV1ServiceReference -> Maybe Int
apiregistrationV1ServiceReferencePort :: !(Maybe Int) -- ^ "port" - If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. &#x60;port&#x60; should be a valid port number (1-65535, inclusive).
  } deriving (Int -> ApiregistrationV1ServiceReference -> ShowS
[ApiregistrationV1ServiceReference] -> ShowS
ApiregistrationV1ServiceReference -> String
(Int -> ApiregistrationV1ServiceReference -> ShowS)
-> (ApiregistrationV1ServiceReference -> String)
-> ([ApiregistrationV1ServiceReference] -> ShowS)
-> Show ApiregistrationV1ServiceReference
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiregistrationV1ServiceReference] -> ShowS
$cshowList :: [ApiregistrationV1ServiceReference] -> ShowS
show :: ApiregistrationV1ServiceReference -> String
$cshow :: ApiregistrationV1ServiceReference -> String
showsPrec :: Int -> ApiregistrationV1ServiceReference -> ShowS
$cshowsPrec :: Int -> ApiregistrationV1ServiceReference -> ShowS
P.Show, ApiregistrationV1ServiceReference
-> ApiregistrationV1ServiceReference -> Bool
(ApiregistrationV1ServiceReference
 -> ApiregistrationV1ServiceReference -> Bool)
-> (ApiregistrationV1ServiceReference
    -> ApiregistrationV1ServiceReference -> Bool)
-> Eq ApiregistrationV1ServiceReference
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiregistrationV1ServiceReference
-> ApiregistrationV1ServiceReference -> Bool
$c/= :: ApiregistrationV1ServiceReference
-> ApiregistrationV1ServiceReference -> Bool
== :: ApiregistrationV1ServiceReference
-> ApiregistrationV1ServiceReference -> Bool
$c== :: ApiregistrationV1ServiceReference
-> ApiregistrationV1ServiceReference -> Bool
P.Eq, P.Typeable)

-- | FromJSON ApiregistrationV1ServiceReference
instance A.FromJSON ApiregistrationV1ServiceReference where
  parseJSON :: Value -> Parser ApiregistrationV1ServiceReference
parseJSON = String
-> (Object -> Parser ApiregistrationV1ServiceReference)
-> Value
-> Parser ApiregistrationV1ServiceReference
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ApiregistrationV1ServiceReference" ((Object -> Parser ApiregistrationV1ServiceReference)
 -> Value -> Parser ApiregistrationV1ServiceReference)
-> (Object -> Parser ApiregistrationV1ServiceReference)
-> Value
-> Parser ApiregistrationV1ServiceReference
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text -> Maybe Int -> ApiregistrationV1ServiceReference
ApiregistrationV1ServiceReference
      (Maybe Text
 -> Maybe Text -> Maybe Int -> ApiregistrationV1ServiceReference)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Int -> ApiregistrationV1ServiceReference)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"name")
      Parser
  (Maybe Text -> Maybe Int -> ApiregistrationV1ServiceReference)
-> Parser (Maybe Text)
-> Parser (Maybe Int -> ApiregistrationV1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"namespace")
      Parser (Maybe Int -> ApiregistrationV1ServiceReference)
-> Parser (Maybe Int) -> Parser ApiregistrationV1ServiceReference
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"port")

-- | ToJSON ApiregistrationV1ServiceReference
instance A.ToJSON ApiregistrationV1ServiceReference where
  toJSON :: ApiregistrationV1ServiceReference -> Value
toJSON ApiregistrationV1ServiceReference {Maybe Int
Maybe Text
apiregistrationV1ServiceReferencePort :: Maybe Int
apiregistrationV1ServiceReferenceNamespace :: Maybe Text
apiregistrationV1ServiceReferenceName :: Maybe Text
apiregistrationV1ServiceReferencePort :: ApiregistrationV1ServiceReference -> Maybe Int
apiregistrationV1ServiceReferenceNamespace :: ApiregistrationV1ServiceReference -> Maybe Text
apiregistrationV1ServiceReferenceName :: ApiregistrationV1ServiceReference -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiregistrationV1ServiceReferenceName
      , Text
"namespace" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiregistrationV1ServiceReferenceNamespace
      , Text
"port" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
apiregistrationV1ServiceReferencePort
      ]


-- | Construct a value of type 'ApiregistrationV1ServiceReference' (by applying it's required fields, if any)
mkApiregistrationV1ServiceReference
  :: ApiregistrationV1ServiceReference
mkApiregistrationV1ServiceReference :: ApiregistrationV1ServiceReference
mkApiregistrationV1ServiceReference =
  ApiregistrationV1ServiceReference :: Maybe Text
-> Maybe Text -> Maybe Int -> ApiregistrationV1ServiceReference
ApiregistrationV1ServiceReference
  { apiregistrationV1ServiceReferenceName :: Maybe Text
apiregistrationV1ServiceReferenceName = Maybe Text
forall a. Maybe a
Nothing
  , apiregistrationV1ServiceReferenceNamespace :: Maybe Text
apiregistrationV1ServiceReferenceNamespace = Maybe Text
forall a. Maybe a
Nothing
  , apiregistrationV1ServiceReferencePort :: Maybe Int
apiregistrationV1ServiceReferencePort = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** ApiregistrationV1beta1ServiceReference
-- | ApiregistrationV1beta1ServiceReference
-- ServiceReference holds a reference to Service.legacy.k8s.io
data ApiregistrationV1beta1ServiceReference = ApiregistrationV1beta1ServiceReference
  { ApiregistrationV1beta1ServiceReference -> Maybe Text
apiregistrationV1beta1ServiceReferenceName :: !(Maybe Text) -- ^ "name" - Name is the name of the service
  , ApiregistrationV1beta1ServiceReference -> Maybe Text
apiregistrationV1beta1ServiceReferenceNamespace :: !(Maybe Text) -- ^ "namespace" - Namespace is the namespace of the service
  , ApiregistrationV1beta1ServiceReference -> Maybe Int
apiregistrationV1beta1ServiceReferencePort :: !(Maybe Int) -- ^ "port" - If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. &#x60;port&#x60; should be a valid port number (1-65535, inclusive).
  } deriving (Int -> ApiregistrationV1beta1ServiceReference -> ShowS
[ApiregistrationV1beta1ServiceReference] -> ShowS
ApiregistrationV1beta1ServiceReference -> String
(Int -> ApiregistrationV1beta1ServiceReference -> ShowS)
-> (ApiregistrationV1beta1ServiceReference -> String)
-> ([ApiregistrationV1beta1ServiceReference] -> ShowS)
-> Show ApiregistrationV1beta1ServiceReference
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiregistrationV1beta1ServiceReference] -> ShowS
$cshowList :: [ApiregistrationV1beta1ServiceReference] -> ShowS
show :: ApiregistrationV1beta1ServiceReference -> String
$cshow :: ApiregistrationV1beta1ServiceReference -> String
showsPrec :: Int -> ApiregistrationV1beta1ServiceReference -> ShowS
$cshowsPrec :: Int -> ApiregistrationV1beta1ServiceReference -> ShowS
P.Show, ApiregistrationV1beta1ServiceReference
-> ApiregistrationV1beta1ServiceReference -> Bool
(ApiregistrationV1beta1ServiceReference
 -> ApiregistrationV1beta1ServiceReference -> Bool)
-> (ApiregistrationV1beta1ServiceReference
    -> ApiregistrationV1beta1ServiceReference -> Bool)
-> Eq ApiregistrationV1beta1ServiceReference
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiregistrationV1beta1ServiceReference
-> ApiregistrationV1beta1ServiceReference -> Bool
$c/= :: ApiregistrationV1beta1ServiceReference
-> ApiregistrationV1beta1ServiceReference -> Bool
== :: ApiregistrationV1beta1ServiceReference
-> ApiregistrationV1beta1ServiceReference -> Bool
$c== :: ApiregistrationV1beta1ServiceReference
-> ApiregistrationV1beta1ServiceReference -> Bool
P.Eq, P.Typeable)

-- | FromJSON ApiregistrationV1beta1ServiceReference
instance A.FromJSON ApiregistrationV1beta1ServiceReference where
  parseJSON :: Value -> Parser ApiregistrationV1beta1ServiceReference
parseJSON = String
-> (Object -> Parser ApiregistrationV1beta1ServiceReference)
-> Value
-> Parser ApiregistrationV1beta1ServiceReference
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ApiregistrationV1beta1ServiceReference" ((Object -> Parser ApiregistrationV1beta1ServiceReference)
 -> Value -> Parser ApiregistrationV1beta1ServiceReference)
-> (Object -> Parser ApiregistrationV1beta1ServiceReference)
-> Value
-> Parser ApiregistrationV1beta1ServiceReference
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Maybe Int
-> ApiregistrationV1beta1ServiceReference
ApiregistrationV1beta1ServiceReference
      (Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> ApiregistrationV1beta1ServiceReference)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Int -> ApiregistrationV1beta1ServiceReference)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"name")
      Parser
  (Maybe Text -> Maybe Int -> ApiregistrationV1beta1ServiceReference)
-> Parser (Maybe Text)
-> Parser (Maybe Int -> ApiregistrationV1beta1ServiceReference)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"namespace")
      Parser (Maybe Int -> ApiregistrationV1beta1ServiceReference)
-> Parser (Maybe Int)
-> Parser ApiregistrationV1beta1ServiceReference
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"port")

-- | ToJSON ApiregistrationV1beta1ServiceReference
instance A.ToJSON ApiregistrationV1beta1ServiceReference where
  toJSON :: ApiregistrationV1beta1ServiceReference -> Value
toJSON ApiregistrationV1beta1ServiceReference {Maybe Int
Maybe Text
apiregistrationV1beta1ServiceReferencePort :: Maybe Int
apiregistrationV1beta1ServiceReferenceNamespace :: Maybe Text
apiregistrationV1beta1ServiceReferenceName :: Maybe Text
apiregistrationV1beta1ServiceReferencePort :: ApiregistrationV1beta1ServiceReference -> Maybe Int
apiregistrationV1beta1ServiceReferenceNamespace :: ApiregistrationV1beta1ServiceReference -> Maybe Text
apiregistrationV1beta1ServiceReferenceName :: ApiregistrationV1beta1ServiceReference -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiregistrationV1beta1ServiceReferenceName
      , Text
"namespace" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
apiregistrationV1beta1ServiceReferenceNamespace
      , Text
"port" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
apiregistrationV1beta1ServiceReferencePort
      ]


-- | Construct a value of type 'ApiregistrationV1beta1ServiceReference' (by applying it's required fields, if any)
mkApiregistrationV1beta1ServiceReference
  :: ApiregistrationV1beta1ServiceReference
mkApiregistrationV1beta1ServiceReference :: ApiregistrationV1beta1ServiceReference
mkApiregistrationV1beta1ServiceReference =
  ApiregistrationV1beta1ServiceReference :: Maybe Text
-> Maybe Text
-> Maybe Int
-> ApiregistrationV1beta1ServiceReference
ApiregistrationV1beta1ServiceReference
  { apiregistrationV1beta1ServiceReferenceName :: Maybe Text
apiregistrationV1beta1ServiceReferenceName = Maybe Text
forall a. Maybe a
Nothing
  , apiregistrationV1beta1ServiceReferenceNamespace :: Maybe Text
apiregistrationV1beta1ServiceReferenceNamespace = Maybe Text
forall a. Maybe a
Nothing
  , apiregistrationV1beta1ServiceReferencePort :: Maybe Int
apiregistrationV1beta1ServiceReferencePort = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1Deployment
-- | AppsV1beta1Deployment
-- DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for more information. Deployment enables declarative updates for Pods and ReplicaSets.
data AppsV1beta1Deployment = AppsV1beta1Deployment
  { AppsV1beta1Deployment -> Maybe Text
appsV1beta1DeploymentApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , AppsV1beta1Deployment -> Maybe Text
appsV1beta1DeploymentKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , AppsV1beta1Deployment -> Maybe V1ObjectMeta
appsV1beta1DeploymentMetadata :: !(Maybe V1ObjectMeta) -- ^ "metadata"
  , AppsV1beta1Deployment -> Maybe AppsV1beta1DeploymentSpec
appsV1beta1DeploymentSpec :: !(Maybe AppsV1beta1DeploymentSpec) -- ^ "spec"
  , AppsV1beta1Deployment -> Maybe AppsV1beta1DeploymentStatus
appsV1beta1DeploymentStatus :: !(Maybe AppsV1beta1DeploymentStatus) -- ^ "status"
  } deriving (Int -> AppsV1beta1Deployment -> ShowS
[AppsV1beta1Deployment] -> ShowS
AppsV1beta1Deployment -> String
(Int -> AppsV1beta1Deployment -> ShowS)
-> (AppsV1beta1Deployment -> String)
-> ([AppsV1beta1Deployment] -> ShowS)
-> Show AppsV1beta1Deployment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1Deployment] -> ShowS
$cshowList :: [AppsV1beta1Deployment] -> ShowS
show :: AppsV1beta1Deployment -> String
$cshow :: AppsV1beta1Deployment -> String
showsPrec :: Int -> AppsV1beta1Deployment -> ShowS
$cshowsPrec :: Int -> AppsV1beta1Deployment -> ShowS
P.Show, AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool
(AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool)
-> (AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool)
-> Eq AppsV1beta1Deployment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool
$c/= :: AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool
== :: AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool
$c== :: AppsV1beta1Deployment -> AppsV1beta1Deployment -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1Deployment
instance A.FromJSON AppsV1beta1Deployment where
  parseJSON :: Value -> Parser AppsV1beta1Deployment
parseJSON = String
-> (Object -> Parser AppsV1beta1Deployment)
-> Value
-> Parser AppsV1beta1Deployment
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1Deployment" ((Object -> Parser AppsV1beta1Deployment)
 -> Value -> Parser AppsV1beta1Deployment)
-> (Object -> Parser AppsV1beta1Deployment)
-> Value
-> Parser AppsV1beta1Deployment
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe AppsV1beta1DeploymentSpec
-> Maybe AppsV1beta1DeploymentStatus
-> AppsV1beta1Deployment
AppsV1beta1Deployment
      (Maybe Text
 -> Maybe Text
 -> Maybe V1ObjectMeta
 -> Maybe AppsV1beta1DeploymentSpec
 -> Maybe AppsV1beta1DeploymentStatus
 -> AppsV1beta1Deployment)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe V1ObjectMeta
      -> Maybe AppsV1beta1DeploymentSpec
      -> Maybe AppsV1beta1DeploymentStatus
      -> AppsV1beta1Deployment)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  (Maybe Text
   -> Maybe V1ObjectMeta
   -> Maybe AppsV1beta1DeploymentSpec
   -> Maybe AppsV1beta1DeploymentStatus
   -> AppsV1beta1Deployment)
-> Parser (Maybe Text)
-> Parser
     (Maybe V1ObjectMeta
      -> Maybe AppsV1beta1DeploymentSpec
      -> Maybe AppsV1beta1DeploymentStatus
      -> AppsV1beta1Deployment)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser
  (Maybe V1ObjectMeta
   -> Maybe AppsV1beta1DeploymentSpec
   -> Maybe AppsV1beta1DeploymentStatus
   -> AppsV1beta1Deployment)
-> Parser (Maybe V1ObjectMeta)
-> Parser
     (Maybe AppsV1beta1DeploymentSpec
      -> Maybe AppsV1beta1DeploymentStatus -> AppsV1beta1Deployment)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ObjectMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")
      Parser
  (Maybe AppsV1beta1DeploymentSpec
   -> Maybe AppsV1beta1DeploymentStatus -> AppsV1beta1Deployment)
-> Parser (Maybe AppsV1beta1DeploymentSpec)
-> Parser
     (Maybe AppsV1beta1DeploymentStatus -> AppsV1beta1Deployment)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1DeploymentSpec)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"spec")
      Parser (Maybe AppsV1beta1DeploymentStatus -> AppsV1beta1Deployment)
-> Parser (Maybe AppsV1beta1DeploymentStatus)
-> Parser AppsV1beta1Deployment
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1DeploymentStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"status")

-- | ToJSON AppsV1beta1Deployment
instance A.ToJSON AppsV1beta1Deployment where
  toJSON :: AppsV1beta1Deployment -> Value
toJSON AppsV1beta1Deployment {Maybe Text
Maybe V1ObjectMeta
Maybe AppsV1beta1DeploymentStatus
Maybe AppsV1beta1DeploymentSpec
appsV1beta1DeploymentStatus :: Maybe AppsV1beta1DeploymentStatus
appsV1beta1DeploymentSpec :: Maybe AppsV1beta1DeploymentSpec
appsV1beta1DeploymentMetadata :: Maybe V1ObjectMeta
appsV1beta1DeploymentKind :: Maybe Text
appsV1beta1DeploymentApiVersion :: Maybe Text
appsV1beta1DeploymentStatus :: AppsV1beta1Deployment -> Maybe AppsV1beta1DeploymentStatus
appsV1beta1DeploymentSpec :: AppsV1beta1Deployment -> Maybe AppsV1beta1DeploymentSpec
appsV1beta1DeploymentMetadata :: AppsV1beta1Deployment -> Maybe V1ObjectMeta
appsV1beta1DeploymentKind :: AppsV1beta1Deployment -> Maybe Text
appsV1beta1DeploymentApiVersion :: AppsV1beta1Deployment -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentApiVersion
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentKind
      , Text
"metadata" Text -> Maybe V1ObjectMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ObjectMeta
appsV1beta1DeploymentMetadata
      , Text
"spec" Text -> Maybe AppsV1beta1DeploymentSpec -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1DeploymentSpec
appsV1beta1DeploymentSpec
      , Text
"status" Text -> Maybe AppsV1beta1DeploymentStatus -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1DeploymentStatus
appsV1beta1DeploymentStatus
      ]


-- | Construct a value of type 'AppsV1beta1Deployment' (by applying it's required fields, if any)
mkAppsV1beta1Deployment
  :: AppsV1beta1Deployment
mkAppsV1beta1Deployment :: AppsV1beta1Deployment
mkAppsV1beta1Deployment =
  AppsV1beta1Deployment :: Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe AppsV1beta1DeploymentSpec
-> Maybe AppsV1beta1DeploymentStatus
-> AppsV1beta1Deployment
AppsV1beta1Deployment
  { appsV1beta1DeploymentApiVersion :: Maybe Text
appsV1beta1DeploymentApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentKind :: Maybe Text
appsV1beta1DeploymentKind = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentMetadata :: Maybe V1ObjectMeta
appsV1beta1DeploymentMetadata = Maybe V1ObjectMeta
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpec :: Maybe AppsV1beta1DeploymentSpec
appsV1beta1DeploymentSpec = Maybe AppsV1beta1DeploymentSpec
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatus :: Maybe AppsV1beta1DeploymentStatus
appsV1beta1DeploymentStatus = Maybe AppsV1beta1DeploymentStatus
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1DeploymentCondition
-- | AppsV1beta1DeploymentCondition
-- DeploymentCondition describes the state of a deployment at a certain point.
data AppsV1beta1DeploymentCondition = AppsV1beta1DeploymentCondition
  { AppsV1beta1DeploymentCondition -> Maybe DateTime
appsV1beta1DeploymentConditionLastTransitionTime :: !(Maybe DateTime) -- ^ "lastTransitionTime" - Last time the condition transitioned from one status to another.
  , AppsV1beta1DeploymentCondition -> Maybe DateTime
appsV1beta1DeploymentConditionLastUpdateTime :: !(Maybe DateTime) -- ^ "lastUpdateTime" - The last time this condition was updated.
  , AppsV1beta1DeploymentCondition -> Maybe Text
appsV1beta1DeploymentConditionMessage :: !(Maybe Text) -- ^ "message" - A human readable message indicating details about the transition.
  , AppsV1beta1DeploymentCondition -> Maybe Text
appsV1beta1DeploymentConditionReason :: !(Maybe Text) -- ^ "reason" - The reason for the condition&#39;s last transition.
  , AppsV1beta1DeploymentCondition -> Text
appsV1beta1DeploymentConditionStatus :: !(Text) -- ^ /Required/ "status" - Status of the condition, one of True, False, Unknown.
  , AppsV1beta1DeploymentCondition -> Text
appsV1beta1DeploymentConditionType :: !(Text) -- ^ /Required/ "type" - Type of deployment condition.
  } deriving (Int -> AppsV1beta1DeploymentCondition -> ShowS
[AppsV1beta1DeploymentCondition] -> ShowS
AppsV1beta1DeploymentCondition -> String
(Int -> AppsV1beta1DeploymentCondition -> ShowS)
-> (AppsV1beta1DeploymentCondition -> String)
-> ([AppsV1beta1DeploymentCondition] -> ShowS)
-> Show AppsV1beta1DeploymentCondition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1DeploymentCondition] -> ShowS
$cshowList :: [AppsV1beta1DeploymentCondition] -> ShowS
show :: AppsV1beta1DeploymentCondition -> String
$cshow :: AppsV1beta1DeploymentCondition -> String
showsPrec :: Int -> AppsV1beta1DeploymentCondition -> ShowS
$cshowsPrec :: Int -> AppsV1beta1DeploymentCondition -> ShowS
P.Show, AppsV1beta1DeploymentCondition
-> AppsV1beta1DeploymentCondition -> Bool
(AppsV1beta1DeploymentCondition
 -> AppsV1beta1DeploymentCondition -> Bool)
-> (AppsV1beta1DeploymentCondition
    -> AppsV1beta1DeploymentCondition -> Bool)
-> Eq AppsV1beta1DeploymentCondition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1DeploymentCondition
-> AppsV1beta1DeploymentCondition -> Bool
$c/= :: AppsV1beta1DeploymentCondition
-> AppsV1beta1DeploymentCondition -> Bool
== :: AppsV1beta1DeploymentCondition
-> AppsV1beta1DeploymentCondition -> Bool
$c== :: AppsV1beta1DeploymentCondition
-> AppsV1beta1DeploymentCondition -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1DeploymentCondition
instance A.FromJSON AppsV1beta1DeploymentCondition where
  parseJSON :: Value -> Parser AppsV1beta1DeploymentCondition
parseJSON = String
-> (Object -> Parser AppsV1beta1DeploymentCondition)
-> Value
-> Parser AppsV1beta1DeploymentCondition
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1DeploymentCondition" ((Object -> Parser AppsV1beta1DeploymentCondition)
 -> Value -> Parser AppsV1beta1DeploymentCondition)
-> (Object -> Parser AppsV1beta1DeploymentCondition)
-> Value
-> Parser AppsV1beta1DeploymentCondition
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe DateTime
-> Maybe DateTime
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> AppsV1beta1DeploymentCondition
AppsV1beta1DeploymentCondition
      (Maybe DateTime
 -> Maybe DateTime
 -> Maybe Text
 -> Maybe Text
 -> Text
 -> Text
 -> AppsV1beta1DeploymentCondition)
-> Parser (Maybe DateTime)
-> Parser
     (Maybe DateTime
      -> Maybe Text
      -> Maybe Text
      -> Text
      -> Text
      -> AppsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe DateTime)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"lastTransitionTime")
      Parser
  (Maybe DateTime
   -> Maybe Text
   -> Maybe Text
   -> Text
   -> Text
   -> AppsV1beta1DeploymentCondition)
-> Parser (Maybe DateTime)
-> Parser
     (Maybe Text
      -> Maybe Text -> Text -> Text -> AppsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe DateTime)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"lastUpdateTime")
      Parser
  (Maybe Text
   -> Maybe Text -> Text -> Text -> AppsV1beta1DeploymentCondition)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Text -> Text -> AppsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"message")
      Parser
  (Maybe Text -> Text -> Text -> AppsV1beta1DeploymentCondition)
-> Parser (Maybe Text)
-> Parser (Text -> Text -> AppsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"reason")
      Parser (Text -> Text -> AppsV1beta1DeploymentCondition)
-> Parser Text -> Parser (Text -> AppsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"status")
      Parser (Text -> AppsV1beta1DeploymentCondition)
-> Parser Text -> Parser AppsV1beta1DeploymentCondition
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"type")

-- | ToJSON AppsV1beta1DeploymentCondition
instance A.ToJSON AppsV1beta1DeploymentCondition where
  toJSON :: AppsV1beta1DeploymentCondition -> Value
toJSON AppsV1beta1DeploymentCondition {Maybe Text
Maybe DateTime
Text
appsV1beta1DeploymentConditionType :: Text
appsV1beta1DeploymentConditionStatus :: Text
appsV1beta1DeploymentConditionReason :: Maybe Text
appsV1beta1DeploymentConditionMessage :: Maybe Text
appsV1beta1DeploymentConditionLastUpdateTime :: Maybe DateTime
appsV1beta1DeploymentConditionLastTransitionTime :: Maybe DateTime
appsV1beta1DeploymentConditionType :: AppsV1beta1DeploymentCondition -> Text
appsV1beta1DeploymentConditionStatus :: AppsV1beta1DeploymentCondition -> Text
appsV1beta1DeploymentConditionReason :: AppsV1beta1DeploymentCondition -> Maybe Text
appsV1beta1DeploymentConditionMessage :: AppsV1beta1DeploymentCondition -> Maybe Text
appsV1beta1DeploymentConditionLastUpdateTime :: AppsV1beta1DeploymentCondition -> Maybe DateTime
appsV1beta1DeploymentConditionLastTransitionTime :: AppsV1beta1DeploymentCondition -> Maybe DateTime
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"lastTransitionTime" Text -> Maybe DateTime -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe DateTime
appsV1beta1DeploymentConditionLastTransitionTime
      , Text
"lastUpdateTime" Text -> Maybe DateTime -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe DateTime
appsV1beta1DeploymentConditionLastUpdateTime
      , Text
"message" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentConditionMessage
      , Text
"reason" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentConditionReason
      , Text
"status" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
appsV1beta1DeploymentConditionStatus
      , Text
"type" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
appsV1beta1DeploymentConditionType
      ]


-- | Construct a value of type 'AppsV1beta1DeploymentCondition' (by applying it's required fields, if any)
mkAppsV1beta1DeploymentCondition
  :: Text -- ^ 'appsV1beta1DeploymentConditionStatus': Status of the condition, one of True, False, Unknown.
  -> Text -- ^ 'appsV1beta1DeploymentConditionType': Type of deployment condition.
  -> AppsV1beta1DeploymentCondition
mkAppsV1beta1DeploymentCondition :: Text -> Text -> AppsV1beta1DeploymentCondition
mkAppsV1beta1DeploymentCondition Text
appsV1beta1DeploymentConditionStatus Text
appsV1beta1DeploymentConditionType =
  AppsV1beta1DeploymentCondition :: Maybe DateTime
-> Maybe DateTime
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> AppsV1beta1DeploymentCondition
AppsV1beta1DeploymentCondition
  { appsV1beta1DeploymentConditionLastTransitionTime :: Maybe DateTime
appsV1beta1DeploymentConditionLastTransitionTime = Maybe DateTime
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentConditionLastUpdateTime :: Maybe DateTime
appsV1beta1DeploymentConditionLastUpdateTime = Maybe DateTime
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentConditionMessage :: Maybe Text
appsV1beta1DeploymentConditionMessage = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentConditionReason :: Maybe Text
appsV1beta1DeploymentConditionReason = Maybe Text
forall a. Maybe a
Nothing
  , Text
appsV1beta1DeploymentConditionStatus :: Text
appsV1beta1DeploymentConditionStatus :: Text
appsV1beta1DeploymentConditionStatus
  , Text
appsV1beta1DeploymentConditionType :: Text
appsV1beta1DeploymentConditionType :: Text
appsV1beta1DeploymentConditionType
  }

-- ** AppsV1beta1DeploymentList
-- | AppsV1beta1DeploymentList
-- DeploymentList is a list of Deployments.
data AppsV1beta1DeploymentList = AppsV1beta1DeploymentList
  { AppsV1beta1DeploymentList -> Maybe Text
appsV1beta1DeploymentListApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , AppsV1beta1DeploymentList -> [AppsV1beta1Deployment]
appsV1beta1DeploymentListItems :: !([AppsV1beta1Deployment]) -- ^ /Required/ "items" - Items is the list of Deployments.
  , AppsV1beta1DeploymentList -> Maybe Text
appsV1beta1DeploymentListKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , AppsV1beta1DeploymentList -> Maybe V1ListMeta
appsV1beta1DeploymentListMetadata :: !(Maybe V1ListMeta) -- ^ "metadata"
  } deriving (Int -> AppsV1beta1DeploymentList -> ShowS
[AppsV1beta1DeploymentList] -> ShowS
AppsV1beta1DeploymentList -> String
(Int -> AppsV1beta1DeploymentList -> ShowS)
-> (AppsV1beta1DeploymentList -> String)
-> ([AppsV1beta1DeploymentList] -> ShowS)
-> Show AppsV1beta1DeploymentList
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1DeploymentList] -> ShowS
$cshowList :: [AppsV1beta1DeploymentList] -> ShowS
show :: AppsV1beta1DeploymentList -> String
$cshow :: AppsV1beta1DeploymentList -> String
showsPrec :: Int -> AppsV1beta1DeploymentList -> ShowS
$cshowsPrec :: Int -> AppsV1beta1DeploymentList -> ShowS
P.Show, AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool
(AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool)
-> (AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool)
-> Eq AppsV1beta1DeploymentList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool
$c/= :: AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool
== :: AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool
$c== :: AppsV1beta1DeploymentList -> AppsV1beta1DeploymentList -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1DeploymentList
instance A.FromJSON AppsV1beta1DeploymentList where
  parseJSON :: Value -> Parser AppsV1beta1DeploymentList
parseJSON = String
-> (Object -> Parser AppsV1beta1DeploymentList)
-> Value
-> Parser AppsV1beta1DeploymentList
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1DeploymentList" ((Object -> Parser AppsV1beta1DeploymentList)
 -> Value -> Parser AppsV1beta1DeploymentList)
-> (Object -> Parser AppsV1beta1DeploymentList)
-> Value
-> Parser AppsV1beta1DeploymentList
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> [AppsV1beta1Deployment]
-> Maybe Text
-> Maybe V1ListMeta
-> AppsV1beta1DeploymentList
AppsV1beta1DeploymentList
      (Maybe Text
 -> [AppsV1beta1Deployment]
 -> Maybe Text
 -> Maybe V1ListMeta
 -> AppsV1beta1DeploymentList)
-> Parser (Maybe Text)
-> Parser
     ([AppsV1beta1Deployment]
      -> Maybe Text -> Maybe V1ListMeta -> AppsV1beta1DeploymentList)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  ([AppsV1beta1Deployment]
   -> Maybe Text -> Maybe V1ListMeta -> AppsV1beta1DeploymentList)
-> Parser [AppsV1beta1Deployment]
-> Parser
     (Maybe Text -> Maybe V1ListMeta -> AppsV1beta1DeploymentList)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser [AppsV1beta1Deployment]
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"items")
      Parser
  (Maybe Text -> Maybe V1ListMeta -> AppsV1beta1DeploymentList)
-> Parser (Maybe Text)
-> Parser (Maybe V1ListMeta -> AppsV1beta1DeploymentList)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser (Maybe V1ListMeta -> AppsV1beta1DeploymentList)
-> Parser (Maybe V1ListMeta) -> Parser AppsV1beta1DeploymentList
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ListMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")

-- | ToJSON AppsV1beta1DeploymentList
instance A.ToJSON AppsV1beta1DeploymentList where
  toJSON :: AppsV1beta1DeploymentList -> Value
toJSON AppsV1beta1DeploymentList {[AppsV1beta1Deployment]
Maybe Text
Maybe V1ListMeta
appsV1beta1DeploymentListMetadata :: Maybe V1ListMeta
appsV1beta1DeploymentListKind :: Maybe Text
appsV1beta1DeploymentListItems :: [AppsV1beta1Deployment]
appsV1beta1DeploymentListApiVersion :: Maybe Text
appsV1beta1DeploymentListMetadata :: AppsV1beta1DeploymentList -> Maybe V1ListMeta
appsV1beta1DeploymentListKind :: AppsV1beta1DeploymentList -> Maybe Text
appsV1beta1DeploymentListItems :: AppsV1beta1DeploymentList -> [AppsV1beta1Deployment]
appsV1beta1DeploymentListApiVersion :: AppsV1beta1DeploymentList -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentListApiVersion
      , Text
"items" Text -> [AppsV1beta1Deployment] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= [AppsV1beta1Deployment]
appsV1beta1DeploymentListItems
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentListKind
      , Text
"metadata" Text -> Maybe V1ListMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ListMeta
appsV1beta1DeploymentListMetadata
      ]


-- | Construct a value of type 'AppsV1beta1DeploymentList' (by applying it's required fields, if any)
mkAppsV1beta1DeploymentList
  :: [AppsV1beta1Deployment] -- ^ 'appsV1beta1DeploymentListItems': Items is the list of Deployments.
  -> AppsV1beta1DeploymentList
mkAppsV1beta1DeploymentList :: [AppsV1beta1Deployment] -> AppsV1beta1DeploymentList
mkAppsV1beta1DeploymentList [AppsV1beta1Deployment]
appsV1beta1DeploymentListItems =
  AppsV1beta1DeploymentList :: Maybe Text
-> [AppsV1beta1Deployment]
-> Maybe Text
-> Maybe V1ListMeta
-> AppsV1beta1DeploymentList
AppsV1beta1DeploymentList
  { appsV1beta1DeploymentListApiVersion :: Maybe Text
appsV1beta1DeploymentListApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , [AppsV1beta1Deployment]
appsV1beta1DeploymentListItems :: [AppsV1beta1Deployment]
appsV1beta1DeploymentListItems :: [AppsV1beta1Deployment]
appsV1beta1DeploymentListItems
  , appsV1beta1DeploymentListKind :: Maybe Text
appsV1beta1DeploymentListKind = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentListMetadata :: Maybe V1ListMeta
appsV1beta1DeploymentListMetadata = Maybe V1ListMeta
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1DeploymentRollback
-- | AppsV1beta1DeploymentRollback
-- DEPRECATED. DeploymentRollback stores the information required to rollback a deployment.
data AppsV1beta1DeploymentRollback = AppsV1beta1DeploymentRollback
  { AppsV1beta1DeploymentRollback -> Maybe Text
appsV1beta1DeploymentRollbackApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , AppsV1beta1DeploymentRollback -> Maybe Text
appsV1beta1DeploymentRollbackKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , AppsV1beta1DeploymentRollback -> Text
appsV1beta1DeploymentRollbackName :: !(Text) -- ^ /Required/ "name" - Required: This must match the Name of a deployment.
  , AppsV1beta1DeploymentRollback -> AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackRollbackTo :: !(AppsV1beta1RollbackConfig) -- ^ /Required/ "rollbackTo"
  , AppsV1beta1DeploymentRollback -> Maybe (Map String Text)
appsV1beta1DeploymentRollbackUpdatedAnnotations :: !(Maybe (Map.Map String Text)) -- ^ "updatedAnnotations" - The annotations to be updated to a deployment
  } deriving (Int -> AppsV1beta1DeploymentRollback -> ShowS
[AppsV1beta1DeploymentRollback] -> ShowS
AppsV1beta1DeploymentRollback -> String
(Int -> AppsV1beta1DeploymentRollback -> ShowS)
-> (AppsV1beta1DeploymentRollback -> String)
-> ([AppsV1beta1DeploymentRollback] -> ShowS)
-> Show AppsV1beta1DeploymentRollback
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1DeploymentRollback] -> ShowS
$cshowList :: [AppsV1beta1DeploymentRollback] -> ShowS
show :: AppsV1beta1DeploymentRollback -> String
$cshow :: AppsV1beta1DeploymentRollback -> String
showsPrec :: Int -> AppsV1beta1DeploymentRollback -> ShowS
$cshowsPrec :: Int -> AppsV1beta1DeploymentRollback -> ShowS
P.Show, AppsV1beta1DeploymentRollback
-> AppsV1beta1DeploymentRollback -> Bool
(AppsV1beta1DeploymentRollback
 -> AppsV1beta1DeploymentRollback -> Bool)
-> (AppsV1beta1DeploymentRollback
    -> AppsV1beta1DeploymentRollback -> Bool)
-> Eq AppsV1beta1DeploymentRollback
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1DeploymentRollback
-> AppsV1beta1DeploymentRollback -> Bool
$c/= :: AppsV1beta1DeploymentRollback
-> AppsV1beta1DeploymentRollback -> Bool
== :: AppsV1beta1DeploymentRollback
-> AppsV1beta1DeploymentRollback -> Bool
$c== :: AppsV1beta1DeploymentRollback
-> AppsV1beta1DeploymentRollback -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1DeploymentRollback
instance A.FromJSON AppsV1beta1DeploymentRollback where
  parseJSON :: Value -> Parser AppsV1beta1DeploymentRollback
parseJSON = String
-> (Object -> Parser AppsV1beta1DeploymentRollback)
-> Value
-> Parser AppsV1beta1DeploymentRollback
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1DeploymentRollback" ((Object -> Parser AppsV1beta1DeploymentRollback)
 -> Value -> Parser AppsV1beta1DeploymentRollback)
-> (Object -> Parser AppsV1beta1DeploymentRollback)
-> Value
-> Parser AppsV1beta1DeploymentRollback
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Text
-> AppsV1beta1RollbackConfig
-> Maybe (Map String Text)
-> AppsV1beta1DeploymentRollback
AppsV1beta1DeploymentRollback
      (Maybe Text
 -> Maybe Text
 -> Text
 -> AppsV1beta1RollbackConfig
 -> Maybe (Map String Text)
 -> AppsV1beta1DeploymentRollback)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Text
      -> AppsV1beta1RollbackConfig
      -> Maybe (Map String Text)
      -> AppsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  (Maybe Text
   -> Text
   -> AppsV1beta1RollbackConfig
   -> Maybe (Map String Text)
   -> AppsV1beta1DeploymentRollback)
-> Parser (Maybe Text)
-> Parser
     (Text
      -> AppsV1beta1RollbackConfig
      -> Maybe (Map String Text)
      -> AppsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser
  (Text
   -> AppsV1beta1RollbackConfig
   -> Maybe (Map String Text)
   -> AppsV1beta1DeploymentRollback)
-> Parser Text
-> Parser
     (AppsV1beta1RollbackConfig
      -> Maybe (Map String Text) -> AppsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")
      Parser
  (AppsV1beta1RollbackConfig
   -> Maybe (Map String Text) -> AppsV1beta1DeploymentRollback)
-> Parser AppsV1beta1RollbackConfig
-> Parser
     (Maybe (Map String Text) -> AppsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser AppsV1beta1RollbackConfig
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"rollbackTo")
      Parser (Maybe (Map String Text) -> AppsV1beta1DeploymentRollback)
-> Parser (Maybe (Map String Text))
-> Parser AppsV1beta1DeploymentRollback
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe (Map String Text))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"updatedAnnotations")

-- | ToJSON AppsV1beta1DeploymentRollback
instance A.ToJSON AppsV1beta1DeploymentRollback where
  toJSON :: AppsV1beta1DeploymentRollback -> Value
toJSON AppsV1beta1DeploymentRollback {Maybe Text
Maybe (Map String Text)
Text
AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackUpdatedAnnotations :: Maybe (Map String Text)
appsV1beta1DeploymentRollbackRollbackTo :: AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackName :: Text
appsV1beta1DeploymentRollbackKind :: Maybe Text
appsV1beta1DeploymentRollbackApiVersion :: Maybe Text
appsV1beta1DeploymentRollbackUpdatedAnnotations :: AppsV1beta1DeploymentRollback -> Maybe (Map String Text)
appsV1beta1DeploymentRollbackRollbackTo :: AppsV1beta1DeploymentRollback -> AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackName :: AppsV1beta1DeploymentRollback -> Text
appsV1beta1DeploymentRollbackKind :: AppsV1beta1DeploymentRollback -> Maybe Text
appsV1beta1DeploymentRollbackApiVersion :: AppsV1beta1DeploymentRollback -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentRollbackApiVersion
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentRollbackKind
      , Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
appsV1beta1DeploymentRollbackName
      , Text
"rollbackTo" Text -> AppsV1beta1RollbackConfig -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackRollbackTo
      , Text
"updatedAnnotations" Text -> Maybe (Map String Text) -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe (Map String Text)
appsV1beta1DeploymentRollbackUpdatedAnnotations
      ]


-- | Construct a value of type 'AppsV1beta1DeploymentRollback' (by applying it's required fields, if any)
mkAppsV1beta1DeploymentRollback
  :: Text -- ^ 'appsV1beta1DeploymentRollbackName': Required: This must match the Name of a deployment.
  -> AppsV1beta1RollbackConfig -- ^ 'appsV1beta1DeploymentRollbackRollbackTo' 
  -> AppsV1beta1DeploymentRollback
mkAppsV1beta1DeploymentRollback :: Text -> AppsV1beta1RollbackConfig -> AppsV1beta1DeploymentRollback
mkAppsV1beta1DeploymentRollback Text
appsV1beta1DeploymentRollbackName AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackRollbackTo =
  AppsV1beta1DeploymentRollback :: Maybe Text
-> Maybe Text
-> Text
-> AppsV1beta1RollbackConfig
-> Maybe (Map String Text)
-> AppsV1beta1DeploymentRollback
AppsV1beta1DeploymentRollback
  { appsV1beta1DeploymentRollbackApiVersion :: Maybe Text
appsV1beta1DeploymentRollbackApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentRollbackKind :: Maybe Text
appsV1beta1DeploymentRollbackKind = Maybe Text
forall a. Maybe a
Nothing
  , Text
appsV1beta1DeploymentRollbackName :: Text
appsV1beta1DeploymentRollbackName :: Text
appsV1beta1DeploymentRollbackName
  , AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackRollbackTo :: AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackRollbackTo :: AppsV1beta1RollbackConfig
appsV1beta1DeploymentRollbackRollbackTo
  , appsV1beta1DeploymentRollbackUpdatedAnnotations :: Maybe (Map String Text)
appsV1beta1DeploymentRollbackUpdatedAnnotations = Maybe (Map String Text)
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1DeploymentSpec
-- | AppsV1beta1DeploymentSpec
-- DeploymentSpec is the specification of the desired behavior of the Deployment.
data AppsV1beta1DeploymentSpec = AppsV1beta1DeploymentSpec
  { AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecMinReadySeconds :: !(Maybe Int) -- ^ "minReadySeconds" - Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
  , AppsV1beta1DeploymentSpec -> Maybe Bool
appsV1beta1DeploymentSpecPaused :: !(Maybe Bool) -- ^ "paused" - Indicates that the deployment is paused.
  , AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecProgressDeadlineSeconds :: !(Maybe Int) -- ^ "progressDeadlineSeconds" - The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.
  , AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecReplicas :: !(Maybe Int) -- ^ "replicas" - Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  , AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecRevisionHistoryLimit :: !(Maybe Int) -- ^ "revisionHistoryLimit" - The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 2.
  , AppsV1beta1DeploymentSpec -> Maybe AppsV1beta1RollbackConfig
appsV1beta1DeploymentSpecRollbackTo :: !(Maybe AppsV1beta1RollbackConfig) -- ^ "rollbackTo"
  , AppsV1beta1DeploymentSpec -> Maybe V1LabelSelector
appsV1beta1DeploymentSpecSelector :: !(Maybe V1LabelSelector) -- ^ "selector"
  , AppsV1beta1DeploymentSpec -> Maybe AppsV1beta1DeploymentStrategy
appsV1beta1DeploymentSpecStrategy :: !(Maybe AppsV1beta1DeploymentStrategy) -- ^ "strategy"
  , AppsV1beta1DeploymentSpec -> V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate :: !(V1PodTemplateSpec) -- ^ /Required/ "template"
  } deriving (Int -> AppsV1beta1DeploymentSpec -> ShowS
[AppsV1beta1DeploymentSpec] -> ShowS
AppsV1beta1DeploymentSpec -> String
(Int -> AppsV1beta1DeploymentSpec -> ShowS)
-> (AppsV1beta1DeploymentSpec -> String)
-> ([AppsV1beta1DeploymentSpec] -> ShowS)
-> Show AppsV1beta1DeploymentSpec
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1DeploymentSpec] -> ShowS
$cshowList :: [AppsV1beta1DeploymentSpec] -> ShowS
show :: AppsV1beta1DeploymentSpec -> String
$cshow :: AppsV1beta1DeploymentSpec -> String
showsPrec :: Int -> AppsV1beta1DeploymentSpec -> ShowS
$cshowsPrec :: Int -> AppsV1beta1DeploymentSpec -> ShowS
P.Show, AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool
(AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool)
-> (AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool)
-> Eq AppsV1beta1DeploymentSpec
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool
$c/= :: AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool
== :: AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool
$c== :: AppsV1beta1DeploymentSpec -> AppsV1beta1DeploymentSpec -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1DeploymentSpec
instance A.FromJSON AppsV1beta1DeploymentSpec where
  parseJSON :: Value -> Parser AppsV1beta1DeploymentSpec
parseJSON = String
-> (Object -> Parser AppsV1beta1DeploymentSpec)
-> Value
-> Parser AppsV1beta1DeploymentSpec
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1DeploymentSpec" ((Object -> Parser AppsV1beta1DeploymentSpec)
 -> Value -> Parser AppsV1beta1DeploymentSpec)
-> (Object -> Parser AppsV1beta1DeploymentSpec)
-> Value
-> Parser AppsV1beta1DeploymentSpec
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Int
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe AppsV1beta1RollbackConfig
-> Maybe V1LabelSelector
-> Maybe AppsV1beta1DeploymentStrategy
-> V1PodTemplateSpec
-> AppsV1beta1DeploymentSpec
AppsV1beta1DeploymentSpec
      (Maybe Int
 -> Maybe Bool
 -> Maybe Int
 -> Maybe Int
 -> Maybe Int
 -> Maybe AppsV1beta1RollbackConfig
 -> Maybe V1LabelSelector
 -> Maybe AppsV1beta1DeploymentStrategy
 -> V1PodTemplateSpec
 -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe AppsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"minReadySeconds")
      Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe AppsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe AppsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"paused")
      Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe AppsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe AppsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"progressDeadlineSeconds")
      Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe AppsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe AppsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"replicas")
      Parser
  (Maybe Int
   -> Maybe AppsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe AppsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"revisionHistoryLimit")
      Parser
  (Maybe AppsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe AppsV1beta1RollbackConfig)
-> Parser
     (Maybe V1LabelSelector
      -> Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1RollbackConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"rollbackTo")
      Parser
  (Maybe V1LabelSelector
   -> Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe V1LabelSelector)
-> Parser
     (Maybe AppsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1LabelSelector)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"selector")
      Parser
  (Maybe AppsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec -> AppsV1beta1DeploymentSpec)
-> Parser (Maybe AppsV1beta1DeploymentStrategy)
-> Parser (V1PodTemplateSpec -> AppsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1DeploymentStrategy)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"strategy")
      Parser (V1PodTemplateSpec -> AppsV1beta1DeploymentSpec)
-> Parser V1PodTemplateSpec -> Parser AppsV1beta1DeploymentSpec
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser V1PodTemplateSpec
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"template")

-- | ToJSON AppsV1beta1DeploymentSpec
instance A.ToJSON AppsV1beta1DeploymentSpec where
  toJSON :: AppsV1beta1DeploymentSpec -> Value
toJSON AppsV1beta1DeploymentSpec {Maybe Bool
Maybe Int
Maybe V1LabelSelector
Maybe AppsV1beta1RollbackConfig
Maybe AppsV1beta1DeploymentStrategy
V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate :: V1PodTemplateSpec
appsV1beta1DeploymentSpecStrategy :: Maybe AppsV1beta1DeploymentStrategy
appsV1beta1DeploymentSpecSelector :: Maybe V1LabelSelector
appsV1beta1DeploymentSpecRollbackTo :: Maybe AppsV1beta1RollbackConfig
appsV1beta1DeploymentSpecRevisionHistoryLimit :: Maybe Int
appsV1beta1DeploymentSpecReplicas :: Maybe Int
appsV1beta1DeploymentSpecProgressDeadlineSeconds :: Maybe Int
appsV1beta1DeploymentSpecPaused :: Maybe Bool
appsV1beta1DeploymentSpecMinReadySeconds :: Maybe Int
appsV1beta1DeploymentSpecTemplate :: AppsV1beta1DeploymentSpec -> V1PodTemplateSpec
appsV1beta1DeploymentSpecStrategy :: AppsV1beta1DeploymentSpec -> Maybe AppsV1beta1DeploymentStrategy
appsV1beta1DeploymentSpecSelector :: AppsV1beta1DeploymentSpec -> Maybe V1LabelSelector
appsV1beta1DeploymentSpecRollbackTo :: AppsV1beta1DeploymentSpec -> Maybe AppsV1beta1RollbackConfig
appsV1beta1DeploymentSpecRevisionHistoryLimit :: AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecReplicas :: AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecProgressDeadlineSeconds :: AppsV1beta1DeploymentSpec -> Maybe Int
appsV1beta1DeploymentSpecPaused :: AppsV1beta1DeploymentSpec -> Maybe Bool
appsV1beta1DeploymentSpecMinReadySeconds :: AppsV1beta1DeploymentSpec -> Maybe Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"minReadySeconds" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentSpecMinReadySeconds
      , Text
"paused" Text -> Maybe Bool -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Bool
appsV1beta1DeploymentSpecPaused
      , Text
"progressDeadlineSeconds" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentSpecProgressDeadlineSeconds
      , Text
"replicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentSpecReplicas
      , Text
"revisionHistoryLimit" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentSpecRevisionHistoryLimit
      , Text
"rollbackTo" Text -> Maybe AppsV1beta1RollbackConfig -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1RollbackConfig
appsV1beta1DeploymentSpecRollbackTo
      , Text
"selector" Text -> Maybe V1LabelSelector -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1LabelSelector
appsV1beta1DeploymentSpecSelector
      , Text
"strategy" Text -> Maybe AppsV1beta1DeploymentStrategy -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1DeploymentStrategy
appsV1beta1DeploymentSpecStrategy
      , Text
"template" Text -> V1PodTemplateSpec -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate
      ]


-- | Construct a value of type 'AppsV1beta1DeploymentSpec' (by applying it's required fields, if any)
mkAppsV1beta1DeploymentSpec
  :: V1PodTemplateSpec -- ^ 'appsV1beta1DeploymentSpecTemplate' 
  -> AppsV1beta1DeploymentSpec
mkAppsV1beta1DeploymentSpec :: V1PodTemplateSpec -> AppsV1beta1DeploymentSpec
mkAppsV1beta1DeploymentSpec V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate =
  AppsV1beta1DeploymentSpec :: Maybe Int
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe AppsV1beta1RollbackConfig
-> Maybe V1LabelSelector
-> Maybe AppsV1beta1DeploymentStrategy
-> V1PodTemplateSpec
-> AppsV1beta1DeploymentSpec
AppsV1beta1DeploymentSpec
  { appsV1beta1DeploymentSpecMinReadySeconds :: Maybe Int
appsV1beta1DeploymentSpecMinReadySeconds = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecPaused :: Maybe Bool
appsV1beta1DeploymentSpecPaused = Maybe Bool
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecProgressDeadlineSeconds :: Maybe Int
appsV1beta1DeploymentSpecProgressDeadlineSeconds = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecReplicas :: Maybe Int
appsV1beta1DeploymentSpecReplicas = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecRevisionHistoryLimit :: Maybe Int
appsV1beta1DeploymentSpecRevisionHistoryLimit = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecRollbackTo :: Maybe AppsV1beta1RollbackConfig
appsV1beta1DeploymentSpecRollbackTo = Maybe AppsV1beta1RollbackConfig
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecSelector :: Maybe V1LabelSelector
appsV1beta1DeploymentSpecSelector = Maybe V1LabelSelector
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentSpecStrategy :: Maybe AppsV1beta1DeploymentStrategy
appsV1beta1DeploymentSpecStrategy = Maybe AppsV1beta1DeploymentStrategy
forall a. Maybe a
Nothing
  , V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate :: V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate :: V1PodTemplateSpec
appsV1beta1DeploymentSpecTemplate
  }

-- ** AppsV1beta1DeploymentStatus
-- | AppsV1beta1DeploymentStatus
-- DeploymentStatus is the most recently observed status of the Deployment.
data AppsV1beta1DeploymentStatus = AppsV1beta1DeploymentStatus
  { AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusAvailableReplicas :: !(Maybe Int) -- ^ "availableReplicas" - Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
  , AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusCollisionCount :: !(Maybe Int) -- ^ "collisionCount" - Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
  , AppsV1beta1DeploymentStatus
-> Maybe [AppsV1beta1DeploymentCondition]
appsV1beta1DeploymentStatusConditions :: !(Maybe [AppsV1beta1DeploymentCondition]) -- ^ "conditions" - Represents the latest available observations of a deployment&#39;s current state.
  , AppsV1beta1DeploymentStatus -> Maybe Integer
appsV1beta1DeploymentStatusObservedGeneration :: !(Maybe Integer) -- ^ "observedGeneration" - The generation observed by the deployment controller.
  , AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusReadyReplicas :: !(Maybe Int) -- ^ "readyReplicas" - Total number of ready pods targeted by this deployment.
  , AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusReplicas :: !(Maybe Int) -- ^ "replicas" - Total number of non-terminated pods targeted by this deployment (their labels match the selector).
  , AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusUnavailableReplicas :: !(Maybe Int) -- ^ "unavailableReplicas" - Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.
  , AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusUpdatedReplicas :: !(Maybe Int) -- ^ "updatedReplicas" - Total number of non-terminated pods targeted by this deployment that have the desired template spec.
  } deriving (Int -> AppsV1beta1DeploymentStatus -> ShowS
[AppsV1beta1DeploymentStatus] -> ShowS
AppsV1beta1DeploymentStatus -> String
(Int -> AppsV1beta1DeploymentStatus -> ShowS)
-> (AppsV1beta1DeploymentStatus -> String)
-> ([AppsV1beta1DeploymentStatus] -> ShowS)
-> Show AppsV1beta1DeploymentStatus
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1DeploymentStatus] -> ShowS
$cshowList :: [AppsV1beta1DeploymentStatus] -> ShowS
show :: AppsV1beta1DeploymentStatus -> String
$cshow :: AppsV1beta1DeploymentStatus -> String
showsPrec :: Int -> AppsV1beta1DeploymentStatus -> ShowS
$cshowsPrec :: Int -> AppsV1beta1DeploymentStatus -> ShowS
P.Show, AppsV1beta1DeploymentStatus -> AppsV1beta1DeploymentStatus -> Bool
(AppsV1beta1DeploymentStatus
 -> AppsV1beta1DeploymentStatus -> Bool)
-> (AppsV1beta1DeploymentStatus
    -> AppsV1beta1DeploymentStatus -> Bool)
-> Eq AppsV1beta1DeploymentStatus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1DeploymentStatus -> AppsV1beta1DeploymentStatus -> Bool
$c/= :: AppsV1beta1DeploymentStatus -> AppsV1beta1DeploymentStatus -> Bool
== :: AppsV1beta1DeploymentStatus -> AppsV1beta1DeploymentStatus -> Bool
$c== :: AppsV1beta1DeploymentStatus -> AppsV1beta1DeploymentStatus -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1DeploymentStatus
instance A.FromJSON AppsV1beta1DeploymentStatus where
  parseJSON :: Value -> Parser AppsV1beta1DeploymentStatus
parseJSON = String
-> (Object -> Parser AppsV1beta1DeploymentStatus)
-> Value
-> Parser AppsV1beta1DeploymentStatus
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1DeploymentStatus" ((Object -> Parser AppsV1beta1DeploymentStatus)
 -> Value -> Parser AppsV1beta1DeploymentStatus)
-> (Object -> Parser AppsV1beta1DeploymentStatus)
-> Value
-> Parser AppsV1beta1DeploymentStatus
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Int
-> Maybe Int
-> Maybe [AppsV1beta1DeploymentCondition]
-> Maybe Integer
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> AppsV1beta1DeploymentStatus
AppsV1beta1DeploymentStatus
      (Maybe Int
 -> Maybe Int
 -> Maybe [AppsV1beta1DeploymentCondition]
 -> Maybe Integer
 -> Maybe Int
 -> Maybe Int
 -> Maybe Int
 -> Maybe Int
 -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe [AppsV1beta1DeploymentCondition]
      -> Maybe Integer
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"availableReplicas")
      Parser
  (Maybe Int
   -> Maybe [AppsV1beta1DeploymentCondition]
   -> Maybe Integer
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe [AppsV1beta1DeploymentCondition]
      -> Maybe Integer
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"collisionCount")
      Parser
  (Maybe [AppsV1beta1DeploymentCondition]
   -> Maybe Integer
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe [AppsV1beta1DeploymentCondition])
-> Parser
     (Maybe Integer
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe [AppsV1beta1DeploymentCondition])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"conditions")
      Parser
  (Maybe Integer
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"observedGeneration")
      Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Int -> Maybe Int -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"readyReplicas")
      Parser
  (Maybe Int
   -> Maybe Int -> Maybe Int -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser (Maybe Int -> Maybe Int -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"replicas")
      Parser (Maybe Int -> Maybe Int -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser (Maybe Int -> AppsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"unavailableReplicas")
      Parser (Maybe Int -> AppsV1beta1DeploymentStatus)
-> Parser (Maybe Int) -> Parser AppsV1beta1DeploymentStatus
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"updatedReplicas")

-- | ToJSON AppsV1beta1DeploymentStatus
instance A.ToJSON AppsV1beta1DeploymentStatus where
  toJSON :: AppsV1beta1DeploymentStatus -> Value
toJSON AppsV1beta1DeploymentStatus {Maybe Int
Maybe Integer
Maybe [AppsV1beta1DeploymentCondition]
appsV1beta1DeploymentStatusUpdatedReplicas :: Maybe Int
appsV1beta1DeploymentStatusUnavailableReplicas :: Maybe Int
appsV1beta1DeploymentStatusReplicas :: Maybe Int
appsV1beta1DeploymentStatusReadyReplicas :: Maybe Int
appsV1beta1DeploymentStatusObservedGeneration :: Maybe Integer
appsV1beta1DeploymentStatusConditions :: Maybe [AppsV1beta1DeploymentCondition]
appsV1beta1DeploymentStatusCollisionCount :: Maybe Int
appsV1beta1DeploymentStatusAvailableReplicas :: Maybe Int
appsV1beta1DeploymentStatusUpdatedReplicas :: AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusUnavailableReplicas :: AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusReplicas :: AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusReadyReplicas :: AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusObservedGeneration :: AppsV1beta1DeploymentStatus -> Maybe Integer
appsV1beta1DeploymentStatusConditions :: AppsV1beta1DeploymentStatus
-> Maybe [AppsV1beta1DeploymentCondition]
appsV1beta1DeploymentStatusCollisionCount :: AppsV1beta1DeploymentStatus -> Maybe Int
appsV1beta1DeploymentStatusAvailableReplicas :: AppsV1beta1DeploymentStatus -> Maybe Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"availableReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentStatusAvailableReplicas
      , Text
"collisionCount" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentStatusCollisionCount
      , Text
"conditions" Text -> Maybe [AppsV1beta1DeploymentCondition] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe [AppsV1beta1DeploymentCondition]
appsV1beta1DeploymentStatusConditions
      , Text
"observedGeneration" Text -> Maybe Integer -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Integer
appsV1beta1DeploymentStatusObservedGeneration
      , Text
"readyReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentStatusReadyReplicas
      , Text
"replicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentStatusReplicas
      , Text
"unavailableReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentStatusUnavailableReplicas
      , Text
"updatedReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1DeploymentStatusUpdatedReplicas
      ]


-- | Construct a value of type 'AppsV1beta1DeploymentStatus' (by applying it's required fields, if any)
mkAppsV1beta1DeploymentStatus
  :: AppsV1beta1DeploymentStatus
mkAppsV1beta1DeploymentStatus :: AppsV1beta1DeploymentStatus
mkAppsV1beta1DeploymentStatus =
  AppsV1beta1DeploymentStatus :: Maybe Int
-> Maybe Int
-> Maybe [AppsV1beta1DeploymentCondition]
-> Maybe Integer
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> AppsV1beta1DeploymentStatus
AppsV1beta1DeploymentStatus
  { appsV1beta1DeploymentStatusAvailableReplicas :: Maybe Int
appsV1beta1DeploymentStatusAvailableReplicas = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusCollisionCount :: Maybe Int
appsV1beta1DeploymentStatusCollisionCount = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusConditions :: Maybe [AppsV1beta1DeploymentCondition]
appsV1beta1DeploymentStatusConditions = Maybe [AppsV1beta1DeploymentCondition]
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusObservedGeneration :: Maybe Integer
appsV1beta1DeploymentStatusObservedGeneration = Maybe Integer
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusReadyReplicas :: Maybe Int
appsV1beta1DeploymentStatusReadyReplicas = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusReplicas :: Maybe Int
appsV1beta1DeploymentStatusReplicas = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusUnavailableReplicas :: Maybe Int
appsV1beta1DeploymentStatusUnavailableReplicas = Maybe Int
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStatusUpdatedReplicas :: Maybe Int
appsV1beta1DeploymentStatusUpdatedReplicas = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1DeploymentStrategy
-- | AppsV1beta1DeploymentStrategy
-- DeploymentStrategy describes how to replace existing pods with new ones.
data AppsV1beta1DeploymentStrategy = AppsV1beta1DeploymentStrategy
  { AppsV1beta1DeploymentStrategy
-> Maybe AppsV1beta1RollingUpdateDeployment
appsV1beta1DeploymentStrategyRollingUpdate :: !(Maybe AppsV1beta1RollingUpdateDeployment) -- ^ "rollingUpdate"
  , AppsV1beta1DeploymentStrategy -> Maybe Text
appsV1beta1DeploymentStrategyType :: !(Maybe Text) -- ^ "type" - Type of deployment. Can be \&quot;Recreate\&quot; or \&quot;RollingUpdate\&quot;. Default is RollingUpdate.
  } deriving (Int -> AppsV1beta1DeploymentStrategy -> ShowS
[AppsV1beta1DeploymentStrategy] -> ShowS
AppsV1beta1DeploymentStrategy -> String
(Int -> AppsV1beta1DeploymentStrategy -> ShowS)
-> (AppsV1beta1DeploymentStrategy -> String)
-> ([AppsV1beta1DeploymentStrategy] -> ShowS)
-> Show AppsV1beta1DeploymentStrategy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1DeploymentStrategy] -> ShowS
$cshowList :: [AppsV1beta1DeploymentStrategy] -> ShowS
show :: AppsV1beta1DeploymentStrategy -> String
$cshow :: AppsV1beta1DeploymentStrategy -> String
showsPrec :: Int -> AppsV1beta1DeploymentStrategy -> ShowS
$cshowsPrec :: Int -> AppsV1beta1DeploymentStrategy -> ShowS
P.Show, AppsV1beta1DeploymentStrategy
-> AppsV1beta1DeploymentStrategy -> Bool
(AppsV1beta1DeploymentStrategy
 -> AppsV1beta1DeploymentStrategy -> Bool)
-> (AppsV1beta1DeploymentStrategy
    -> AppsV1beta1DeploymentStrategy -> Bool)
-> Eq AppsV1beta1DeploymentStrategy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1DeploymentStrategy
-> AppsV1beta1DeploymentStrategy -> Bool
$c/= :: AppsV1beta1DeploymentStrategy
-> AppsV1beta1DeploymentStrategy -> Bool
== :: AppsV1beta1DeploymentStrategy
-> AppsV1beta1DeploymentStrategy -> Bool
$c== :: AppsV1beta1DeploymentStrategy
-> AppsV1beta1DeploymentStrategy -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1DeploymentStrategy
instance A.FromJSON AppsV1beta1DeploymentStrategy where
  parseJSON :: Value -> Parser AppsV1beta1DeploymentStrategy
parseJSON = String
-> (Object -> Parser AppsV1beta1DeploymentStrategy)
-> Value
-> Parser AppsV1beta1DeploymentStrategy
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1DeploymentStrategy" ((Object -> Parser AppsV1beta1DeploymentStrategy)
 -> Value -> Parser AppsV1beta1DeploymentStrategy)
-> (Object -> Parser AppsV1beta1DeploymentStrategy)
-> Value
-> Parser AppsV1beta1DeploymentStrategy
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe AppsV1beta1RollingUpdateDeployment
-> Maybe Text -> AppsV1beta1DeploymentStrategy
AppsV1beta1DeploymentStrategy
      (Maybe AppsV1beta1RollingUpdateDeployment
 -> Maybe Text -> AppsV1beta1DeploymentStrategy)
-> Parser (Maybe AppsV1beta1RollingUpdateDeployment)
-> Parser (Maybe Text -> AppsV1beta1DeploymentStrategy)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1RollingUpdateDeployment)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"rollingUpdate")
      Parser (Maybe Text -> AppsV1beta1DeploymentStrategy)
-> Parser (Maybe Text) -> Parser AppsV1beta1DeploymentStrategy
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"type")

-- | ToJSON AppsV1beta1DeploymentStrategy
instance A.ToJSON AppsV1beta1DeploymentStrategy where
  toJSON :: AppsV1beta1DeploymentStrategy -> Value
toJSON AppsV1beta1DeploymentStrategy {Maybe Text
Maybe AppsV1beta1RollingUpdateDeployment
appsV1beta1DeploymentStrategyType :: Maybe Text
appsV1beta1DeploymentStrategyRollingUpdate :: Maybe AppsV1beta1RollingUpdateDeployment
appsV1beta1DeploymentStrategyType :: AppsV1beta1DeploymentStrategy -> Maybe Text
appsV1beta1DeploymentStrategyRollingUpdate :: AppsV1beta1DeploymentStrategy
-> Maybe AppsV1beta1RollingUpdateDeployment
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"rollingUpdate" Text -> Maybe AppsV1beta1RollingUpdateDeployment -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1RollingUpdateDeployment
appsV1beta1DeploymentStrategyRollingUpdate
      , Text
"type" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1DeploymentStrategyType
      ]


-- | Construct a value of type 'AppsV1beta1DeploymentStrategy' (by applying it's required fields, if any)
mkAppsV1beta1DeploymentStrategy
  :: AppsV1beta1DeploymentStrategy
mkAppsV1beta1DeploymentStrategy :: AppsV1beta1DeploymentStrategy
mkAppsV1beta1DeploymentStrategy =
  AppsV1beta1DeploymentStrategy :: Maybe AppsV1beta1RollingUpdateDeployment
-> Maybe Text -> AppsV1beta1DeploymentStrategy
AppsV1beta1DeploymentStrategy
  { appsV1beta1DeploymentStrategyRollingUpdate :: Maybe AppsV1beta1RollingUpdateDeployment
appsV1beta1DeploymentStrategyRollingUpdate = Maybe AppsV1beta1RollingUpdateDeployment
forall a. Maybe a
Nothing
  , appsV1beta1DeploymentStrategyType :: Maybe Text
appsV1beta1DeploymentStrategyType = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1RollbackConfig
-- | AppsV1beta1RollbackConfig
-- DEPRECATED.
data AppsV1beta1RollbackConfig = AppsV1beta1RollbackConfig
  { AppsV1beta1RollbackConfig -> Maybe Integer
appsV1beta1RollbackConfigRevision :: !(Maybe Integer) -- ^ "revision" - The revision to rollback to. If set to 0, rollback to the last revision.
  } deriving (Int -> AppsV1beta1RollbackConfig -> ShowS
[AppsV1beta1RollbackConfig] -> ShowS
AppsV1beta1RollbackConfig -> String
(Int -> AppsV1beta1RollbackConfig -> ShowS)
-> (AppsV1beta1RollbackConfig -> String)
-> ([AppsV1beta1RollbackConfig] -> ShowS)
-> Show AppsV1beta1RollbackConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1RollbackConfig] -> ShowS
$cshowList :: [AppsV1beta1RollbackConfig] -> ShowS
show :: AppsV1beta1RollbackConfig -> String
$cshow :: AppsV1beta1RollbackConfig -> String
showsPrec :: Int -> AppsV1beta1RollbackConfig -> ShowS
$cshowsPrec :: Int -> AppsV1beta1RollbackConfig -> ShowS
P.Show, AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool
(AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool)
-> (AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool)
-> Eq AppsV1beta1RollbackConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool
$c/= :: AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool
== :: AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool
$c== :: AppsV1beta1RollbackConfig -> AppsV1beta1RollbackConfig -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1RollbackConfig
instance A.FromJSON AppsV1beta1RollbackConfig where
  parseJSON :: Value -> Parser AppsV1beta1RollbackConfig
parseJSON = String
-> (Object -> Parser AppsV1beta1RollbackConfig)
-> Value
-> Parser AppsV1beta1RollbackConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1RollbackConfig" ((Object -> Parser AppsV1beta1RollbackConfig)
 -> Value -> Parser AppsV1beta1RollbackConfig)
-> (Object -> Parser AppsV1beta1RollbackConfig)
-> Value
-> Parser AppsV1beta1RollbackConfig
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Integer -> AppsV1beta1RollbackConfig
AppsV1beta1RollbackConfig
      (Maybe Integer -> AppsV1beta1RollbackConfig)
-> Parser (Maybe Integer) -> Parser AppsV1beta1RollbackConfig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"revision")

-- | ToJSON AppsV1beta1RollbackConfig
instance A.ToJSON AppsV1beta1RollbackConfig where
  toJSON :: AppsV1beta1RollbackConfig -> Value
toJSON AppsV1beta1RollbackConfig {Maybe Integer
appsV1beta1RollbackConfigRevision :: Maybe Integer
appsV1beta1RollbackConfigRevision :: AppsV1beta1RollbackConfig -> Maybe Integer
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"revision" Text -> Maybe Integer -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Integer
appsV1beta1RollbackConfigRevision
      ]


-- | Construct a value of type 'AppsV1beta1RollbackConfig' (by applying it's required fields, if any)
mkAppsV1beta1RollbackConfig
  :: AppsV1beta1RollbackConfig
mkAppsV1beta1RollbackConfig :: AppsV1beta1RollbackConfig
mkAppsV1beta1RollbackConfig =
  AppsV1beta1RollbackConfig :: Maybe Integer -> AppsV1beta1RollbackConfig
AppsV1beta1RollbackConfig
  { appsV1beta1RollbackConfigRevision :: Maybe Integer
appsV1beta1RollbackConfigRevision = Maybe Integer
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1RollingUpdateDeployment
-- | AppsV1beta1RollingUpdateDeployment
-- Spec to control the desired behavior of rolling update.
data AppsV1beta1RollingUpdateDeployment = AppsV1beta1RollingUpdateDeployment
  { AppsV1beta1RollingUpdateDeployment -> Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxSurge :: !(Maybe IntOrString) -- ^ "maxSurge"
  , AppsV1beta1RollingUpdateDeployment -> Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxUnavailable :: !(Maybe IntOrString) -- ^ "maxUnavailable"
  } deriving (Int -> AppsV1beta1RollingUpdateDeployment -> ShowS
[AppsV1beta1RollingUpdateDeployment] -> ShowS
AppsV1beta1RollingUpdateDeployment -> String
(Int -> AppsV1beta1RollingUpdateDeployment -> ShowS)
-> (AppsV1beta1RollingUpdateDeployment -> String)
-> ([AppsV1beta1RollingUpdateDeployment] -> ShowS)
-> Show AppsV1beta1RollingUpdateDeployment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1RollingUpdateDeployment] -> ShowS
$cshowList :: [AppsV1beta1RollingUpdateDeployment] -> ShowS
show :: AppsV1beta1RollingUpdateDeployment -> String
$cshow :: AppsV1beta1RollingUpdateDeployment -> String
showsPrec :: Int -> AppsV1beta1RollingUpdateDeployment -> ShowS
$cshowsPrec :: Int -> AppsV1beta1RollingUpdateDeployment -> ShowS
P.Show, AppsV1beta1RollingUpdateDeployment
-> AppsV1beta1RollingUpdateDeployment -> Bool
(AppsV1beta1RollingUpdateDeployment
 -> AppsV1beta1RollingUpdateDeployment -> Bool)
-> (AppsV1beta1RollingUpdateDeployment
    -> AppsV1beta1RollingUpdateDeployment -> Bool)
-> Eq AppsV1beta1RollingUpdateDeployment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1RollingUpdateDeployment
-> AppsV1beta1RollingUpdateDeployment -> Bool
$c/= :: AppsV1beta1RollingUpdateDeployment
-> AppsV1beta1RollingUpdateDeployment -> Bool
== :: AppsV1beta1RollingUpdateDeployment
-> AppsV1beta1RollingUpdateDeployment -> Bool
$c== :: AppsV1beta1RollingUpdateDeployment
-> AppsV1beta1RollingUpdateDeployment -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1RollingUpdateDeployment
instance A.FromJSON AppsV1beta1RollingUpdateDeployment where
  parseJSON :: Value -> Parser AppsV1beta1RollingUpdateDeployment
parseJSON = String
-> (Object -> Parser AppsV1beta1RollingUpdateDeployment)
-> Value
-> Parser AppsV1beta1RollingUpdateDeployment
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1RollingUpdateDeployment" ((Object -> Parser AppsV1beta1RollingUpdateDeployment)
 -> Value -> Parser AppsV1beta1RollingUpdateDeployment)
-> (Object -> Parser AppsV1beta1RollingUpdateDeployment)
-> Value
-> Parser AppsV1beta1RollingUpdateDeployment
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe IntOrString
-> Maybe IntOrString -> AppsV1beta1RollingUpdateDeployment
AppsV1beta1RollingUpdateDeployment
      (Maybe IntOrString
 -> Maybe IntOrString -> AppsV1beta1RollingUpdateDeployment)
-> Parser (Maybe IntOrString)
-> Parser (Maybe IntOrString -> AppsV1beta1RollingUpdateDeployment)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe IntOrString)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"maxSurge")
      Parser (Maybe IntOrString -> AppsV1beta1RollingUpdateDeployment)
-> Parser (Maybe IntOrString)
-> Parser AppsV1beta1RollingUpdateDeployment
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe IntOrString)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"maxUnavailable")

-- | ToJSON AppsV1beta1RollingUpdateDeployment
instance A.ToJSON AppsV1beta1RollingUpdateDeployment where
  toJSON :: AppsV1beta1RollingUpdateDeployment -> Value
toJSON AppsV1beta1RollingUpdateDeployment {Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxUnavailable :: Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxSurge :: Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxUnavailable :: AppsV1beta1RollingUpdateDeployment -> Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxSurge :: AppsV1beta1RollingUpdateDeployment -> Maybe IntOrString
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"maxSurge" Text -> Maybe IntOrString -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxSurge
      , Text
"maxUnavailable" Text -> Maybe IntOrString -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxUnavailable
      ]


-- | Construct a value of type 'AppsV1beta1RollingUpdateDeployment' (by applying it's required fields, if any)
mkAppsV1beta1RollingUpdateDeployment
  :: AppsV1beta1RollingUpdateDeployment
mkAppsV1beta1RollingUpdateDeployment :: AppsV1beta1RollingUpdateDeployment
mkAppsV1beta1RollingUpdateDeployment =
  AppsV1beta1RollingUpdateDeployment :: Maybe IntOrString
-> Maybe IntOrString -> AppsV1beta1RollingUpdateDeployment
AppsV1beta1RollingUpdateDeployment
  { appsV1beta1RollingUpdateDeploymentMaxSurge :: Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxSurge = Maybe IntOrString
forall a. Maybe a
Nothing
  , appsV1beta1RollingUpdateDeploymentMaxUnavailable :: Maybe IntOrString
appsV1beta1RollingUpdateDeploymentMaxUnavailable = Maybe IntOrString
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1Scale
-- | AppsV1beta1Scale
-- Scale represents a scaling request for a resource.
data AppsV1beta1Scale = AppsV1beta1Scale
  { AppsV1beta1Scale -> Maybe Text
appsV1beta1ScaleApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , AppsV1beta1Scale -> Maybe Text
appsV1beta1ScaleKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , AppsV1beta1Scale -> Maybe V1ObjectMeta
appsV1beta1ScaleMetadata :: !(Maybe V1ObjectMeta) -- ^ "metadata"
  , AppsV1beta1Scale -> Maybe AppsV1beta1ScaleSpec
appsV1beta1ScaleSpec :: !(Maybe AppsV1beta1ScaleSpec) -- ^ "spec"
  , AppsV1beta1Scale -> Maybe AppsV1beta1ScaleStatus
appsV1beta1ScaleStatus :: !(Maybe AppsV1beta1ScaleStatus) -- ^ "status"
  } deriving (Int -> AppsV1beta1Scale -> ShowS
[AppsV1beta1Scale] -> ShowS
AppsV1beta1Scale -> String
(Int -> AppsV1beta1Scale -> ShowS)
-> (AppsV1beta1Scale -> String)
-> ([AppsV1beta1Scale] -> ShowS)
-> Show AppsV1beta1Scale
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1Scale] -> ShowS
$cshowList :: [AppsV1beta1Scale] -> ShowS
show :: AppsV1beta1Scale -> String
$cshow :: AppsV1beta1Scale -> String
showsPrec :: Int -> AppsV1beta1Scale -> ShowS
$cshowsPrec :: Int -> AppsV1beta1Scale -> ShowS
P.Show, AppsV1beta1Scale -> AppsV1beta1Scale -> Bool
(AppsV1beta1Scale -> AppsV1beta1Scale -> Bool)
-> (AppsV1beta1Scale -> AppsV1beta1Scale -> Bool)
-> Eq AppsV1beta1Scale
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1Scale -> AppsV1beta1Scale -> Bool
$c/= :: AppsV1beta1Scale -> AppsV1beta1Scale -> Bool
== :: AppsV1beta1Scale -> AppsV1beta1Scale -> Bool
$c== :: AppsV1beta1Scale -> AppsV1beta1Scale -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1Scale
instance A.FromJSON AppsV1beta1Scale where
  parseJSON :: Value -> Parser AppsV1beta1Scale
parseJSON = String
-> (Object -> Parser AppsV1beta1Scale)
-> Value
-> Parser AppsV1beta1Scale
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1Scale" ((Object -> Parser AppsV1beta1Scale)
 -> Value -> Parser AppsV1beta1Scale)
-> (Object -> Parser AppsV1beta1Scale)
-> Value
-> Parser AppsV1beta1Scale
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe AppsV1beta1ScaleSpec
-> Maybe AppsV1beta1ScaleStatus
-> AppsV1beta1Scale
AppsV1beta1Scale
      (Maybe Text
 -> Maybe Text
 -> Maybe V1ObjectMeta
 -> Maybe AppsV1beta1ScaleSpec
 -> Maybe AppsV1beta1ScaleStatus
 -> AppsV1beta1Scale)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe V1ObjectMeta
      -> Maybe AppsV1beta1ScaleSpec
      -> Maybe AppsV1beta1ScaleStatus
      -> AppsV1beta1Scale)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  (Maybe Text
   -> Maybe V1ObjectMeta
   -> Maybe AppsV1beta1ScaleSpec
   -> Maybe AppsV1beta1ScaleStatus
   -> AppsV1beta1Scale)
-> Parser (Maybe Text)
-> Parser
     (Maybe V1ObjectMeta
      -> Maybe AppsV1beta1ScaleSpec
      -> Maybe AppsV1beta1ScaleStatus
      -> AppsV1beta1Scale)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser
  (Maybe V1ObjectMeta
   -> Maybe AppsV1beta1ScaleSpec
   -> Maybe AppsV1beta1ScaleStatus
   -> AppsV1beta1Scale)
-> Parser (Maybe V1ObjectMeta)
-> Parser
     (Maybe AppsV1beta1ScaleSpec
      -> Maybe AppsV1beta1ScaleStatus -> AppsV1beta1Scale)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ObjectMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")
      Parser
  (Maybe AppsV1beta1ScaleSpec
   -> Maybe AppsV1beta1ScaleStatus -> AppsV1beta1Scale)
-> Parser (Maybe AppsV1beta1ScaleSpec)
-> Parser (Maybe AppsV1beta1ScaleStatus -> AppsV1beta1Scale)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1ScaleSpec)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"spec")
      Parser (Maybe AppsV1beta1ScaleStatus -> AppsV1beta1Scale)
-> Parser (Maybe AppsV1beta1ScaleStatus) -> Parser AppsV1beta1Scale
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe AppsV1beta1ScaleStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"status")

-- | ToJSON AppsV1beta1Scale
instance A.ToJSON AppsV1beta1Scale where
  toJSON :: AppsV1beta1Scale -> Value
toJSON AppsV1beta1Scale {Maybe Text
Maybe V1ObjectMeta
Maybe AppsV1beta1ScaleStatus
Maybe AppsV1beta1ScaleSpec
appsV1beta1ScaleStatus :: Maybe AppsV1beta1ScaleStatus
appsV1beta1ScaleSpec :: Maybe AppsV1beta1ScaleSpec
appsV1beta1ScaleMetadata :: Maybe V1ObjectMeta
appsV1beta1ScaleKind :: Maybe Text
appsV1beta1ScaleApiVersion :: Maybe Text
appsV1beta1ScaleStatus :: AppsV1beta1Scale -> Maybe AppsV1beta1ScaleStatus
appsV1beta1ScaleSpec :: AppsV1beta1Scale -> Maybe AppsV1beta1ScaleSpec
appsV1beta1ScaleMetadata :: AppsV1beta1Scale -> Maybe V1ObjectMeta
appsV1beta1ScaleKind :: AppsV1beta1Scale -> Maybe Text
appsV1beta1ScaleApiVersion :: AppsV1beta1Scale -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1ScaleApiVersion
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1ScaleKind
      , Text
"metadata" Text -> Maybe V1ObjectMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ObjectMeta
appsV1beta1ScaleMetadata
      , Text
"spec" Text -> Maybe AppsV1beta1ScaleSpec -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1ScaleSpec
appsV1beta1ScaleSpec
      , Text
"status" Text -> Maybe AppsV1beta1ScaleStatus -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe AppsV1beta1ScaleStatus
appsV1beta1ScaleStatus
      ]


-- | Construct a value of type 'AppsV1beta1Scale' (by applying it's required fields, if any)
mkAppsV1beta1Scale
  :: AppsV1beta1Scale
mkAppsV1beta1Scale :: AppsV1beta1Scale
mkAppsV1beta1Scale =
  AppsV1beta1Scale :: Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe AppsV1beta1ScaleSpec
-> Maybe AppsV1beta1ScaleStatus
-> AppsV1beta1Scale
AppsV1beta1Scale
  { appsV1beta1ScaleApiVersion :: Maybe Text
appsV1beta1ScaleApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1ScaleKind :: Maybe Text
appsV1beta1ScaleKind = Maybe Text
forall a. Maybe a
Nothing
  , appsV1beta1ScaleMetadata :: Maybe V1ObjectMeta
appsV1beta1ScaleMetadata = Maybe V1ObjectMeta
forall a. Maybe a
Nothing
  , appsV1beta1ScaleSpec :: Maybe AppsV1beta1ScaleSpec
appsV1beta1ScaleSpec = Maybe AppsV1beta1ScaleSpec
forall a. Maybe a
Nothing
  , appsV1beta1ScaleStatus :: Maybe AppsV1beta1ScaleStatus
appsV1beta1ScaleStatus = Maybe AppsV1beta1ScaleStatus
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1ScaleSpec
-- | AppsV1beta1ScaleSpec
-- ScaleSpec describes the attributes of a scale subresource
data AppsV1beta1ScaleSpec = AppsV1beta1ScaleSpec
  { AppsV1beta1ScaleSpec -> Maybe Int
appsV1beta1ScaleSpecReplicas :: !(Maybe Int) -- ^ "replicas" - desired number of instances for the scaled object.
  } deriving (Int -> AppsV1beta1ScaleSpec -> ShowS
[AppsV1beta1ScaleSpec] -> ShowS
AppsV1beta1ScaleSpec -> String
(Int -> AppsV1beta1ScaleSpec -> ShowS)
-> (AppsV1beta1ScaleSpec -> String)
-> ([AppsV1beta1ScaleSpec] -> ShowS)
-> Show AppsV1beta1ScaleSpec
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1ScaleSpec] -> ShowS
$cshowList :: [AppsV1beta1ScaleSpec] -> ShowS
show :: AppsV1beta1ScaleSpec -> String
$cshow :: AppsV1beta1ScaleSpec -> String
showsPrec :: Int -> AppsV1beta1ScaleSpec -> ShowS
$cshowsPrec :: Int -> AppsV1beta1ScaleSpec -> ShowS
P.Show, AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool
(AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool)
-> (AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool)
-> Eq AppsV1beta1ScaleSpec
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool
$c/= :: AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool
== :: AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool
$c== :: AppsV1beta1ScaleSpec -> AppsV1beta1ScaleSpec -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1ScaleSpec
instance A.FromJSON AppsV1beta1ScaleSpec where
  parseJSON :: Value -> Parser AppsV1beta1ScaleSpec
parseJSON = String
-> (Object -> Parser AppsV1beta1ScaleSpec)
-> Value
-> Parser AppsV1beta1ScaleSpec
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1ScaleSpec" ((Object -> Parser AppsV1beta1ScaleSpec)
 -> Value -> Parser AppsV1beta1ScaleSpec)
-> (Object -> Parser AppsV1beta1ScaleSpec)
-> Value
-> Parser AppsV1beta1ScaleSpec
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Int -> AppsV1beta1ScaleSpec
AppsV1beta1ScaleSpec
      (Maybe Int -> AppsV1beta1ScaleSpec)
-> Parser (Maybe Int) -> Parser AppsV1beta1ScaleSpec
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"replicas")

-- | ToJSON AppsV1beta1ScaleSpec
instance A.ToJSON AppsV1beta1ScaleSpec where
  toJSON :: AppsV1beta1ScaleSpec -> Value
toJSON AppsV1beta1ScaleSpec {Maybe Int
appsV1beta1ScaleSpecReplicas :: Maybe Int
appsV1beta1ScaleSpecReplicas :: AppsV1beta1ScaleSpec -> Maybe Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"replicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
appsV1beta1ScaleSpecReplicas
      ]


-- | Construct a value of type 'AppsV1beta1ScaleSpec' (by applying it's required fields, if any)
mkAppsV1beta1ScaleSpec
  :: AppsV1beta1ScaleSpec
mkAppsV1beta1ScaleSpec :: AppsV1beta1ScaleSpec
mkAppsV1beta1ScaleSpec =
  AppsV1beta1ScaleSpec :: Maybe Int -> AppsV1beta1ScaleSpec
AppsV1beta1ScaleSpec
  { appsV1beta1ScaleSpecReplicas :: Maybe Int
appsV1beta1ScaleSpecReplicas = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** AppsV1beta1ScaleStatus
-- | AppsV1beta1ScaleStatus
-- ScaleStatus represents the current status of a scale subresource.
data AppsV1beta1ScaleStatus = AppsV1beta1ScaleStatus
  { AppsV1beta1ScaleStatus -> Int
appsV1beta1ScaleStatusReplicas :: !(Int) -- ^ /Required/ "replicas" - actual number of observed instances of the scaled object.
  , AppsV1beta1ScaleStatus -> Maybe (Map String Text)
appsV1beta1ScaleStatusSelector :: !(Maybe (Map.Map String Text)) -- ^ "selector" - label query over pods that should match the replicas count. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
  , AppsV1beta1ScaleStatus -> Maybe Text
appsV1beta1ScaleStatusTargetSelector :: !(Maybe Text) -- ^ "targetSelector" - label selector for pods that should match the replicas count. This is a serializated version of both map-based and more expressive set-based selectors. This is done to avoid introspection in the clients. The string will be in the same format as the query-param syntax. If the target type only supports map-based selectors, both this field and map-based selector field are populated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
  } deriving (Int -> AppsV1beta1ScaleStatus -> ShowS
[AppsV1beta1ScaleStatus] -> ShowS
AppsV1beta1ScaleStatus -> String
(Int -> AppsV1beta1ScaleStatus -> ShowS)
-> (AppsV1beta1ScaleStatus -> String)
-> ([AppsV1beta1ScaleStatus] -> ShowS)
-> Show AppsV1beta1ScaleStatus
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AppsV1beta1ScaleStatus] -> ShowS
$cshowList :: [AppsV1beta1ScaleStatus] -> ShowS
show :: AppsV1beta1ScaleStatus -> String
$cshow :: AppsV1beta1ScaleStatus -> String
showsPrec :: Int -> AppsV1beta1ScaleStatus -> ShowS
$cshowsPrec :: Int -> AppsV1beta1ScaleStatus -> ShowS
P.Show, AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool
(AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool)
-> (AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool)
-> Eq AppsV1beta1ScaleStatus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool
$c/= :: AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool
== :: AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool
$c== :: AppsV1beta1ScaleStatus -> AppsV1beta1ScaleStatus -> Bool
P.Eq, P.Typeable)

-- | FromJSON AppsV1beta1ScaleStatus
instance A.FromJSON AppsV1beta1ScaleStatus where
  parseJSON :: Value -> Parser AppsV1beta1ScaleStatus
parseJSON = String
-> (Object -> Parser AppsV1beta1ScaleStatus)
-> Value
-> Parser AppsV1beta1ScaleStatus
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"AppsV1beta1ScaleStatus" ((Object -> Parser AppsV1beta1ScaleStatus)
 -> Value -> Parser AppsV1beta1ScaleStatus)
-> (Object -> Parser AppsV1beta1ScaleStatus)
-> Value
-> Parser AppsV1beta1ScaleStatus
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Int
-> Maybe (Map String Text) -> Maybe Text -> AppsV1beta1ScaleStatus
AppsV1beta1ScaleStatus
      (Int
 -> Maybe (Map String Text) -> Maybe Text -> AppsV1beta1ScaleStatus)
-> Parser Int
-> Parser
     (Maybe (Map String Text) -> Maybe Text -> AppsV1beta1ScaleStatus)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"replicas")
      Parser
  (Maybe (Map String Text) -> Maybe Text -> AppsV1beta1ScaleStatus)
-> Parser (Maybe (Map String Text))
-> Parser (Maybe Text -> AppsV1beta1ScaleStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe (Map String Text))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"selector")
      Parser (Maybe Text -> AppsV1beta1ScaleStatus)
-> Parser (Maybe Text) -> Parser AppsV1beta1ScaleStatus
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"targetSelector")

-- | ToJSON AppsV1beta1ScaleStatus
instance A.ToJSON AppsV1beta1ScaleStatus where
  toJSON :: AppsV1beta1ScaleStatus -> Value
toJSON AppsV1beta1ScaleStatus {Int
Maybe Text
Maybe (Map String Text)
appsV1beta1ScaleStatusTargetSelector :: Maybe Text
appsV1beta1ScaleStatusSelector :: Maybe (Map String Text)
appsV1beta1ScaleStatusReplicas :: Int
appsV1beta1ScaleStatusTargetSelector :: AppsV1beta1ScaleStatus -> Maybe Text
appsV1beta1ScaleStatusSelector :: AppsV1beta1ScaleStatus -> Maybe (Map String Text)
appsV1beta1ScaleStatusReplicas :: AppsV1beta1ScaleStatus -> Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"replicas" Text -> Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Int
appsV1beta1ScaleStatusReplicas
      , Text
"selector" Text -> Maybe (Map String Text) -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe (Map String Text)
appsV1beta1ScaleStatusSelector
      , Text
"targetSelector" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
appsV1beta1ScaleStatusTargetSelector
      ]


-- | Construct a value of type 'AppsV1beta1ScaleStatus' (by applying it's required fields, if any)
mkAppsV1beta1ScaleStatus
  :: Int -- ^ 'appsV1beta1ScaleStatusReplicas': actual number of observed instances of the scaled object.
  -> AppsV1beta1ScaleStatus
mkAppsV1beta1ScaleStatus :: Int -> AppsV1beta1ScaleStatus
mkAppsV1beta1ScaleStatus Int
appsV1beta1ScaleStatusReplicas =
  AppsV1beta1ScaleStatus :: Int
-> Maybe (Map String Text) -> Maybe Text -> AppsV1beta1ScaleStatus
AppsV1beta1ScaleStatus
  { Int
appsV1beta1ScaleStatusReplicas :: Int
appsV1beta1ScaleStatusReplicas :: Int
appsV1beta1ScaleStatusReplicas
  , appsV1beta1ScaleStatusSelector :: Maybe (Map String Text)
appsV1beta1ScaleStatusSelector = Maybe (Map String Text)
forall a. Maybe a
Nothing
  , appsV1beta1ScaleStatusTargetSelector :: Maybe Text
appsV1beta1ScaleStatusTargetSelector = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1AllowedCSIDriver
-- | ExtensionsV1beta1AllowedCSIDriver
-- AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used.
data ExtensionsV1beta1AllowedCSIDriver = ExtensionsV1beta1AllowedCSIDriver
  { ExtensionsV1beta1AllowedCSIDriver -> Text
extensionsV1beta1AllowedCSIDriverName :: !(Text) -- ^ /Required/ "name" - Name is the registered name of the CSI driver
  } deriving (Int -> ExtensionsV1beta1AllowedCSIDriver -> ShowS
[ExtensionsV1beta1AllowedCSIDriver] -> ShowS
ExtensionsV1beta1AllowedCSIDriver -> String
(Int -> ExtensionsV1beta1AllowedCSIDriver -> ShowS)
-> (ExtensionsV1beta1AllowedCSIDriver -> String)
-> ([ExtensionsV1beta1AllowedCSIDriver] -> ShowS)
-> Show ExtensionsV1beta1AllowedCSIDriver
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1AllowedCSIDriver] -> ShowS
$cshowList :: [ExtensionsV1beta1AllowedCSIDriver] -> ShowS
show :: ExtensionsV1beta1AllowedCSIDriver -> String
$cshow :: ExtensionsV1beta1AllowedCSIDriver -> String
showsPrec :: Int -> ExtensionsV1beta1AllowedCSIDriver -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1AllowedCSIDriver -> ShowS
P.Show, ExtensionsV1beta1AllowedCSIDriver
-> ExtensionsV1beta1AllowedCSIDriver -> Bool
(ExtensionsV1beta1AllowedCSIDriver
 -> ExtensionsV1beta1AllowedCSIDriver -> Bool)
-> (ExtensionsV1beta1AllowedCSIDriver
    -> ExtensionsV1beta1AllowedCSIDriver -> Bool)
-> Eq ExtensionsV1beta1AllowedCSIDriver
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1AllowedCSIDriver
-> ExtensionsV1beta1AllowedCSIDriver -> Bool
$c/= :: ExtensionsV1beta1AllowedCSIDriver
-> ExtensionsV1beta1AllowedCSIDriver -> Bool
== :: ExtensionsV1beta1AllowedCSIDriver
-> ExtensionsV1beta1AllowedCSIDriver -> Bool
$c== :: ExtensionsV1beta1AllowedCSIDriver
-> ExtensionsV1beta1AllowedCSIDriver -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1AllowedCSIDriver
instance A.FromJSON ExtensionsV1beta1AllowedCSIDriver where
  parseJSON :: Value -> Parser ExtensionsV1beta1AllowedCSIDriver
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1AllowedCSIDriver)
-> Value
-> Parser ExtensionsV1beta1AllowedCSIDriver
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1AllowedCSIDriver" ((Object -> Parser ExtensionsV1beta1AllowedCSIDriver)
 -> Value -> Parser ExtensionsV1beta1AllowedCSIDriver)
-> (Object -> Parser ExtensionsV1beta1AllowedCSIDriver)
-> Value
-> Parser ExtensionsV1beta1AllowedCSIDriver
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text -> ExtensionsV1beta1AllowedCSIDriver
ExtensionsV1beta1AllowedCSIDriver
      (Text -> ExtensionsV1beta1AllowedCSIDriver)
-> Parser Text -> Parser ExtensionsV1beta1AllowedCSIDriver
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")

-- | ToJSON ExtensionsV1beta1AllowedCSIDriver
instance A.ToJSON ExtensionsV1beta1AllowedCSIDriver where
  toJSON :: ExtensionsV1beta1AllowedCSIDriver -> Value
toJSON ExtensionsV1beta1AllowedCSIDriver {Text
extensionsV1beta1AllowedCSIDriverName :: Text
extensionsV1beta1AllowedCSIDriverName :: ExtensionsV1beta1AllowedCSIDriver -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
extensionsV1beta1AllowedCSIDriverName
      ]


-- | Construct a value of type 'ExtensionsV1beta1AllowedCSIDriver' (by applying it's required fields, if any)
mkExtensionsV1beta1AllowedCSIDriver
  :: Text -- ^ 'extensionsV1beta1AllowedCSIDriverName': Name is the registered name of the CSI driver
  -> ExtensionsV1beta1AllowedCSIDriver
mkExtensionsV1beta1AllowedCSIDriver :: Text -> ExtensionsV1beta1AllowedCSIDriver
mkExtensionsV1beta1AllowedCSIDriver Text
extensionsV1beta1AllowedCSIDriverName =
  ExtensionsV1beta1AllowedCSIDriver :: Text -> ExtensionsV1beta1AllowedCSIDriver
ExtensionsV1beta1AllowedCSIDriver
  { Text
extensionsV1beta1AllowedCSIDriverName :: Text
extensionsV1beta1AllowedCSIDriverName :: Text
extensionsV1beta1AllowedCSIDriverName
  }

-- ** ExtensionsV1beta1AllowedFlexVolume
-- | ExtensionsV1beta1AllowedFlexVolume
-- AllowedFlexVolume represents a single Flexvolume that is allowed to be used. Deprecated: use AllowedFlexVolume from policy API Group instead.
data ExtensionsV1beta1AllowedFlexVolume = ExtensionsV1beta1AllowedFlexVolume
  { ExtensionsV1beta1AllowedFlexVolume -> Text
extensionsV1beta1AllowedFlexVolumeDriver :: !(Text) -- ^ /Required/ "driver" - driver is the name of the Flexvolume driver.
  } deriving (Int -> ExtensionsV1beta1AllowedFlexVolume -> ShowS
[ExtensionsV1beta1AllowedFlexVolume] -> ShowS
ExtensionsV1beta1AllowedFlexVolume -> String
(Int -> ExtensionsV1beta1AllowedFlexVolume -> ShowS)
-> (ExtensionsV1beta1AllowedFlexVolume -> String)
-> ([ExtensionsV1beta1AllowedFlexVolume] -> ShowS)
-> Show ExtensionsV1beta1AllowedFlexVolume
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1AllowedFlexVolume] -> ShowS
$cshowList :: [ExtensionsV1beta1AllowedFlexVolume] -> ShowS
show :: ExtensionsV1beta1AllowedFlexVolume -> String
$cshow :: ExtensionsV1beta1AllowedFlexVolume -> String
showsPrec :: Int -> ExtensionsV1beta1AllowedFlexVolume -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1AllowedFlexVolume -> ShowS
P.Show, ExtensionsV1beta1AllowedFlexVolume
-> ExtensionsV1beta1AllowedFlexVolume -> Bool
(ExtensionsV1beta1AllowedFlexVolume
 -> ExtensionsV1beta1AllowedFlexVolume -> Bool)
-> (ExtensionsV1beta1AllowedFlexVolume
    -> ExtensionsV1beta1AllowedFlexVolume -> Bool)
-> Eq ExtensionsV1beta1AllowedFlexVolume
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1AllowedFlexVolume
-> ExtensionsV1beta1AllowedFlexVolume -> Bool
$c/= :: ExtensionsV1beta1AllowedFlexVolume
-> ExtensionsV1beta1AllowedFlexVolume -> Bool
== :: ExtensionsV1beta1AllowedFlexVolume
-> ExtensionsV1beta1AllowedFlexVolume -> Bool
$c== :: ExtensionsV1beta1AllowedFlexVolume
-> ExtensionsV1beta1AllowedFlexVolume -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1AllowedFlexVolume
instance A.FromJSON ExtensionsV1beta1AllowedFlexVolume where
  parseJSON :: Value -> Parser ExtensionsV1beta1AllowedFlexVolume
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1AllowedFlexVolume)
-> Value
-> Parser ExtensionsV1beta1AllowedFlexVolume
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1AllowedFlexVolume" ((Object -> Parser ExtensionsV1beta1AllowedFlexVolume)
 -> Value -> Parser ExtensionsV1beta1AllowedFlexVolume)
-> (Object -> Parser ExtensionsV1beta1AllowedFlexVolume)
-> Value
-> Parser ExtensionsV1beta1AllowedFlexVolume
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text -> ExtensionsV1beta1AllowedFlexVolume
ExtensionsV1beta1AllowedFlexVolume
      (Text -> ExtensionsV1beta1AllowedFlexVolume)
-> Parser Text -> Parser ExtensionsV1beta1AllowedFlexVolume
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"driver")

-- | ToJSON ExtensionsV1beta1AllowedFlexVolume
instance A.ToJSON ExtensionsV1beta1AllowedFlexVolume where
  toJSON :: ExtensionsV1beta1AllowedFlexVolume -> Value
toJSON ExtensionsV1beta1AllowedFlexVolume {Text
extensionsV1beta1AllowedFlexVolumeDriver :: Text
extensionsV1beta1AllowedFlexVolumeDriver :: ExtensionsV1beta1AllowedFlexVolume -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"driver" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
extensionsV1beta1AllowedFlexVolumeDriver
      ]


-- | Construct a value of type 'ExtensionsV1beta1AllowedFlexVolume' (by applying it's required fields, if any)
mkExtensionsV1beta1AllowedFlexVolume
  :: Text -- ^ 'extensionsV1beta1AllowedFlexVolumeDriver': driver is the name of the Flexvolume driver.
  -> ExtensionsV1beta1AllowedFlexVolume
mkExtensionsV1beta1AllowedFlexVolume :: Text -> ExtensionsV1beta1AllowedFlexVolume
mkExtensionsV1beta1AllowedFlexVolume Text
extensionsV1beta1AllowedFlexVolumeDriver =
  ExtensionsV1beta1AllowedFlexVolume :: Text -> ExtensionsV1beta1AllowedFlexVolume
ExtensionsV1beta1AllowedFlexVolume
  { Text
extensionsV1beta1AllowedFlexVolumeDriver :: Text
extensionsV1beta1AllowedFlexVolumeDriver :: Text
extensionsV1beta1AllowedFlexVolumeDriver
  }

-- ** ExtensionsV1beta1AllowedHostPath
-- | ExtensionsV1beta1AllowedHostPath
-- AllowedHostPath defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined. Deprecated: use AllowedHostPath from policy API Group instead.
data ExtensionsV1beta1AllowedHostPath = ExtensionsV1beta1AllowedHostPath
  { ExtensionsV1beta1AllowedHostPath -> Maybe Text
extensionsV1beta1AllowedHostPathPathPrefix :: !(Maybe Text) -- ^ "pathPrefix" - pathPrefix is the path prefix that the host volume must match. It does not support &#x60;*&#x60;. Trailing slashes are trimmed when validating the path prefix with a host path.  Examples: &#x60;/foo&#x60; would allow &#x60;/foo&#x60;, &#x60;/foo/&#x60; and &#x60;/foo/bar&#x60; &#x60;/foo&#x60; would not allow &#x60;/food&#x60; or &#x60;/etc/foo&#x60;
  , ExtensionsV1beta1AllowedHostPath -> Maybe Bool
extensionsV1beta1AllowedHostPathReadOnly :: !(Maybe Bool) -- ^ "readOnly" - when set to true, will allow host volumes matching the pathPrefix only if all volume mounts are readOnly.
  } deriving (Int -> ExtensionsV1beta1AllowedHostPath -> ShowS
[ExtensionsV1beta1AllowedHostPath] -> ShowS
ExtensionsV1beta1AllowedHostPath -> String
(Int -> ExtensionsV1beta1AllowedHostPath -> ShowS)
-> (ExtensionsV1beta1AllowedHostPath -> String)
-> ([ExtensionsV1beta1AllowedHostPath] -> ShowS)
-> Show ExtensionsV1beta1AllowedHostPath
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1AllowedHostPath] -> ShowS
$cshowList :: [ExtensionsV1beta1AllowedHostPath] -> ShowS
show :: ExtensionsV1beta1AllowedHostPath -> String
$cshow :: ExtensionsV1beta1AllowedHostPath -> String
showsPrec :: Int -> ExtensionsV1beta1AllowedHostPath -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1AllowedHostPath -> ShowS
P.Show, ExtensionsV1beta1AllowedHostPath
-> ExtensionsV1beta1AllowedHostPath -> Bool
(ExtensionsV1beta1AllowedHostPath
 -> ExtensionsV1beta1AllowedHostPath -> Bool)
-> (ExtensionsV1beta1AllowedHostPath
    -> ExtensionsV1beta1AllowedHostPath -> Bool)
-> Eq ExtensionsV1beta1AllowedHostPath
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1AllowedHostPath
-> ExtensionsV1beta1AllowedHostPath -> Bool
$c/= :: ExtensionsV1beta1AllowedHostPath
-> ExtensionsV1beta1AllowedHostPath -> Bool
== :: ExtensionsV1beta1AllowedHostPath
-> ExtensionsV1beta1AllowedHostPath -> Bool
$c== :: ExtensionsV1beta1AllowedHostPath
-> ExtensionsV1beta1AllowedHostPath -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1AllowedHostPath
instance A.FromJSON ExtensionsV1beta1AllowedHostPath where
  parseJSON :: Value -> Parser ExtensionsV1beta1AllowedHostPath
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1AllowedHostPath)
-> Value
-> Parser ExtensionsV1beta1AllowedHostPath
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1AllowedHostPath" ((Object -> Parser ExtensionsV1beta1AllowedHostPath)
 -> Value -> Parser ExtensionsV1beta1AllowedHostPath)
-> (Object -> Parser ExtensionsV1beta1AllowedHostPath)
-> Value
-> Parser ExtensionsV1beta1AllowedHostPath
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text -> Maybe Bool -> ExtensionsV1beta1AllowedHostPath
ExtensionsV1beta1AllowedHostPath
      (Maybe Text -> Maybe Bool -> ExtensionsV1beta1AllowedHostPath)
-> Parser (Maybe Text)
-> Parser (Maybe Bool -> ExtensionsV1beta1AllowedHostPath)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"pathPrefix")
      Parser (Maybe Bool -> ExtensionsV1beta1AllowedHostPath)
-> Parser (Maybe Bool) -> Parser ExtensionsV1beta1AllowedHostPath
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"readOnly")

-- | ToJSON ExtensionsV1beta1AllowedHostPath
instance A.ToJSON ExtensionsV1beta1AllowedHostPath where
  toJSON :: ExtensionsV1beta1AllowedHostPath -> Value
toJSON ExtensionsV1beta1AllowedHostPath {Maybe Bool
Maybe Text
extensionsV1beta1AllowedHostPathReadOnly :: Maybe Bool
extensionsV1beta1AllowedHostPathPathPrefix :: Maybe Text
extensionsV1beta1AllowedHostPathReadOnly :: ExtensionsV1beta1AllowedHostPath -> Maybe Bool
extensionsV1beta1AllowedHostPathPathPrefix :: ExtensionsV1beta1AllowedHostPath -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"pathPrefix" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1AllowedHostPathPathPrefix
      , Text
"readOnly" Text -> Maybe Bool -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Bool
extensionsV1beta1AllowedHostPathReadOnly
      ]


-- | Construct a value of type 'ExtensionsV1beta1AllowedHostPath' (by applying it's required fields, if any)
mkExtensionsV1beta1AllowedHostPath
  :: ExtensionsV1beta1AllowedHostPath
mkExtensionsV1beta1AllowedHostPath :: ExtensionsV1beta1AllowedHostPath
mkExtensionsV1beta1AllowedHostPath =
  ExtensionsV1beta1AllowedHostPath :: Maybe Text -> Maybe Bool -> ExtensionsV1beta1AllowedHostPath
ExtensionsV1beta1AllowedHostPath
  { extensionsV1beta1AllowedHostPathPathPrefix :: Maybe Text
extensionsV1beta1AllowedHostPathPathPrefix = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1AllowedHostPathReadOnly :: Maybe Bool
extensionsV1beta1AllowedHostPathReadOnly = Maybe Bool
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1Deployment
-- | ExtensionsV1beta1Deployment
-- DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the release notes for more information. Deployment enables declarative updates for Pods and ReplicaSets.
data ExtensionsV1beta1Deployment = ExtensionsV1beta1Deployment
  { ExtensionsV1beta1Deployment -> Maybe Text
extensionsV1beta1DeploymentApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , ExtensionsV1beta1Deployment -> Maybe Text
extensionsV1beta1DeploymentKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , ExtensionsV1beta1Deployment -> Maybe V1ObjectMeta
extensionsV1beta1DeploymentMetadata :: !(Maybe V1ObjectMeta) -- ^ "metadata"
  , ExtensionsV1beta1Deployment
-> Maybe ExtensionsV1beta1DeploymentSpec
extensionsV1beta1DeploymentSpec :: !(Maybe ExtensionsV1beta1DeploymentSpec) -- ^ "spec"
  , ExtensionsV1beta1Deployment
-> Maybe ExtensionsV1beta1DeploymentStatus
extensionsV1beta1DeploymentStatus :: !(Maybe ExtensionsV1beta1DeploymentStatus) -- ^ "status"
  } deriving (Int -> ExtensionsV1beta1Deployment -> ShowS
[ExtensionsV1beta1Deployment] -> ShowS
ExtensionsV1beta1Deployment -> String
(Int -> ExtensionsV1beta1Deployment -> ShowS)
-> (ExtensionsV1beta1Deployment -> String)
-> ([ExtensionsV1beta1Deployment] -> ShowS)
-> Show ExtensionsV1beta1Deployment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1Deployment] -> ShowS
$cshowList :: [ExtensionsV1beta1Deployment] -> ShowS
show :: ExtensionsV1beta1Deployment -> String
$cshow :: ExtensionsV1beta1Deployment -> String
showsPrec :: Int -> ExtensionsV1beta1Deployment -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1Deployment -> ShowS
P.Show, ExtensionsV1beta1Deployment -> ExtensionsV1beta1Deployment -> Bool
(ExtensionsV1beta1Deployment
 -> ExtensionsV1beta1Deployment -> Bool)
-> (ExtensionsV1beta1Deployment
    -> ExtensionsV1beta1Deployment -> Bool)
-> Eq ExtensionsV1beta1Deployment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1Deployment -> ExtensionsV1beta1Deployment -> Bool
$c/= :: ExtensionsV1beta1Deployment -> ExtensionsV1beta1Deployment -> Bool
== :: ExtensionsV1beta1Deployment -> ExtensionsV1beta1Deployment -> Bool
$c== :: ExtensionsV1beta1Deployment -> ExtensionsV1beta1Deployment -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1Deployment
instance A.FromJSON ExtensionsV1beta1Deployment where
  parseJSON :: Value -> Parser ExtensionsV1beta1Deployment
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1Deployment)
-> Value
-> Parser ExtensionsV1beta1Deployment
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1Deployment" ((Object -> Parser ExtensionsV1beta1Deployment)
 -> Value -> Parser ExtensionsV1beta1Deployment)
-> (Object -> Parser ExtensionsV1beta1Deployment)
-> Value
-> Parser ExtensionsV1beta1Deployment
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe ExtensionsV1beta1DeploymentSpec
-> Maybe ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1Deployment
ExtensionsV1beta1Deployment
      (Maybe Text
 -> Maybe Text
 -> Maybe V1ObjectMeta
 -> Maybe ExtensionsV1beta1DeploymentSpec
 -> Maybe ExtensionsV1beta1DeploymentStatus
 -> ExtensionsV1beta1Deployment)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe V1ObjectMeta
      -> Maybe ExtensionsV1beta1DeploymentSpec
      -> Maybe ExtensionsV1beta1DeploymentStatus
      -> ExtensionsV1beta1Deployment)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  (Maybe Text
   -> Maybe V1ObjectMeta
   -> Maybe ExtensionsV1beta1DeploymentSpec
   -> Maybe ExtensionsV1beta1DeploymentStatus
   -> ExtensionsV1beta1Deployment)
-> Parser (Maybe Text)
-> Parser
     (Maybe V1ObjectMeta
      -> Maybe ExtensionsV1beta1DeploymentSpec
      -> Maybe ExtensionsV1beta1DeploymentStatus
      -> ExtensionsV1beta1Deployment)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser
  (Maybe V1ObjectMeta
   -> Maybe ExtensionsV1beta1DeploymentSpec
   -> Maybe ExtensionsV1beta1DeploymentStatus
   -> ExtensionsV1beta1Deployment)
-> Parser (Maybe V1ObjectMeta)
-> Parser
     (Maybe ExtensionsV1beta1DeploymentSpec
      -> Maybe ExtensionsV1beta1DeploymentStatus
      -> ExtensionsV1beta1Deployment)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ObjectMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")
      Parser
  (Maybe ExtensionsV1beta1DeploymentSpec
   -> Maybe ExtensionsV1beta1DeploymentStatus
   -> ExtensionsV1beta1Deployment)
-> Parser (Maybe ExtensionsV1beta1DeploymentSpec)
-> Parser
     (Maybe ExtensionsV1beta1DeploymentStatus
      -> ExtensionsV1beta1Deployment)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe ExtensionsV1beta1DeploymentSpec)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"spec")
      Parser
  (Maybe ExtensionsV1beta1DeploymentStatus
   -> ExtensionsV1beta1Deployment)
-> Parser (Maybe ExtensionsV1beta1DeploymentStatus)
-> Parser ExtensionsV1beta1Deployment
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe ExtensionsV1beta1DeploymentStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"status")

-- | ToJSON ExtensionsV1beta1Deployment
instance A.ToJSON ExtensionsV1beta1Deployment where
  toJSON :: ExtensionsV1beta1Deployment -> Value
toJSON ExtensionsV1beta1Deployment {Maybe Text
Maybe V1ObjectMeta
Maybe ExtensionsV1beta1DeploymentStatus
Maybe ExtensionsV1beta1DeploymentSpec
extensionsV1beta1DeploymentStatus :: Maybe ExtensionsV1beta1DeploymentStatus
extensionsV1beta1DeploymentSpec :: Maybe ExtensionsV1beta1DeploymentSpec
extensionsV1beta1DeploymentMetadata :: Maybe V1ObjectMeta
extensionsV1beta1DeploymentKind :: Maybe Text
extensionsV1beta1DeploymentApiVersion :: Maybe Text
extensionsV1beta1DeploymentStatus :: ExtensionsV1beta1Deployment
-> Maybe ExtensionsV1beta1DeploymentStatus
extensionsV1beta1DeploymentSpec :: ExtensionsV1beta1Deployment
-> Maybe ExtensionsV1beta1DeploymentSpec
extensionsV1beta1DeploymentMetadata :: ExtensionsV1beta1Deployment -> Maybe V1ObjectMeta
extensionsV1beta1DeploymentKind :: ExtensionsV1beta1Deployment -> Maybe Text
extensionsV1beta1DeploymentApiVersion :: ExtensionsV1beta1Deployment -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentApiVersion
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentKind
      , Text
"metadata" Text -> Maybe V1ObjectMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ObjectMeta
extensionsV1beta1DeploymentMetadata
      , Text
"spec" Text -> Maybe ExtensionsV1beta1DeploymentSpec -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1DeploymentSpec
extensionsV1beta1DeploymentSpec
      , Text
"status" Text -> Maybe ExtensionsV1beta1DeploymentStatus -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1DeploymentStatus
extensionsV1beta1DeploymentStatus
      ]


-- | Construct a value of type 'ExtensionsV1beta1Deployment' (by applying it's required fields, if any)
mkExtensionsV1beta1Deployment
  :: ExtensionsV1beta1Deployment
mkExtensionsV1beta1Deployment :: ExtensionsV1beta1Deployment
mkExtensionsV1beta1Deployment =
  ExtensionsV1beta1Deployment :: Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe ExtensionsV1beta1DeploymentSpec
-> Maybe ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1Deployment
ExtensionsV1beta1Deployment
  { extensionsV1beta1DeploymentApiVersion :: Maybe Text
extensionsV1beta1DeploymentApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentKind :: Maybe Text
extensionsV1beta1DeploymentKind = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentMetadata :: Maybe V1ObjectMeta
extensionsV1beta1DeploymentMetadata = Maybe V1ObjectMeta
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpec :: Maybe ExtensionsV1beta1DeploymentSpec
extensionsV1beta1DeploymentSpec = Maybe ExtensionsV1beta1DeploymentSpec
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatus :: Maybe ExtensionsV1beta1DeploymentStatus
extensionsV1beta1DeploymentStatus = Maybe ExtensionsV1beta1DeploymentStatus
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1DeploymentCondition
-- | ExtensionsV1beta1DeploymentCondition
-- DeploymentCondition describes the state of a deployment at a certain point.
data ExtensionsV1beta1DeploymentCondition = ExtensionsV1beta1DeploymentCondition
  { ExtensionsV1beta1DeploymentCondition -> Maybe DateTime
extensionsV1beta1DeploymentConditionLastTransitionTime :: !(Maybe DateTime) -- ^ "lastTransitionTime" - Last time the condition transitioned from one status to another.
  , ExtensionsV1beta1DeploymentCondition -> Maybe DateTime
extensionsV1beta1DeploymentConditionLastUpdateTime :: !(Maybe DateTime) -- ^ "lastUpdateTime" - The last time this condition was updated.
  , ExtensionsV1beta1DeploymentCondition -> Maybe Text
extensionsV1beta1DeploymentConditionMessage :: !(Maybe Text) -- ^ "message" - A human readable message indicating details about the transition.
  , ExtensionsV1beta1DeploymentCondition -> Maybe Text
extensionsV1beta1DeploymentConditionReason :: !(Maybe Text) -- ^ "reason" - The reason for the condition&#39;s last transition.
  , ExtensionsV1beta1DeploymentCondition -> Text
extensionsV1beta1DeploymentConditionStatus :: !(Text) -- ^ /Required/ "status" - Status of the condition, one of True, False, Unknown.
  , ExtensionsV1beta1DeploymentCondition -> Text
extensionsV1beta1DeploymentConditionType :: !(Text) -- ^ /Required/ "type" - Type of deployment condition.
  } deriving (Int -> ExtensionsV1beta1DeploymentCondition -> ShowS
[ExtensionsV1beta1DeploymentCondition] -> ShowS
ExtensionsV1beta1DeploymentCondition -> String
(Int -> ExtensionsV1beta1DeploymentCondition -> ShowS)
-> (ExtensionsV1beta1DeploymentCondition -> String)
-> ([ExtensionsV1beta1DeploymentCondition] -> ShowS)
-> Show ExtensionsV1beta1DeploymentCondition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1DeploymentCondition] -> ShowS
$cshowList :: [ExtensionsV1beta1DeploymentCondition] -> ShowS
show :: ExtensionsV1beta1DeploymentCondition -> String
$cshow :: ExtensionsV1beta1DeploymentCondition -> String
showsPrec :: Int -> ExtensionsV1beta1DeploymentCondition -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1DeploymentCondition -> ShowS
P.Show, ExtensionsV1beta1DeploymentCondition
-> ExtensionsV1beta1DeploymentCondition -> Bool
(ExtensionsV1beta1DeploymentCondition
 -> ExtensionsV1beta1DeploymentCondition -> Bool)
-> (ExtensionsV1beta1DeploymentCondition
    -> ExtensionsV1beta1DeploymentCondition -> Bool)
-> Eq ExtensionsV1beta1DeploymentCondition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1DeploymentCondition
-> ExtensionsV1beta1DeploymentCondition -> Bool
$c/= :: ExtensionsV1beta1DeploymentCondition
-> ExtensionsV1beta1DeploymentCondition -> Bool
== :: ExtensionsV1beta1DeploymentCondition
-> ExtensionsV1beta1DeploymentCondition -> Bool
$c== :: ExtensionsV1beta1DeploymentCondition
-> ExtensionsV1beta1DeploymentCondition -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1DeploymentCondition
instance A.FromJSON ExtensionsV1beta1DeploymentCondition where
  parseJSON :: Value -> Parser ExtensionsV1beta1DeploymentCondition
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1DeploymentCondition)
-> Value
-> Parser ExtensionsV1beta1DeploymentCondition
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1DeploymentCondition" ((Object -> Parser ExtensionsV1beta1DeploymentCondition)
 -> Value -> Parser ExtensionsV1beta1DeploymentCondition)
-> (Object -> Parser ExtensionsV1beta1DeploymentCondition)
-> Value
-> Parser ExtensionsV1beta1DeploymentCondition
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe DateTime
-> Maybe DateTime
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> ExtensionsV1beta1DeploymentCondition
ExtensionsV1beta1DeploymentCondition
      (Maybe DateTime
 -> Maybe DateTime
 -> Maybe Text
 -> Maybe Text
 -> Text
 -> Text
 -> ExtensionsV1beta1DeploymentCondition)
-> Parser (Maybe DateTime)
-> Parser
     (Maybe DateTime
      -> Maybe Text
      -> Maybe Text
      -> Text
      -> Text
      -> ExtensionsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe DateTime)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"lastTransitionTime")
      Parser
  (Maybe DateTime
   -> Maybe Text
   -> Maybe Text
   -> Text
   -> Text
   -> ExtensionsV1beta1DeploymentCondition)
-> Parser (Maybe DateTime)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Text
      -> Text
      -> ExtensionsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe DateTime)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"lastUpdateTime")
      Parser
  (Maybe Text
   -> Maybe Text
   -> Text
   -> Text
   -> ExtensionsV1beta1DeploymentCondition)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Text -> Text -> ExtensionsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"message")
      Parser
  (Maybe Text
   -> Text -> Text -> ExtensionsV1beta1DeploymentCondition)
-> Parser (Maybe Text)
-> Parser (Text -> Text -> ExtensionsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"reason")
      Parser (Text -> Text -> ExtensionsV1beta1DeploymentCondition)
-> Parser Text
-> Parser (Text -> ExtensionsV1beta1DeploymentCondition)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"status")
      Parser (Text -> ExtensionsV1beta1DeploymentCondition)
-> Parser Text -> Parser ExtensionsV1beta1DeploymentCondition
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"type")

-- | ToJSON ExtensionsV1beta1DeploymentCondition
instance A.ToJSON ExtensionsV1beta1DeploymentCondition where
  toJSON :: ExtensionsV1beta1DeploymentCondition -> Value
toJSON ExtensionsV1beta1DeploymentCondition {Maybe Text
Maybe DateTime
Text
extensionsV1beta1DeploymentConditionType :: Text
extensionsV1beta1DeploymentConditionStatus :: Text
extensionsV1beta1DeploymentConditionReason :: Maybe Text
extensionsV1beta1DeploymentConditionMessage :: Maybe Text
extensionsV1beta1DeploymentConditionLastUpdateTime :: Maybe DateTime
extensionsV1beta1DeploymentConditionLastTransitionTime :: Maybe DateTime
extensionsV1beta1DeploymentConditionType :: ExtensionsV1beta1DeploymentCondition -> Text
extensionsV1beta1DeploymentConditionStatus :: ExtensionsV1beta1DeploymentCondition -> Text
extensionsV1beta1DeploymentConditionReason :: ExtensionsV1beta1DeploymentCondition -> Maybe Text
extensionsV1beta1DeploymentConditionMessage :: ExtensionsV1beta1DeploymentCondition -> Maybe Text
extensionsV1beta1DeploymentConditionLastUpdateTime :: ExtensionsV1beta1DeploymentCondition -> Maybe DateTime
extensionsV1beta1DeploymentConditionLastTransitionTime :: ExtensionsV1beta1DeploymentCondition -> Maybe DateTime
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"lastTransitionTime" Text -> Maybe DateTime -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe DateTime
extensionsV1beta1DeploymentConditionLastTransitionTime
      , Text
"lastUpdateTime" Text -> Maybe DateTime -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe DateTime
extensionsV1beta1DeploymentConditionLastUpdateTime
      , Text
"message" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentConditionMessage
      , Text
"reason" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentConditionReason
      , Text
"status" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
extensionsV1beta1DeploymentConditionStatus
      , Text
"type" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
extensionsV1beta1DeploymentConditionType
      ]


-- | Construct a value of type 'ExtensionsV1beta1DeploymentCondition' (by applying it's required fields, if any)
mkExtensionsV1beta1DeploymentCondition
  :: Text -- ^ 'extensionsV1beta1DeploymentConditionStatus': Status of the condition, one of True, False, Unknown.
  -> Text -- ^ 'extensionsV1beta1DeploymentConditionType': Type of deployment condition.
  -> ExtensionsV1beta1DeploymentCondition
mkExtensionsV1beta1DeploymentCondition :: Text -> Text -> ExtensionsV1beta1DeploymentCondition
mkExtensionsV1beta1DeploymentCondition Text
extensionsV1beta1DeploymentConditionStatus Text
extensionsV1beta1DeploymentConditionType =
  ExtensionsV1beta1DeploymentCondition :: Maybe DateTime
-> Maybe DateTime
-> Maybe Text
-> Maybe Text
-> Text
-> Text
-> ExtensionsV1beta1DeploymentCondition
ExtensionsV1beta1DeploymentCondition
  { extensionsV1beta1DeploymentConditionLastTransitionTime :: Maybe DateTime
extensionsV1beta1DeploymentConditionLastTransitionTime = Maybe DateTime
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentConditionLastUpdateTime :: Maybe DateTime
extensionsV1beta1DeploymentConditionLastUpdateTime = Maybe DateTime
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentConditionMessage :: Maybe Text
extensionsV1beta1DeploymentConditionMessage = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentConditionReason :: Maybe Text
extensionsV1beta1DeploymentConditionReason = Maybe Text
forall a. Maybe a
Nothing
  , Text
extensionsV1beta1DeploymentConditionStatus :: Text
extensionsV1beta1DeploymentConditionStatus :: Text
extensionsV1beta1DeploymentConditionStatus
  , Text
extensionsV1beta1DeploymentConditionType :: Text
extensionsV1beta1DeploymentConditionType :: Text
extensionsV1beta1DeploymentConditionType
  }

-- ** ExtensionsV1beta1DeploymentList
-- | ExtensionsV1beta1DeploymentList
-- DeploymentList is a list of Deployments.
data ExtensionsV1beta1DeploymentList = ExtensionsV1beta1DeploymentList
  { ExtensionsV1beta1DeploymentList -> Maybe Text
extensionsV1beta1DeploymentListApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , ExtensionsV1beta1DeploymentList -> [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListItems :: !([ExtensionsV1beta1Deployment]) -- ^ /Required/ "items" - Items is the list of Deployments.
  , ExtensionsV1beta1DeploymentList -> Maybe Text
extensionsV1beta1DeploymentListKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , ExtensionsV1beta1DeploymentList -> Maybe V1ListMeta
extensionsV1beta1DeploymentListMetadata :: !(Maybe V1ListMeta) -- ^ "metadata"
  } deriving (Int -> ExtensionsV1beta1DeploymentList -> ShowS
[ExtensionsV1beta1DeploymentList] -> ShowS
ExtensionsV1beta1DeploymentList -> String
(Int -> ExtensionsV1beta1DeploymentList -> ShowS)
-> (ExtensionsV1beta1DeploymentList -> String)
-> ([ExtensionsV1beta1DeploymentList] -> ShowS)
-> Show ExtensionsV1beta1DeploymentList
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1DeploymentList] -> ShowS
$cshowList :: [ExtensionsV1beta1DeploymentList] -> ShowS
show :: ExtensionsV1beta1DeploymentList -> String
$cshow :: ExtensionsV1beta1DeploymentList -> String
showsPrec :: Int -> ExtensionsV1beta1DeploymentList -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1DeploymentList -> ShowS
P.Show, ExtensionsV1beta1DeploymentList
-> ExtensionsV1beta1DeploymentList -> Bool
(ExtensionsV1beta1DeploymentList
 -> ExtensionsV1beta1DeploymentList -> Bool)
-> (ExtensionsV1beta1DeploymentList
    -> ExtensionsV1beta1DeploymentList -> Bool)
-> Eq ExtensionsV1beta1DeploymentList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1DeploymentList
-> ExtensionsV1beta1DeploymentList -> Bool
$c/= :: ExtensionsV1beta1DeploymentList
-> ExtensionsV1beta1DeploymentList -> Bool
== :: ExtensionsV1beta1DeploymentList
-> ExtensionsV1beta1DeploymentList -> Bool
$c== :: ExtensionsV1beta1DeploymentList
-> ExtensionsV1beta1DeploymentList -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1DeploymentList
instance A.FromJSON ExtensionsV1beta1DeploymentList where
  parseJSON :: Value -> Parser ExtensionsV1beta1DeploymentList
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1DeploymentList)
-> Value
-> Parser ExtensionsV1beta1DeploymentList
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1DeploymentList" ((Object -> Parser ExtensionsV1beta1DeploymentList)
 -> Value -> Parser ExtensionsV1beta1DeploymentList)
-> (Object -> Parser ExtensionsV1beta1DeploymentList)
-> Value
-> Parser ExtensionsV1beta1DeploymentList
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> [ExtensionsV1beta1Deployment]
-> Maybe Text
-> Maybe V1ListMeta
-> ExtensionsV1beta1DeploymentList
ExtensionsV1beta1DeploymentList
      (Maybe Text
 -> [ExtensionsV1beta1Deployment]
 -> Maybe Text
 -> Maybe V1ListMeta
 -> ExtensionsV1beta1DeploymentList)
-> Parser (Maybe Text)
-> Parser
     ([ExtensionsV1beta1Deployment]
      -> Maybe Text
      -> Maybe V1ListMeta
      -> ExtensionsV1beta1DeploymentList)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  ([ExtensionsV1beta1Deployment]
   -> Maybe Text
   -> Maybe V1ListMeta
   -> ExtensionsV1beta1DeploymentList)
-> Parser [ExtensionsV1beta1Deployment]
-> Parser
     (Maybe Text -> Maybe V1ListMeta -> ExtensionsV1beta1DeploymentList)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser [ExtensionsV1beta1Deployment]
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"items")
      Parser
  (Maybe Text -> Maybe V1ListMeta -> ExtensionsV1beta1DeploymentList)
-> Parser (Maybe Text)
-> Parser (Maybe V1ListMeta -> ExtensionsV1beta1DeploymentList)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser (Maybe V1ListMeta -> ExtensionsV1beta1DeploymentList)
-> Parser (Maybe V1ListMeta)
-> Parser ExtensionsV1beta1DeploymentList
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ListMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")

-- | ToJSON ExtensionsV1beta1DeploymentList
instance A.ToJSON ExtensionsV1beta1DeploymentList where
  toJSON :: ExtensionsV1beta1DeploymentList -> Value
toJSON ExtensionsV1beta1DeploymentList {[ExtensionsV1beta1Deployment]
Maybe Text
Maybe V1ListMeta
extensionsV1beta1DeploymentListMetadata :: Maybe V1ListMeta
extensionsV1beta1DeploymentListKind :: Maybe Text
extensionsV1beta1DeploymentListItems :: [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListApiVersion :: Maybe Text
extensionsV1beta1DeploymentListMetadata :: ExtensionsV1beta1DeploymentList -> Maybe V1ListMeta
extensionsV1beta1DeploymentListKind :: ExtensionsV1beta1DeploymentList -> Maybe Text
extensionsV1beta1DeploymentListItems :: ExtensionsV1beta1DeploymentList -> [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListApiVersion :: ExtensionsV1beta1DeploymentList -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentListApiVersion
      , Text
"items" Text -> [ExtensionsV1beta1Deployment] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListItems
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentListKind
      , Text
"metadata" Text -> Maybe V1ListMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ListMeta
extensionsV1beta1DeploymentListMetadata
      ]


-- | Construct a value of type 'ExtensionsV1beta1DeploymentList' (by applying it's required fields, if any)
mkExtensionsV1beta1DeploymentList
  :: [ExtensionsV1beta1Deployment] -- ^ 'extensionsV1beta1DeploymentListItems': Items is the list of Deployments.
  -> ExtensionsV1beta1DeploymentList
mkExtensionsV1beta1DeploymentList :: [ExtensionsV1beta1Deployment] -> ExtensionsV1beta1DeploymentList
mkExtensionsV1beta1DeploymentList [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListItems =
  ExtensionsV1beta1DeploymentList :: Maybe Text
-> [ExtensionsV1beta1Deployment]
-> Maybe Text
-> Maybe V1ListMeta
-> ExtensionsV1beta1DeploymentList
ExtensionsV1beta1DeploymentList
  { extensionsV1beta1DeploymentListApiVersion :: Maybe Text
extensionsV1beta1DeploymentListApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListItems :: [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListItems :: [ExtensionsV1beta1Deployment]
extensionsV1beta1DeploymentListItems
  , extensionsV1beta1DeploymentListKind :: Maybe Text
extensionsV1beta1DeploymentListKind = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentListMetadata :: Maybe V1ListMeta
extensionsV1beta1DeploymentListMetadata = Maybe V1ListMeta
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1DeploymentRollback
-- | ExtensionsV1beta1DeploymentRollback
-- DEPRECATED. DeploymentRollback stores the information required to rollback a deployment.
data ExtensionsV1beta1DeploymentRollback = ExtensionsV1beta1DeploymentRollback
  { ExtensionsV1beta1DeploymentRollback -> Maybe Text
extensionsV1beta1DeploymentRollbackApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , ExtensionsV1beta1DeploymentRollback -> Maybe Text
extensionsV1beta1DeploymentRollbackKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , ExtensionsV1beta1DeploymentRollback -> Text
extensionsV1beta1DeploymentRollbackName :: !(Text) -- ^ /Required/ "name" - Required: This must match the Name of a deployment.
  , ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackRollbackTo :: !(ExtensionsV1beta1RollbackConfig) -- ^ /Required/ "rollbackTo"
  , ExtensionsV1beta1DeploymentRollback -> Maybe (Map String Text)
extensionsV1beta1DeploymentRollbackUpdatedAnnotations :: !(Maybe (Map.Map String Text)) -- ^ "updatedAnnotations" - The annotations to be updated to a deployment
  } deriving (Int -> ExtensionsV1beta1DeploymentRollback -> ShowS
[ExtensionsV1beta1DeploymentRollback] -> ShowS
ExtensionsV1beta1DeploymentRollback -> String
(Int -> ExtensionsV1beta1DeploymentRollback -> ShowS)
-> (ExtensionsV1beta1DeploymentRollback -> String)
-> ([ExtensionsV1beta1DeploymentRollback] -> ShowS)
-> Show ExtensionsV1beta1DeploymentRollback
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1DeploymentRollback] -> ShowS
$cshowList :: [ExtensionsV1beta1DeploymentRollback] -> ShowS
show :: ExtensionsV1beta1DeploymentRollback -> String
$cshow :: ExtensionsV1beta1DeploymentRollback -> String
showsPrec :: Int -> ExtensionsV1beta1DeploymentRollback -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1DeploymentRollback -> ShowS
P.Show, ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1DeploymentRollback -> Bool
(ExtensionsV1beta1DeploymentRollback
 -> ExtensionsV1beta1DeploymentRollback -> Bool)
-> (ExtensionsV1beta1DeploymentRollback
    -> ExtensionsV1beta1DeploymentRollback -> Bool)
-> Eq ExtensionsV1beta1DeploymentRollback
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1DeploymentRollback -> Bool
$c/= :: ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1DeploymentRollback -> Bool
== :: ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1DeploymentRollback -> Bool
$c== :: ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1DeploymentRollback -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1DeploymentRollback
instance A.FromJSON ExtensionsV1beta1DeploymentRollback where
  parseJSON :: Value -> Parser ExtensionsV1beta1DeploymentRollback
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1DeploymentRollback)
-> Value
-> Parser ExtensionsV1beta1DeploymentRollback
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1DeploymentRollback" ((Object -> Parser ExtensionsV1beta1DeploymentRollback)
 -> Value -> Parser ExtensionsV1beta1DeploymentRollback)
-> (Object -> Parser ExtensionsV1beta1DeploymentRollback)
-> Value
-> Parser ExtensionsV1beta1DeploymentRollback
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Text
-> ExtensionsV1beta1RollbackConfig
-> Maybe (Map String Text)
-> ExtensionsV1beta1DeploymentRollback
ExtensionsV1beta1DeploymentRollback
      (Maybe Text
 -> Maybe Text
 -> Text
 -> ExtensionsV1beta1RollbackConfig
 -> Maybe (Map String Text)
 -> ExtensionsV1beta1DeploymentRollback)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Text
      -> ExtensionsV1beta1RollbackConfig
      -> Maybe (Map String Text)
      -> ExtensionsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  (Maybe Text
   -> Text
   -> ExtensionsV1beta1RollbackConfig
   -> Maybe (Map String Text)
   -> ExtensionsV1beta1DeploymentRollback)
-> Parser (Maybe Text)
-> Parser
     (Text
      -> ExtensionsV1beta1RollbackConfig
      -> Maybe (Map String Text)
      -> ExtensionsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser
  (Text
   -> ExtensionsV1beta1RollbackConfig
   -> Maybe (Map String Text)
   -> ExtensionsV1beta1DeploymentRollback)
-> Parser Text
-> Parser
     (ExtensionsV1beta1RollbackConfig
      -> Maybe (Map String Text) -> ExtensionsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"name")
      Parser
  (ExtensionsV1beta1RollbackConfig
   -> Maybe (Map String Text) -> ExtensionsV1beta1DeploymentRollback)
-> Parser ExtensionsV1beta1RollbackConfig
-> Parser
     (Maybe (Map String Text) -> ExtensionsV1beta1DeploymentRollback)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser ExtensionsV1beta1RollbackConfig
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"rollbackTo")
      Parser
  (Maybe (Map String Text) -> ExtensionsV1beta1DeploymentRollback)
-> Parser (Maybe (Map String Text))
-> Parser ExtensionsV1beta1DeploymentRollback
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe (Map String Text))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"updatedAnnotations")

-- | ToJSON ExtensionsV1beta1DeploymentRollback
instance A.ToJSON ExtensionsV1beta1DeploymentRollback where
  toJSON :: ExtensionsV1beta1DeploymentRollback -> Value
toJSON ExtensionsV1beta1DeploymentRollback {Maybe Text
Maybe (Map String Text)
Text
ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackUpdatedAnnotations :: Maybe (Map String Text)
extensionsV1beta1DeploymentRollbackRollbackTo :: ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackName :: Text
extensionsV1beta1DeploymentRollbackKind :: Maybe Text
extensionsV1beta1DeploymentRollbackApiVersion :: Maybe Text
extensionsV1beta1DeploymentRollbackUpdatedAnnotations :: ExtensionsV1beta1DeploymentRollback -> Maybe (Map String Text)
extensionsV1beta1DeploymentRollbackRollbackTo :: ExtensionsV1beta1DeploymentRollback
-> ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackName :: ExtensionsV1beta1DeploymentRollback -> Text
extensionsV1beta1DeploymentRollbackKind :: ExtensionsV1beta1DeploymentRollback -> Maybe Text
extensionsV1beta1DeploymentRollbackApiVersion :: ExtensionsV1beta1DeploymentRollback -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentRollbackApiVersion
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentRollbackKind
      , Text
"name" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
extensionsV1beta1DeploymentRollbackName
      , Text
"rollbackTo" Text -> ExtensionsV1beta1RollbackConfig -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackRollbackTo
      , Text
"updatedAnnotations" Text -> Maybe (Map String Text) -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe (Map String Text)
extensionsV1beta1DeploymentRollbackUpdatedAnnotations
      ]


-- | Construct a value of type 'ExtensionsV1beta1DeploymentRollback' (by applying it's required fields, if any)
mkExtensionsV1beta1DeploymentRollback
  :: Text -- ^ 'extensionsV1beta1DeploymentRollbackName': Required: This must match the Name of a deployment.
  -> ExtensionsV1beta1RollbackConfig -- ^ 'extensionsV1beta1DeploymentRollbackRollbackTo' 
  -> ExtensionsV1beta1DeploymentRollback
mkExtensionsV1beta1DeploymentRollback :: Text
-> ExtensionsV1beta1RollbackConfig
-> ExtensionsV1beta1DeploymentRollback
mkExtensionsV1beta1DeploymentRollback Text
extensionsV1beta1DeploymentRollbackName ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackRollbackTo =
  ExtensionsV1beta1DeploymentRollback :: Maybe Text
-> Maybe Text
-> Text
-> ExtensionsV1beta1RollbackConfig
-> Maybe (Map String Text)
-> ExtensionsV1beta1DeploymentRollback
ExtensionsV1beta1DeploymentRollback
  { extensionsV1beta1DeploymentRollbackApiVersion :: Maybe Text
extensionsV1beta1DeploymentRollbackApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentRollbackKind :: Maybe Text
extensionsV1beta1DeploymentRollbackKind = Maybe Text
forall a. Maybe a
Nothing
  , Text
extensionsV1beta1DeploymentRollbackName :: Text
extensionsV1beta1DeploymentRollbackName :: Text
extensionsV1beta1DeploymentRollbackName
  , ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackRollbackTo :: ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackRollbackTo :: ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentRollbackRollbackTo
  , extensionsV1beta1DeploymentRollbackUpdatedAnnotations :: Maybe (Map String Text)
extensionsV1beta1DeploymentRollbackUpdatedAnnotations = Maybe (Map String Text)
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1DeploymentSpec
-- | ExtensionsV1beta1DeploymentSpec
-- DeploymentSpec is the specification of the desired behavior of the Deployment.
data ExtensionsV1beta1DeploymentSpec = ExtensionsV1beta1DeploymentSpec
  { ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecMinReadySeconds :: !(Maybe Int) -- ^ "minReadySeconds" - Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)
  , ExtensionsV1beta1DeploymentSpec -> Maybe Bool
extensionsV1beta1DeploymentSpecPaused :: !(Maybe Bool) -- ^ "paused" - Indicates that the deployment is paused and will not be processed by the deployment controller.
  , ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecProgressDeadlineSeconds :: !(Maybe Int) -- ^ "progressDeadlineSeconds" - The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. This is set to the max value of int32 (i.e. 2147483647) by default, which means \&quot;no deadline\&quot;.
  , ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecReplicas :: !(Maybe Int) -- ^ "replicas" - Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
  , ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecRevisionHistoryLimit :: !(Maybe Int) -- ^ "revisionHistoryLimit" - The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. This is set to the max value of int32 (i.e. 2147483647) by default, which means \&quot;retaining all old RelicaSets\&quot;.
  , ExtensionsV1beta1DeploymentSpec
-> Maybe ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentSpecRollbackTo :: !(Maybe ExtensionsV1beta1RollbackConfig) -- ^ "rollbackTo"
  , ExtensionsV1beta1DeploymentSpec -> Maybe V1LabelSelector
extensionsV1beta1DeploymentSpecSelector :: !(Maybe V1LabelSelector) -- ^ "selector"
  , ExtensionsV1beta1DeploymentSpec
-> Maybe ExtensionsV1beta1DeploymentStrategy
extensionsV1beta1DeploymentSpecStrategy :: !(Maybe ExtensionsV1beta1DeploymentStrategy) -- ^ "strategy"
  , ExtensionsV1beta1DeploymentSpec -> V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate :: !(V1PodTemplateSpec) -- ^ /Required/ "template"
  } deriving (Int -> ExtensionsV1beta1DeploymentSpec -> ShowS
[ExtensionsV1beta1DeploymentSpec] -> ShowS
ExtensionsV1beta1DeploymentSpec -> String
(Int -> ExtensionsV1beta1DeploymentSpec -> ShowS)
-> (ExtensionsV1beta1DeploymentSpec -> String)
-> ([ExtensionsV1beta1DeploymentSpec] -> ShowS)
-> Show ExtensionsV1beta1DeploymentSpec
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1DeploymentSpec] -> ShowS
$cshowList :: [ExtensionsV1beta1DeploymentSpec] -> ShowS
show :: ExtensionsV1beta1DeploymentSpec -> String
$cshow :: ExtensionsV1beta1DeploymentSpec -> String
showsPrec :: Int -> ExtensionsV1beta1DeploymentSpec -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1DeploymentSpec -> ShowS
P.Show, ExtensionsV1beta1DeploymentSpec
-> ExtensionsV1beta1DeploymentSpec -> Bool
(ExtensionsV1beta1DeploymentSpec
 -> ExtensionsV1beta1DeploymentSpec -> Bool)
-> (ExtensionsV1beta1DeploymentSpec
    -> ExtensionsV1beta1DeploymentSpec -> Bool)
-> Eq ExtensionsV1beta1DeploymentSpec
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1DeploymentSpec
-> ExtensionsV1beta1DeploymentSpec -> Bool
$c/= :: ExtensionsV1beta1DeploymentSpec
-> ExtensionsV1beta1DeploymentSpec -> Bool
== :: ExtensionsV1beta1DeploymentSpec
-> ExtensionsV1beta1DeploymentSpec -> Bool
$c== :: ExtensionsV1beta1DeploymentSpec
-> ExtensionsV1beta1DeploymentSpec -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1DeploymentSpec
instance A.FromJSON ExtensionsV1beta1DeploymentSpec where
  parseJSON :: Value -> Parser ExtensionsV1beta1DeploymentSpec
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1DeploymentSpec)
-> Value
-> Parser ExtensionsV1beta1DeploymentSpec
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1DeploymentSpec" ((Object -> Parser ExtensionsV1beta1DeploymentSpec)
 -> Value -> Parser ExtensionsV1beta1DeploymentSpec)
-> (Object -> Parser ExtensionsV1beta1DeploymentSpec)
-> Value
-> Parser ExtensionsV1beta1DeploymentSpec
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Int
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe ExtensionsV1beta1RollbackConfig
-> Maybe V1LabelSelector
-> Maybe ExtensionsV1beta1DeploymentStrategy
-> V1PodTemplateSpec
-> ExtensionsV1beta1DeploymentSpec
ExtensionsV1beta1DeploymentSpec
      (Maybe Int
 -> Maybe Bool
 -> Maybe Int
 -> Maybe Int
 -> Maybe Int
 -> Maybe ExtensionsV1beta1RollbackConfig
 -> Maybe V1LabelSelector
 -> Maybe ExtensionsV1beta1DeploymentStrategy
 -> V1PodTemplateSpec
 -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe ExtensionsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"minReadySeconds")
      Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe ExtensionsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe ExtensionsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"paused")
      Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe ExtensionsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe ExtensionsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"progressDeadlineSeconds")
      Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe ExtensionsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe ExtensionsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"replicas")
      Parser
  (Maybe Int
   -> Maybe ExtensionsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe Int)
-> Parser
     (Maybe ExtensionsV1beta1RollbackConfig
      -> Maybe V1LabelSelector
      -> Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"revisionHistoryLimit")
      Parser
  (Maybe ExtensionsV1beta1RollbackConfig
   -> Maybe V1LabelSelector
   -> Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe ExtensionsV1beta1RollbackConfig)
-> Parser
     (Maybe V1LabelSelector
      -> Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec
      -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe ExtensionsV1beta1RollbackConfig)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"rollbackTo")
      Parser
  (Maybe V1LabelSelector
   -> Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec
   -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe V1LabelSelector)
-> Parser
     (Maybe ExtensionsV1beta1DeploymentStrategy
      -> V1PodTemplateSpec -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1LabelSelector)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"selector")
      Parser
  (Maybe ExtensionsV1beta1DeploymentStrategy
   -> V1PodTemplateSpec -> ExtensionsV1beta1DeploymentSpec)
-> Parser (Maybe ExtensionsV1beta1DeploymentStrategy)
-> Parser (V1PodTemplateSpec -> ExtensionsV1beta1DeploymentSpec)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object
-> Text -> Parser (Maybe ExtensionsV1beta1DeploymentStrategy)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"strategy")
      Parser (V1PodTemplateSpec -> ExtensionsV1beta1DeploymentSpec)
-> Parser V1PodTemplateSpec
-> Parser ExtensionsV1beta1DeploymentSpec
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser V1PodTemplateSpec
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"template")

-- | ToJSON ExtensionsV1beta1DeploymentSpec
instance A.ToJSON ExtensionsV1beta1DeploymentSpec where
  toJSON :: ExtensionsV1beta1DeploymentSpec -> Value
toJSON ExtensionsV1beta1DeploymentSpec {Maybe Bool
Maybe Int
Maybe V1LabelSelector
Maybe ExtensionsV1beta1RollbackConfig
Maybe ExtensionsV1beta1DeploymentStrategy
V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate :: V1PodTemplateSpec
extensionsV1beta1DeploymentSpecStrategy :: Maybe ExtensionsV1beta1DeploymentStrategy
extensionsV1beta1DeploymentSpecSelector :: Maybe V1LabelSelector
extensionsV1beta1DeploymentSpecRollbackTo :: Maybe ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentSpecRevisionHistoryLimit :: Maybe Int
extensionsV1beta1DeploymentSpecReplicas :: Maybe Int
extensionsV1beta1DeploymentSpecProgressDeadlineSeconds :: Maybe Int
extensionsV1beta1DeploymentSpecPaused :: Maybe Bool
extensionsV1beta1DeploymentSpecMinReadySeconds :: Maybe Int
extensionsV1beta1DeploymentSpecTemplate :: ExtensionsV1beta1DeploymentSpec -> V1PodTemplateSpec
extensionsV1beta1DeploymentSpecStrategy :: ExtensionsV1beta1DeploymentSpec
-> Maybe ExtensionsV1beta1DeploymentStrategy
extensionsV1beta1DeploymentSpecSelector :: ExtensionsV1beta1DeploymentSpec -> Maybe V1LabelSelector
extensionsV1beta1DeploymentSpecRollbackTo :: ExtensionsV1beta1DeploymentSpec
-> Maybe ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentSpecRevisionHistoryLimit :: ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecReplicas :: ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecProgressDeadlineSeconds :: ExtensionsV1beta1DeploymentSpec -> Maybe Int
extensionsV1beta1DeploymentSpecPaused :: ExtensionsV1beta1DeploymentSpec -> Maybe Bool
extensionsV1beta1DeploymentSpecMinReadySeconds :: ExtensionsV1beta1DeploymentSpec -> Maybe Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"minReadySeconds" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentSpecMinReadySeconds
      , Text
"paused" Text -> Maybe Bool -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Bool
extensionsV1beta1DeploymentSpecPaused
      , Text
"progressDeadlineSeconds" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentSpecProgressDeadlineSeconds
      , Text
"replicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentSpecReplicas
      , Text
"revisionHistoryLimit" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentSpecRevisionHistoryLimit
      , Text
"rollbackTo" Text -> Maybe ExtensionsV1beta1RollbackConfig -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentSpecRollbackTo
      , Text
"selector" Text -> Maybe V1LabelSelector -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1LabelSelector
extensionsV1beta1DeploymentSpecSelector
      , Text
"strategy" Text -> Maybe ExtensionsV1beta1DeploymentStrategy -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1DeploymentStrategy
extensionsV1beta1DeploymentSpecStrategy
      , Text
"template" Text -> V1PodTemplateSpec -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate
      ]


-- | Construct a value of type 'ExtensionsV1beta1DeploymentSpec' (by applying it's required fields, if any)
mkExtensionsV1beta1DeploymentSpec
  :: V1PodTemplateSpec -- ^ 'extensionsV1beta1DeploymentSpecTemplate' 
  -> ExtensionsV1beta1DeploymentSpec
mkExtensionsV1beta1DeploymentSpec :: V1PodTemplateSpec -> ExtensionsV1beta1DeploymentSpec
mkExtensionsV1beta1DeploymentSpec V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate =
  ExtensionsV1beta1DeploymentSpec :: Maybe Int
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe ExtensionsV1beta1RollbackConfig
-> Maybe V1LabelSelector
-> Maybe ExtensionsV1beta1DeploymentStrategy
-> V1PodTemplateSpec
-> ExtensionsV1beta1DeploymentSpec
ExtensionsV1beta1DeploymentSpec
  { extensionsV1beta1DeploymentSpecMinReadySeconds :: Maybe Int
extensionsV1beta1DeploymentSpecMinReadySeconds = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecPaused :: Maybe Bool
extensionsV1beta1DeploymentSpecPaused = Maybe Bool
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecProgressDeadlineSeconds :: Maybe Int
extensionsV1beta1DeploymentSpecProgressDeadlineSeconds = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecReplicas :: Maybe Int
extensionsV1beta1DeploymentSpecReplicas = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecRevisionHistoryLimit :: Maybe Int
extensionsV1beta1DeploymentSpecRevisionHistoryLimit = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecRollbackTo :: Maybe ExtensionsV1beta1RollbackConfig
extensionsV1beta1DeploymentSpecRollbackTo = Maybe ExtensionsV1beta1RollbackConfig
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecSelector :: Maybe V1LabelSelector
extensionsV1beta1DeploymentSpecSelector = Maybe V1LabelSelector
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentSpecStrategy :: Maybe ExtensionsV1beta1DeploymentStrategy
extensionsV1beta1DeploymentSpecStrategy = Maybe ExtensionsV1beta1DeploymentStrategy
forall a. Maybe a
Nothing
  , V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate :: V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate :: V1PodTemplateSpec
extensionsV1beta1DeploymentSpecTemplate
  }

-- ** ExtensionsV1beta1DeploymentStatus
-- | ExtensionsV1beta1DeploymentStatus
-- DeploymentStatus is the most recently observed status of the Deployment.
data ExtensionsV1beta1DeploymentStatus = ExtensionsV1beta1DeploymentStatus
  { ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusAvailableReplicas :: !(Maybe Int) -- ^ "availableReplicas" - Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
  , ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusCollisionCount :: !(Maybe Int) -- ^ "collisionCount" - Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.
  , ExtensionsV1beta1DeploymentStatus
-> Maybe [ExtensionsV1beta1DeploymentCondition]
extensionsV1beta1DeploymentStatusConditions :: !(Maybe [ExtensionsV1beta1DeploymentCondition]) -- ^ "conditions" - Represents the latest available observations of a deployment&#39;s current state.
  , ExtensionsV1beta1DeploymentStatus -> Maybe Integer
extensionsV1beta1DeploymentStatusObservedGeneration :: !(Maybe Integer) -- ^ "observedGeneration" - The generation observed by the deployment controller.
  , ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusReadyReplicas :: !(Maybe Int) -- ^ "readyReplicas" - Total number of ready pods targeted by this deployment.
  , ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusReplicas :: !(Maybe Int) -- ^ "replicas" - Total number of non-terminated pods targeted by this deployment (their labels match the selector).
  , ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusUnavailableReplicas :: !(Maybe Int) -- ^ "unavailableReplicas" - Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.
  , ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusUpdatedReplicas :: !(Maybe Int) -- ^ "updatedReplicas" - Total number of non-terminated pods targeted by this deployment that have the desired template spec.
  } deriving (Int -> ExtensionsV1beta1DeploymentStatus -> ShowS
[ExtensionsV1beta1DeploymentStatus] -> ShowS
ExtensionsV1beta1DeploymentStatus -> String
(Int -> ExtensionsV1beta1DeploymentStatus -> ShowS)
-> (ExtensionsV1beta1DeploymentStatus -> String)
-> ([ExtensionsV1beta1DeploymentStatus] -> ShowS)
-> Show ExtensionsV1beta1DeploymentStatus
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1DeploymentStatus] -> ShowS
$cshowList :: [ExtensionsV1beta1DeploymentStatus] -> ShowS
show :: ExtensionsV1beta1DeploymentStatus -> String
$cshow :: ExtensionsV1beta1DeploymentStatus -> String
showsPrec :: Int -> ExtensionsV1beta1DeploymentStatus -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1DeploymentStatus -> ShowS
P.Show, ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1DeploymentStatus -> Bool
(ExtensionsV1beta1DeploymentStatus
 -> ExtensionsV1beta1DeploymentStatus -> Bool)
-> (ExtensionsV1beta1DeploymentStatus
    -> ExtensionsV1beta1DeploymentStatus -> Bool)
-> Eq ExtensionsV1beta1DeploymentStatus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1DeploymentStatus -> Bool
$c/= :: ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1DeploymentStatus -> Bool
== :: ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1DeploymentStatus -> Bool
$c== :: ExtensionsV1beta1DeploymentStatus
-> ExtensionsV1beta1DeploymentStatus -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1DeploymentStatus
instance A.FromJSON ExtensionsV1beta1DeploymentStatus where
  parseJSON :: Value -> Parser ExtensionsV1beta1DeploymentStatus
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1DeploymentStatus)
-> Value
-> Parser ExtensionsV1beta1DeploymentStatus
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1DeploymentStatus" ((Object -> Parser ExtensionsV1beta1DeploymentStatus)
 -> Value -> Parser ExtensionsV1beta1DeploymentStatus)
-> (Object -> Parser ExtensionsV1beta1DeploymentStatus)
-> Value
-> Parser ExtensionsV1beta1DeploymentStatus
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Int
-> Maybe Int
-> Maybe [ExtensionsV1beta1DeploymentCondition]
-> Maybe Integer
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> ExtensionsV1beta1DeploymentStatus
ExtensionsV1beta1DeploymentStatus
      (Maybe Int
 -> Maybe Int
 -> Maybe [ExtensionsV1beta1DeploymentCondition]
 -> Maybe Integer
 -> Maybe Int
 -> Maybe Int
 -> Maybe Int
 -> Maybe Int
 -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe [ExtensionsV1beta1DeploymentCondition]
      -> Maybe Integer
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"availableReplicas")
      Parser
  (Maybe Int
   -> Maybe [ExtensionsV1beta1DeploymentCondition]
   -> Maybe Integer
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe [ExtensionsV1beta1DeploymentCondition]
      -> Maybe Integer
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"collisionCount")
      Parser
  (Maybe [ExtensionsV1beta1DeploymentCondition]
   -> Maybe Integer
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe [ExtensionsV1beta1DeploymentCondition])
-> Parser
     (Maybe Integer
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object
-> Text -> Parser (Maybe [ExtensionsV1beta1DeploymentCondition])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"conditions")
      Parser
  (Maybe Integer
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> Maybe Int
      -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"observedGeneration")
      Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> Maybe Int
   -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Int -> Maybe Int -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"readyReplicas")
      Parser
  (Maybe Int
   -> Maybe Int -> Maybe Int -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int -> Maybe Int -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"replicas")
      Parser
  (Maybe Int -> Maybe Int -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Int)
-> Parser (Maybe Int -> ExtensionsV1beta1DeploymentStatus)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"unavailableReplicas")
      Parser (Maybe Int -> ExtensionsV1beta1DeploymentStatus)
-> Parser (Maybe Int) -> Parser ExtensionsV1beta1DeploymentStatus
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"updatedReplicas")

-- | ToJSON ExtensionsV1beta1DeploymentStatus
instance A.ToJSON ExtensionsV1beta1DeploymentStatus where
  toJSON :: ExtensionsV1beta1DeploymentStatus -> Value
toJSON ExtensionsV1beta1DeploymentStatus {Maybe Int
Maybe Integer
Maybe [ExtensionsV1beta1DeploymentCondition]
extensionsV1beta1DeploymentStatusUpdatedReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusUnavailableReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusReadyReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusObservedGeneration :: Maybe Integer
extensionsV1beta1DeploymentStatusConditions :: Maybe [ExtensionsV1beta1DeploymentCondition]
extensionsV1beta1DeploymentStatusCollisionCount :: Maybe Int
extensionsV1beta1DeploymentStatusAvailableReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusUpdatedReplicas :: ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusUnavailableReplicas :: ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusReplicas :: ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusReadyReplicas :: ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusObservedGeneration :: ExtensionsV1beta1DeploymentStatus -> Maybe Integer
extensionsV1beta1DeploymentStatusConditions :: ExtensionsV1beta1DeploymentStatus
-> Maybe [ExtensionsV1beta1DeploymentCondition]
extensionsV1beta1DeploymentStatusCollisionCount :: ExtensionsV1beta1DeploymentStatus -> Maybe Int
extensionsV1beta1DeploymentStatusAvailableReplicas :: ExtensionsV1beta1DeploymentStatus -> Maybe Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"availableReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentStatusAvailableReplicas
      , Text
"collisionCount" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentStatusCollisionCount
      , Text
"conditions" Text
-> Maybe [ExtensionsV1beta1DeploymentCondition] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe [ExtensionsV1beta1DeploymentCondition]
extensionsV1beta1DeploymentStatusConditions
      , Text
"observedGeneration" Text -> Maybe Integer -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Integer
extensionsV1beta1DeploymentStatusObservedGeneration
      , Text
"readyReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentStatusReadyReplicas
      , Text
"replicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentStatusReplicas
      , Text
"unavailableReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentStatusUnavailableReplicas
      , Text
"updatedReplicas" Text -> Maybe Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Int
extensionsV1beta1DeploymentStatusUpdatedReplicas
      ]


-- | Construct a value of type 'ExtensionsV1beta1DeploymentStatus' (by applying it's required fields, if any)
mkExtensionsV1beta1DeploymentStatus
  :: ExtensionsV1beta1DeploymentStatus
mkExtensionsV1beta1DeploymentStatus :: ExtensionsV1beta1DeploymentStatus
mkExtensionsV1beta1DeploymentStatus =
  ExtensionsV1beta1DeploymentStatus :: Maybe Int
-> Maybe Int
-> Maybe [ExtensionsV1beta1DeploymentCondition]
-> Maybe Integer
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> ExtensionsV1beta1DeploymentStatus
ExtensionsV1beta1DeploymentStatus
  { extensionsV1beta1DeploymentStatusAvailableReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusAvailableReplicas = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusCollisionCount :: Maybe Int
extensionsV1beta1DeploymentStatusCollisionCount = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusConditions :: Maybe [ExtensionsV1beta1DeploymentCondition]
extensionsV1beta1DeploymentStatusConditions = Maybe [ExtensionsV1beta1DeploymentCondition]
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusObservedGeneration :: Maybe Integer
extensionsV1beta1DeploymentStatusObservedGeneration = Maybe Integer
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusReadyReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusReadyReplicas = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusReplicas = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusUnavailableReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusUnavailableReplicas = Maybe Int
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStatusUpdatedReplicas :: Maybe Int
extensionsV1beta1DeploymentStatusUpdatedReplicas = Maybe Int
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1DeploymentStrategy
-- | ExtensionsV1beta1DeploymentStrategy
-- DeploymentStrategy describes how to replace existing pods with new ones.
data ExtensionsV1beta1DeploymentStrategy = ExtensionsV1beta1DeploymentStrategy
  { ExtensionsV1beta1DeploymentStrategy
-> Maybe ExtensionsV1beta1RollingUpdateDeployment
extensionsV1beta1DeploymentStrategyRollingUpdate :: !(Maybe ExtensionsV1beta1RollingUpdateDeployment) -- ^ "rollingUpdate"
  , ExtensionsV1beta1DeploymentStrategy -> Maybe Text
extensionsV1beta1DeploymentStrategyType :: !(Maybe Text) -- ^ "type" - Type of deployment. Can be \&quot;Recreate\&quot; or \&quot;RollingUpdate\&quot;. Default is RollingUpdate.
  } deriving (Int -> ExtensionsV1beta1DeploymentStrategy -> ShowS
[ExtensionsV1beta1DeploymentStrategy] -> ShowS
ExtensionsV1beta1DeploymentStrategy -> String
(Int -> ExtensionsV1beta1DeploymentStrategy -> ShowS)
-> (ExtensionsV1beta1DeploymentStrategy -> String)
-> ([ExtensionsV1beta1DeploymentStrategy] -> ShowS)
-> Show ExtensionsV1beta1DeploymentStrategy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1DeploymentStrategy] -> ShowS
$cshowList :: [ExtensionsV1beta1DeploymentStrategy] -> ShowS
show :: ExtensionsV1beta1DeploymentStrategy -> String
$cshow :: ExtensionsV1beta1DeploymentStrategy -> String
showsPrec :: Int -> ExtensionsV1beta1DeploymentStrategy -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1DeploymentStrategy -> ShowS
P.Show, ExtensionsV1beta1DeploymentStrategy
-> ExtensionsV1beta1DeploymentStrategy -> Bool
(ExtensionsV1beta1DeploymentStrategy
 -> ExtensionsV1beta1DeploymentStrategy -> Bool)
-> (ExtensionsV1beta1DeploymentStrategy
    -> ExtensionsV1beta1DeploymentStrategy -> Bool)
-> Eq ExtensionsV1beta1DeploymentStrategy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1DeploymentStrategy
-> ExtensionsV1beta1DeploymentStrategy -> Bool
$c/= :: ExtensionsV1beta1DeploymentStrategy
-> ExtensionsV1beta1DeploymentStrategy -> Bool
== :: ExtensionsV1beta1DeploymentStrategy
-> ExtensionsV1beta1DeploymentStrategy -> Bool
$c== :: ExtensionsV1beta1DeploymentStrategy
-> ExtensionsV1beta1DeploymentStrategy -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1DeploymentStrategy
instance A.FromJSON ExtensionsV1beta1DeploymentStrategy where
  parseJSON :: Value -> Parser ExtensionsV1beta1DeploymentStrategy
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1DeploymentStrategy)
-> Value
-> Parser ExtensionsV1beta1DeploymentStrategy
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1DeploymentStrategy" ((Object -> Parser ExtensionsV1beta1DeploymentStrategy)
 -> Value -> Parser ExtensionsV1beta1DeploymentStrategy)
-> (Object -> Parser ExtensionsV1beta1DeploymentStrategy)
-> Value
-> Parser ExtensionsV1beta1DeploymentStrategy
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe ExtensionsV1beta1RollingUpdateDeployment
-> Maybe Text -> ExtensionsV1beta1DeploymentStrategy
ExtensionsV1beta1DeploymentStrategy
      (Maybe ExtensionsV1beta1RollingUpdateDeployment
 -> Maybe Text -> ExtensionsV1beta1DeploymentStrategy)
-> Parser (Maybe ExtensionsV1beta1RollingUpdateDeployment)
-> Parser (Maybe Text -> ExtensionsV1beta1DeploymentStrategy)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object
-> Text -> Parser (Maybe ExtensionsV1beta1RollingUpdateDeployment)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"rollingUpdate")
      Parser (Maybe Text -> ExtensionsV1beta1DeploymentStrategy)
-> Parser (Maybe Text)
-> Parser ExtensionsV1beta1DeploymentStrategy
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"type")

-- | ToJSON ExtensionsV1beta1DeploymentStrategy
instance A.ToJSON ExtensionsV1beta1DeploymentStrategy where
  toJSON :: ExtensionsV1beta1DeploymentStrategy -> Value
toJSON ExtensionsV1beta1DeploymentStrategy {Maybe Text
Maybe ExtensionsV1beta1RollingUpdateDeployment
extensionsV1beta1DeploymentStrategyType :: Maybe Text
extensionsV1beta1DeploymentStrategyRollingUpdate :: Maybe ExtensionsV1beta1RollingUpdateDeployment
extensionsV1beta1DeploymentStrategyType :: ExtensionsV1beta1DeploymentStrategy -> Maybe Text
extensionsV1beta1DeploymentStrategyRollingUpdate :: ExtensionsV1beta1DeploymentStrategy
-> Maybe ExtensionsV1beta1RollingUpdateDeployment
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"rollingUpdate" Text
-> Maybe ExtensionsV1beta1RollingUpdateDeployment -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1RollingUpdateDeployment
extensionsV1beta1DeploymentStrategyRollingUpdate
      , Text
"type" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1DeploymentStrategyType
      ]


-- | Construct a value of type 'ExtensionsV1beta1DeploymentStrategy' (by applying it's required fields, if any)
mkExtensionsV1beta1DeploymentStrategy
  :: ExtensionsV1beta1DeploymentStrategy
mkExtensionsV1beta1DeploymentStrategy :: ExtensionsV1beta1DeploymentStrategy
mkExtensionsV1beta1DeploymentStrategy =
  ExtensionsV1beta1DeploymentStrategy :: Maybe ExtensionsV1beta1RollingUpdateDeployment
-> Maybe Text -> ExtensionsV1beta1DeploymentStrategy
ExtensionsV1beta1DeploymentStrategy
  { extensionsV1beta1DeploymentStrategyRollingUpdate :: Maybe ExtensionsV1beta1RollingUpdateDeployment
extensionsV1beta1DeploymentStrategyRollingUpdate = Maybe ExtensionsV1beta1RollingUpdateDeployment
forall a. Maybe a
Nothing
  , extensionsV1beta1DeploymentStrategyType :: Maybe Text
extensionsV1beta1DeploymentStrategyType = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1FSGroupStrategyOptions
-- | ExtensionsV1beta1FSGroupStrategyOptions
-- FSGroupStrategyOptions defines the strategy type and options used to create the strategy. Deprecated: use FSGroupStrategyOptions from policy API Group instead.
data ExtensionsV1beta1FSGroupStrategyOptions = ExtensionsV1beta1FSGroupStrategyOptions
  { ExtensionsV1beta1FSGroupStrategyOptions
-> Maybe [ExtensionsV1beta1IDRange]
extensionsV1beta1FSGroupStrategyOptionsRanges :: !(Maybe [ExtensionsV1beta1IDRange]) -- ^ "ranges" - ranges are the allowed ranges of fs groups.  If you would like to force a single fs group then supply a single range with the same start and end. Required for MustRunAs.
  , ExtensionsV1beta1FSGroupStrategyOptions -> Maybe Text
extensionsV1beta1FSGroupStrategyOptionsRule :: !(Maybe Text) -- ^ "rule" - rule is the strategy that will dictate what FSGroup is used in the SecurityContext.
  } deriving (Int -> ExtensionsV1beta1FSGroupStrategyOptions -> ShowS
[ExtensionsV1beta1FSGroupStrategyOptions] -> ShowS
ExtensionsV1beta1FSGroupStrategyOptions -> String
(Int -> ExtensionsV1beta1FSGroupStrategyOptions -> ShowS)
-> (ExtensionsV1beta1FSGroupStrategyOptions -> String)
-> ([ExtensionsV1beta1FSGroupStrategyOptions] -> ShowS)
-> Show ExtensionsV1beta1FSGroupStrategyOptions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1FSGroupStrategyOptions] -> ShowS
$cshowList :: [ExtensionsV1beta1FSGroupStrategyOptions] -> ShowS
show :: ExtensionsV1beta1FSGroupStrategyOptions -> String
$cshow :: ExtensionsV1beta1FSGroupStrategyOptions -> String
showsPrec :: Int -> ExtensionsV1beta1FSGroupStrategyOptions -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1FSGroupStrategyOptions -> ShowS
P.Show, ExtensionsV1beta1FSGroupStrategyOptions
-> ExtensionsV1beta1FSGroupStrategyOptions -> Bool
(ExtensionsV1beta1FSGroupStrategyOptions
 -> ExtensionsV1beta1FSGroupStrategyOptions -> Bool)
-> (ExtensionsV1beta1FSGroupStrategyOptions
    -> ExtensionsV1beta1FSGroupStrategyOptions -> Bool)
-> Eq ExtensionsV1beta1FSGroupStrategyOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1FSGroupStrategyOptions
-> ExtensionsV1beta1FSGroupStrategyOptions -> Bool
$c/= :: ExtensionsV1beta1FSGroupStrategyOptions
-> ExtensionsV1beta1FSGroupStrategyOptions -> Bool
== :: ExtensionsV1beta1FSGroupStrategyOptions
-> ExtensionsV1beta1FSGroupStrategyOptions -> Bool
$c== :: ExtensionsV1beta1FSGroupStrategyOptions
-> ExtensionsV1beta1FSGroupStrategyOptions -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1FSGroupStrategyOptions
instance A.FromJSON ExtensionsV1beta1FSGroupStrategyOptions where
  parseJSON :: Value -> Parser ExtensionsV1beta1FSGroupStrategyOptions
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1FSGroupStrategyOptions)
-> Value
-> Parser ExtensionsV1beta1FSGroupStrategyOptions
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1FSGroupStrategyOptions" ((Object -> Parser ExtensionsV1beta1FSGroupStrategyOptions)
 -> Value -> Parser ExtensionsV1beta1FSGroupStrategyOptions)
-> (Object -> Parser ExtensionsV1beta1FSGroupStrategyOptions)
-> Value
-> Parser ExtensionsV1beta1FSGroupStrategyOptions
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe [ExtensionsV1beta1IDRange]
-> Maybe Text -> ExtensionsV1beta1FSGroupStrategyOptions
ExtensionsV1beta1FSGroupStrategyOptions
      (Maybe [ExtensionsV1beta1IDRange]
 -> Maybe Text -> ExtensionsV1beta1FSGroupStrategyOptions)
-> Parser (Maybe [ExtensionsV1beta1IDRange])
-> Parser (Maybe Text -> ExtensionsV1beta1FSGroupStrategyOptions)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe [ExtensionsV1beta1IDRange])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"ranges")
      Parser (Maybe Text -> ExtensionsV1beta1FSGroupStrategyOptions)
-> Parser (Maybe Text)
-> Parser ExtensionsV1beta1FSGroupStrategyOptions
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"rule")

-- | ToJSON ExtensionsV1beta1FSGroupStrategyOptions
instance A.ToJSON ExtensionsV1beta1FSGroupStrategyOptions where
  toJSON :: ExtensionsV1beta1FSGroupStrategyOptions -> Value
toJSON ExtensionsV1beta1FSGroupStrategyOptions {Maybe [ExtensionsV1beta1IDRange]
Maybe Text
extensionsV1beta1FSGroupStrategyOptionsRule :: Maybe Text
extensionsV1beta1FSGroupStrategyOptionsRanges :: Maybe [ExtensionsV1beta1IDRange]
extensionsV1beta1FSGroupStrategyOptionsRule :: ExtensionsV1beta1FSGroupStrategyOptions -> Maybe Text
extensionsV1beta1FSGroupStrategyOptionsRanges :: ExtensionsV1beta1FSGroupStrategyOptions
-> Maybe [ExtensionsV1beta1IDRange]
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"ranges" Text -> Maybe [ExtensionsV1beta1IDRange] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe [ExtensionsV1beta1IDRange]
extensionsV1beta1FSGroupStrategyOptionsRanges
      , Text
"rule" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1FSGroupStrategyOptionsRule
      ]


-- | Construct a value of type 'ExtensionsV1beta1FSGroupStrategyOptions' (by applying it's required fields, if any)
mkExtensionsV1beta1FSGroupStrategyOptions
  :: ExtensionsV1beta1FSGroupStrategyOptions
mkExtensionsV1beta1FSGroupStrategyOptions :: ExtensionsV1beta1FSGroupStrategyOptions
mkExtensionsV1beta1FSGroupStrategyOptions =
  ExtensionsV1beta1FSGroupStrategyOptions :: Maybe [ExtensionsV1beta1IDRange]
-> Maybe Text -> ExtensionsV1beta1FSGroupStrategyOptions
ExtensionsV1beta1FSGroupStrategyOptions
  { extensionsV1beta1FSGroupStrategyOptionsRanges :: Maybe [ExtensionsV1beta1IDRange]
extensionsV1beta1FSGroupStrategyOptionsRanges = Maybe [ExtensionsV1beta1IDRange]
forall a. Maybe a
Nothing
  , extensionsV1beta1FSGroupStrategyOptionsRule :: Maybe Text
extensionsV1beta1FSGroupStrategyOptionsRule = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1HTTPIngressPath
-- | ExtensionsV1beta1HTTPIngressPath
-- HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.
data ExtensionsV1beta1HTTPIngressPath = ExtensionsV1beta1HTTPIngressPath
  { ExtensionsV1beta1HTTPIngressPath -> ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathBackend :: !(ExtensionsV1beta1IngressBackend) -- ^ /Required/ "backend"
  , ExtensionsV1beta1HTTPIngressPath -> Maybe Text
extensionsV1beta1HTTPIngressPathPath :: !(Maybe Text) -- ^ "path" - Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \&quot;path\&quot; part of a URL as defined by RFC 3986. Paths must begin with a &#39;/&#39;. If unspecified, the path defaults to a catch all sending traffic to the backend.
  } deriving (Int -> ExtensionsV1beta1HTTPIngressPath -> ShowS
[ExtensionsV1beta1HTTPIngressPath] -> ShowS
ExtensionsV1beta1HTTPIngressPath -> String
(Int -> ExtensionsV1beta1HTTPIngressPath -> ShowS)
-> (ExtensionsV1beta1HTTPIngressPath -> String)
-> ([ExtensionsV1beta1HTTPIngressPath] -> ShowS)
-> Show ExtensionsV1beta1HTTPIngressPath
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1HTTPIngressPath] -> ShowS
$cshowList :: [ExtensionsV1beta1HTTPIngressPath] -> ShowS
show :: ExtensionsV1beta1HTTPIngressPath -> String
$cshow :: ExtensionsV1beta1HTTPIngressPath -> String
showsPrec :: Int -> ExtensionsV1beta1HTTPIngressPath -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1HTTPIngressPath -> ShowS
P.Show, ExtensionsV1beta1HTTPIngressPath
-> ExtensionsV1beta1HTTPIngressPath -> Bool
(ExtensionsV1beta1HTTPIngressPath
 -> ExtensionsV1beta1HTTPIngressPath -> Bool)
-> (ExtensionsV1beta1HTTPIngressPath
    -> ExtensionsV1beta1HTTPIngressPath -> Bool)
-> Eq ExtensionsV1beta1HTTPIngressPath
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1HTTPIngressPath
-> ExtensionsV1beta1HTTPIngressPath -> Bool
$c/= :: ExtensionsV1beta1HTTPIngressPath
-> ExtensionsV1beta1HTTPIngressPath -> Bool
== :: ExtensionsV1beta1HTTPIngressPath
-> ExtensionsV1beta1HTTPIngressPath -> Bool
$c== :: ExtensionsV1beta1HTTPIngressPath
-> ExtensionsV1beta1HTTPIngressPath -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1HTTPIngressPath
instance A.FromJSON ExtensionsV1beta1HTTPIngressPath where
  parseJSON :: Value -> Parser ExtensionsV1beta1HTTPIngressPath
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1HTTPIngressPath)
-> Value
-> Parser ExtensionsV1beta1HTTPIngressPath
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1HTTPIngressPath" ((Object -> Parser ExtensionsV1beta1HTTPIngressPath)
 -> Value -> Parser ExtensionsV1beta1HTTPIngressPath)
-> (Object -> Parser ExtensionsV1beta1HTTPIngressPath)
-> Value
-> Parser ExtensionsV1beta1HTTPIngressPath
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    ExtensionsV1beta1IngressBackend
-> Maybe Text -> ExtensionsV1beta1HTTPIngressPath
ExtensionsV1beta1HTTPIngressPath
      (ExtensionsV1beta1IngressBackend
 -> Maybe Text -> ExtensionsV1beta1HTTPIngressPath)
-> Parser ExtensionsV1beta1IngressBackend
-> Parser (Maybe Text -> ExtensionsV1beta1HTTPIngressPath)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser ExtensionsV1beta1IngressBackend
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"backend")
      Parser (Maybe Text -> ExtensionsV1beta1HTTPIngressPath)
-> Parser (Maybe Text) -> Parser ExtensionsV1beta1HTTPIngressPath
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"path")

-- | ToJSON ExtensionsV1beta1HTTPIngressPath
instance A.ToJSON ExtensionsV1beta1HTTPIngressPath where
  toJSON :: ExtensionsV1beta1HTTPIngressPath -> Value
toJSON ExtensionsV1beta1HTTPIngressPath {Maybe Text
ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathPath :: Maybe Text
extensionsV1beta1HTTPIngressPathBackend :: ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathPath :: ExtensionsV1beta1HTTPIngressPath -> Maybe Text
extensionsV1beta1HTTPIngressPathBackend :: ExtensionsV1beta1HTTPIngressPath -> ExtensionsV1beta1IngressBackend
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"backend" Text -> ExtensionsV1beta1IngressBackend -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathBackend
      , Text
"path" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1HTTPIngressPathPath
      ]


-- | Construct a value of type 'ExtensionsV1beta1HTTPIngressPath' (by applying it's required fields, if any)
mkExtensionsV1beta1HTTPIngressPath
  :: ExtensionsV1beta1IngressBackend -- ^ 'extensionsV1beta1HTTPIngressPathBackend' 
  -> ExtensionsV1beta1HTTPIngressPath
mkExtensionsV1beta1HTTPIngressPath :: ExtensionsV1beta1IngressBackend -> ExtensionsV1beta1HTTPIngressPath
mkExtensionsV1beta1HTTPIngressPath ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathBackend =
  ExtensionsV1beta1HTTPIngressPath :: ExtensionsV1beta1IngressBackend
-> Maybe Text -> ExtensionsV1beta1HTTPIngressPath
ExtensionsV1beta1HTTPIngressPath
  { ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathBackend :: ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathBackend :: ExtensionsV1beta1IngressBackend
extensionsV1beta1HTTPIngressPathBackend
  , extensionsV1beta1HTTPIngressPathPath :: Maybe Text
extensionsV1beta1HTTPIngressPathPath = Maybe Text
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1HTTPIngressRuleValue
-- | ExtensionsV1beta1HTTPIngressRuleValue
-- HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http://<host>/<path>?<searchpart> -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'.
data ExtensionsV1beta1HTTPIngressRuleValue = ExtensionsV1beta1HTTPIngressRuleValue
  { ExtensionsV1beta1HTTPIngressRuleValue
-> [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths :: !([ExtensionsV1beta1HTTPIngressPath]) -- ^ /Required/ "paths" - A collection of paths that map requests to backends.
  } deriving (Int -> ExtensionsV1beta1HTTPIngressRuleValue -> ShowS
[ExtensionsV1beta1HTTPIngressRuleValue] -> ShowS
ExtensionsV1beta1HTTPIngressRuleValue -> String
(Int -> ExtensionsV1beta1HTTPIngressRuleValue -> ShowS)
-> (ExtensionsV1beta1HTTPIngressRuleValue -> String)
-> ([ExtensionsV1beta1HTTPIngressRuleValue] -> ShowS)
-> Show ExtensionsV1beta1HTTPIngressRuleValue
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1HTTPIngressRuleValue] -> ShowS
$cshowList :: [ExtensionsV1beta1HTTPIngressRuleValue] -> ShowS
show :: ExtensionsV1beta1HTTPIngressRuleValue -> String
$cshow :: ExtensionsV1beta1HTTPIngressRuleValue -> String
showsPrec :: Int -> ExtensionsV1beta1HTTPIngressRuleValue -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1HTTPIngressRuleValue -> ShowS
P.Show, ExtensionsV1beta1HTTPIngressRuleValue
-> ExtensionsV1beta1HTTPIngressRuleValue -> Bool
(ExtensionsV1beta1HTTPIngressRuleValue
 -> ExtensionsV1beta1HTTPIngressRuleValue -> Bool)
-> (ExtensionsV1beta1HTTPIngressRuleValue
    -> ExtensionsV1beta1HTTPIngressRuleValue -> Bool)
-> Eq ExtensionsV1beta1HTTPIngressRuleValue
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1HTTPIngressRuleValue
-> ExtensionsV1beta1HTTPIngressRuleValue -> Bool
$c/= :: ExtensionsV1beta1HTTPIngressRuleValue
-> ExtensionsV1beta1HTTPIngressRuleValue -> Bool
== :: ExtensionsV1beta1HTTPIngressRuleValue
-> ExtensionsV1beta1HTTPIngressRuleValue -> Bool
$c== :: ExtensionsV1beta1HTTPIngressRuleValue
-> ExtensionsV1beta1HTTPIngressRuleValue -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1HTTPIngressRuleValue
instance A.FromJSON ExtensionsV1beta1HTTPIngressRuleValue where
  parseJSON :: Value -> Parser ExtensionsV1beta1HTTPIngressRuleValue
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1HTTPIngressRuleValue)
-> Value
-> Parser ExtensionsV1beta1HTTPIngressRuleValue
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1HTTPIngressRuleValue" ((Object -> Parser ExtensionsV1beta1HTTPIngressRuleValue)
 -> Value -> Parser ExtensionsV1beta1HTTPIngressRuleValue)
-> (Object -> Parser ExtensionsV1beta1HTTPIngressRuleValue)
-> Value
-> Parser ExtensionsV1beta1HTTPIngressRuleValue
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    [ExtensionsV1beta1HTTPIngressPath]
-> ExtensionsV1beta1HTTPIngressRuleValue
ExtensionsV1beta1HTTPIngressRuleValue
      ([ExtensionsV1beta1HTTPIngressPath]
 -> ExtensionsV1beta1HTTPIngressRuleValue)
-> Parser [ExtensionsV1beta1HTTPIngressPath]
-> Parser ExtensionsV1beta1HTTPIngressRuleValue
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser [ExtensionsV1beta1HTTPIngressPath]
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"paths")

-- | ToJSON ExtensionsV1beta1HTTPIngressRuleValue
instance A.ToJSON ExtensionsV1beta1HTTPIngressRuleValue where
  toJSON :: ExtensionsV1beta1HTTPIngressRuleValue -> Value
toJSON ExtensionsV1beta1HTTPIngressRuleValue {[ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths :: [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths :: ExtensionsV1beta1HTTPIngressRuleValue
-> [ExtensionsV1beta1HTTPIngressPath]
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"paths" Text -> [ExtensionsV1beta1HTTPIngressPath] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths
      ]


-- | Construct a value of type 'ExtensionsV1beta1HTTPIngressRuleValue' (by applying it's required fields, if any)
mkExtensionsV1beta1HTTPIngressRuleValue
  :: [ExtensionsV1beta1HTTPIngressPath] -- ^ 'extensionsV1beta1HTTPIngressRuleValuePaths': A collection of paths that map requests to backends.
  -> ExtensionsV1beta1HTTPIngressRuleValue
mkExtensionsV1beta1HTTPIngressRuleValue :: [ExtensionsV1beta1HTTPIngressPath]
-> ExtensionsV1beta1HTTPIngressRuleValue
mkExtensionsV1beta1HTTPIngressRuleValue [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths =
  ExtensionsV1beta1HTTPIngressRuleValue :: [ExtensionsV1beta1HTTPIngressPath]
-> ExtensionsV1beta1HTTPIngressRuleValue
ExtensionsV1beta1HTTPIngressRuleValue
  { [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths :: [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths :: [ExtensionsV1beta1HTTPIngressPath]
extensionsV1beta1HTTPIngressRuleValuePaths
  }

-- ** ExtensionsV1beta1HostPortRange
-- | ExtensionsV1beta1HostPortRange
-- HostPortRange defines a range of host ports that will be enabled by a policy for pods to use.  It requires both the start and end to be defined. Deprecated: use HostPortRange from policy API Group instead.
data ExtensionsV1beta1HostPortRange = ExtensionsV1beta1HostPortRange
  { ExtensionsV1beta1HostPortRange -> Int
extensionsV1beta1HostPortRangeMax :: !(Int) -- ^ /Required/ "max" - max is the end of the range, inclusive.
  , ExtensionsV1beta1HostPortRange -> Int
extensionsV1beta1HostPortRangeMin :: !(Int) -- ^ /Required/ "min" - min is the start of the range, inclusive.
  } deriving (Int -> ExtensionsV1beta1HostPortRange -> ShowS
[ExtensionsV1beta1HostPortRange] -> ShowS
ExtensionsV1beta1HostPortRange -> String
(Int -> ExtensionsV1beta1HostPortRange -> ShowS)
-> (ExtensionsV1beta1HostPortRange -> String)
-> ([ExtensionsV1beta1HostPortRange] -> ShowS)
-> Show ExtensionsV1beta1HostPortRange
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1HostPortRange] -> ShowS
$cshowList :: [ExtensionsV1beta1HostPortRange] -> ShowS
show :: ExtensionsV1beta1HostPortRange -> String
$cshow :: ExtensionsV1beta1HostPortRange -> String
showsPrec :: Int -> ExtensionsV1beta1HostPortRange -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1HostPortRange -> ShowS
P.Show, ExtensionsV1beta1HostPortRange
-> ExtensionsV1beta1HostPortRange -> Bool
(ExtensionsV1beta1HostPortRange
 -> ExtensionsV1beta1HostPortRange -> Bool)
-> (ExtensionsV1beta1HostPortRange
    -> ExtensionsV1beta1HostPortRange -> Bool)
-> Eq ExtensionsV1beta1HostPortRange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1HostPortRange
-> ExtensionsV1beta1HostPortRange -> Bool
$c/= :: ExtensionsV1beta1HostPortRange
-> ExtensionsV1beta1HostPortRange -> Bool
== :: ExtensionsV1beta1HostPortRange
-> ExtensionsV1beta1HostPortRange -> Bool
$c== :: ExtensionsV1beta1HostPortRange
-> ExtensionsV1beta1HostPortRange -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1HostPortRange
instance A.FromJSON ExtensionsV1beta1HostPortRange where
  parseJSON :: Value -> Parser ExtensionsV1beta1HostPortRange
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1HostPortRange)
-> Value
-> Parser ExtensionsV1beta1HostPortRange
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1HostPortRange" ((Object -> Parser ExtensionsV1beta1HostPortRange)
 -> Value -> Parser ExtensionsV1beta1HostPortRange)
-> (Object -> Parser ExtensionsV1beta1HostPortRange)
-> Value
-> Parser ExtensionsV1beta1HostPortRange
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Int -> Int -> ExtensionsV1beta1HostPortRange
ExtensionsV1beta1HostPortRange
      (Int -> Int -> ExtensionsV1beta1HostPortRange)
-> Parser Int -> Parser (Int -> ExtensionsV1beta1HostPortRange)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"max")
      Parser (Int -> ExtensionsV1beta1HostPortRange)
-> Parser Int -> Parser ExtensionsV1beta1HostPortRange
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"min")

-- | ToJSON ExtensionsV1beta1HostPortRange
instance A.ToJSON ExtensionsV1beta1HostPortRange where
  toJSON :: ExtensionsV1beta1HostPortRange -> Value
toJSON ExtensionsV1beta1HostPortRange {Int
extensionsV1beta1HostPortRangeMin :: Int
extensionsV1beta1HostPortRangeMax :: Int
extensionsV1beta1HostPortRangeMin :: ExtensionsV1beta1HostPortRange -> Int
extensionsV1beta1HostPortRangeMax :: ExtensionsV1beta1HostPortRange -> Int
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"max" Text -> Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Int
extensionsV1beta1HostPortRangeMax
      , Text
"min" Text -> Int -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Int
extensionsV1beta1HostPortRangeMin
      ]


-- | Construct a value of type 'ExtensionsV1beta1HostPortRange' (by applying it's required fields, if any)
mkExtensionsV1beta1HostPortRange
  :: Int -- ^ 'extensionsV1beta1HostPortRangeMax': max is the end of the range, inclusive.
  -> Int -- ^ 'extensionsV1beta1HostPortRangeMin': min is the start of the range, inclusive.
  -> ExtensionsV1beta1HostPortRange
mkExtensionsV1beta1HostPortRange :: Int -> Int -> ExtensionsV1beta1HostPortRange
mkExtensionsV1beta1HostPortRange Int
extensionsV1beta1HostPortRangeMax Int
extensionsV1beta1HostPortRangeMin =
  ExtensionsV1beta1HostPortRange :: Int -> Int -> ExtensionsV1beta1HostPortRange
ExtensionsV1beta1HostPortRange
  { Int
extensionsV1beta1HostPortRangeMax :: Int
extensionsV1beta1HostPortRangeMax :: Int
extensionsV1beta1HostPortRangeMax
  , Int
extensionsV1beta1HostPortRangeMin :: Int
extensionsV1beta1HostPortRangeMin :: Int
extensionsV1beta1HostPortRangeMin
  }

-- ** ExtensionsV1beta1IDRange
-- | ExtensionsV1beta1IDRange
-- IDRange provides a min/max of an allowed range of IDs. Deprecated: use IDRange from policy API Group instead.
data ExtensionsV1beta1IDRange = ExtensionsV1beta1IDRange
  { ExtensionsV1beta1IDRange -> Integer
extensionsV1beta1IDRangeMax :: !(Integer) -- ^ /Required/ "max" - max is the end of the range, inclusive.
  , ExtensionsV1beta1IDRange -> Integer
extensionsV1beta1IDRangeMin :: !(Integer) -- ^ /Required/ "min" - min is the start of the range, inclusive.
  } deriving (Int -> ExtensionsV1beta1IDRange -> ShowS
[ExtensionsV1beta1IDRange] -> ShowS
ExtensionsV1beta1IDRange -> String
(Int -> ExtensionsV1beta1IDRange -> ShowS)
-> (ExtensionsV1beta1IDRange -> String)
-> ([ExtensionsV1beta1IDRange] -> ShowS)
-> Show ExtensionsV1beta1IDRange
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1IDRange] -> ShowS
$cshowList :: [ExtensionsV1beta1IDRange] -> ShowS
show :: ExtensionsV1beta1IDRange -> String
$cshow :: ExtensionsV1beta1IDRange -> String
showsPrec :: Int -> ExtensionsV1beta1IDRange -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1IDRange -> ShowS
P.Show, ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool
(ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool)
-> (ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool)
-> Eq ExtensionsV1beta1IDRange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool
$c/= :: ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool
== :: ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool
$c== :: ExtensionsV1beta1IDRange -> ExtensionsV1beta1IDRange -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1IDRange
instance A.FromJSON ExtensionsV1beta1IDRange where
  parseJSON :: Value -> Parser ExtensionsV1beta1IDRange
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1IDRange)
-> Value
-> Parser ExtensionsV1beta1IDRange
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1IDRange" ((Object -> Parser ExtensionsV1beta1IDRange)
 -> Value -> Parser ExtensionsV1beta1IDRange)
-> (Object -> Parser ExtensionsV1beta1IDRange)
-> Value
-> Parser ExtensionsV1beta1IDRange
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Integer -> Integer -> ExtensionsV1beta1IDRange
ExtensionsV1beta1IDRange
      (Integer -> Integer -> ExtensionsV1beta1IDRange)
-> Parser Integer -> Parser (Integer -> ExtensionsV1beta1IDRange)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Integer
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"max")
      Parser (Integer -> ExtensionsV1beta1IDRange)
-> Parser Integer -> Parser ExtensionsV1beta1IDRange
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser Integer
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"min")

-- | ToJSON ExtensionsV1beta1IDRange
instance A.ToJSON ExtensionsV1beta1IDRange where
  toJSON :: ExtensionsV1beta1IDRange -> Value
toJSON ExtensionsV1beta1IDRange {Integer
extensionsV1beta1IDRangeMin :: Integer
extensionsV1beta1IDRangeMax :: Integer
extensionsV1beta1IDRangeMin :: ExtensionsV1beta1IDRange -> Integer
extensionsV1beta1IDRangeMax :: ExtensionsV1beta1IDRange -> Integer
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"max" Text -> Integer -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Integer
extensionsV1beta1IDRangeMax
      , Text
"min" Text -> Integer -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Integer
extensionsV1beta1IDRangeMin
      ]


-- | Construct a value of type 'ExtensionsV1beta1IDRange' (by applying it's required fields, if any)
mkExtensionsV1beta1IDRange
  :: Integer -- ^ 'extensionsV1beta1IDRangeMax': max is the end of the range, inclusive.
  -> Integer -- ^ 'extensionsV1beta1IDRangeMin': min is the start of the range, inclusive.
  -> ExtensionsV1beta1IDRange
mkExtensionsV1beta1IDRange :: Integer -> Integer -> ExtensionsV1beta1IDRange
mkExtensionsV1beta1IDRange Integer
extensionsV1beta1IDRangeMax Integer
extensionsV1beta1IDRangeMin =
  ExtensionsV1beta1IDRange :: Integer -> Integer -> ExtensionsV1beta1IDRange
ExtensionsV1beta1IDRange
  { Integer
extensionsV1beta1IDRangeMax :: Integer
extensionsV1beta1IDRangeMax :: Integer
extensionsV1beta1IDRangeMax
  , Integer
extensionsV1beta1IDRangeMin :: Integer
extensionsV1beta1IDRangeMin :: Integer
extensionsV1beta1IDRangeMin
  }

-- ** ExtensionsV1beta1Ingress
-- | ExtensionsV1beta1Ingress
-- Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.
data ExtensionsV1beta1Ingress = ExtensionsV1beta1Ingress
  { ExtensionsV1beta1Ingress -> Maybe Text
extensionsV1beta1IngressApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , ExtensionsV1beta1Ingress -> Maybe Text
extensionsV1beta1IngressKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , ExtensionsV1beta1Ingress -> Maybe V1ObjectMeta
extensionsV1beta1IngressMetadata :: !(Maybe V1ObjectMeta) -- ^ "metadata"
  , ExtensionsV1beta1Ingress -> Maybe ExtensionsV1beta1IngressSpec
extensionsV1beta1IngressSpec :: !(Maybe ExtensionsV1beta1IngressSpec) -- ^ "spec"
  , ExtensionsV1beta1Ingress -> Maybe ExtensionsV1beta1IngressStatus
extensionsV1beta1IngressStatus :: !(Maybe ExtensionsV1beta1IngressStatus) -- ^ "status"
  } deriving (Int -> ExtensionsV1beta1Ingress -> ShowS
[ExtensionsV1beta1Ingress] -> ShowS
ExtensionsV1beta1Ingress -> String
(Int -> ExtensionsV1beta1Ingress -> ShowS)
-> (ExtensionsV1beta1Ingress -> String)
-> ([ExtensionsV1beta1Ingress] -> ShowS)
-> Show ExtensionsV1beta1Ingress
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1Ingress] -> ShowS
$cshowList :: [ExtensionsV1beta1Ingress] -> ShowS
show :: ExtensionsV1beta1Ingress -> String
$cshow :: ExtensionsV1beta1Ingress -> String
showsPrec :: Int -> ExtensionsV1beta1Ingress -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1Ingress -> ShowS
P.Show, ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool
(ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool)
-> (ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool)
-> Eq ExtensionsV1beta1Ingress
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool
$c/= :: ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool
== :: ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool
$c== :: ExtensionsV1beta1Ingress -> ExtensionsV1beta1Ingress -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1Ingress
instance A.FromJSON ExtensionsV1beta1Ingress where
  parseJSON :: Value -> Parser ExtensionsV1beta1Ingress
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1Ingress)
-> Value
-> Parser ExtensionsV1beta1Ingress
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1Ingress" ((Object -> Parser ExtensionsV1beta1Ingress)
 -> Value -> Parser ExtensionsV1beta1Ingress)
-> (Object -> Parser ExtensionsV1beta1Ingress)
-> Value
-> Parser ExtensionsV1beta1Ingress
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe ExtensionsV1beta1IngressSpec
-> Maybe ExtensionsV1beta1IngressStatus
-> ExtensionsV1beta1Ingress
ExtensionsV1beta1Ingress
      (Maybe Text
 -> Maybe Text
 -> Maybe V1ObjectMeta
 -> Maybe ExtensionsV1beta1IngressSpec
 -> Maybe ExtensionsV1beta1IngressStatus
 -> ExtensionsV1beta1Ingress)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe V1ObjectMeta
      -> Maybe ExtensionsV1beta1IngressSpec
      -> Maybe ExtensionsV1beta1IngressStatus
      -> ExtensionsV1beta1Ingress)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  (Maybe Text
   -> Maybe V1ObjectMeta
   -> Maybe ExtensionsV1beta1IngressSpec
   -> Maybe ExtensionsV1beta1IngressStatus
   -> ExtensionsV1beta1Ingress)
-> Parser (Maybe Text)
-> Parser
     (Maybe V1ObjectMeta
      -> Maybe ExtensionsV1beta1IngressSpec
      -> Maybe ExtensionsV1beta1IngressStatus
      -> ExtensionsV1beta1Ingress)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser
  (Maybe V1ObjectMeta
   -> Maybe ExtensionsV1beta1IngressSpec
   -> Maybe ExtensionsV1beta1IngressStatus
   -> ExtensionsV1beta1Ingress)
-> Parser (Maybe V1ObjectMeta)
-> Parser
     (Maybe ExtensionsV1beta1IngressSpec
      -> Maybe ExtensionsV1beta1IngressStatus
      -> ExtensionsV1beta1Ingress)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ObjectMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")
      Parser
  (Maybe ExtensionsV1beta1IngressSpec
   -> Maybe ExtensionsV1beta1IngressStatus
   -> ExtensionsV1beta1Ingress)
-> Parser (Maybe ExtensionsV1beta1IngressSpec)
-> Parser
     (Maybe ExtensionsV1beta1IngressStatus -> ExtensionsV1beta1Ingress)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe ExtensionsV1beta1IngressSpec)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"spec")
      Parser
  (Maybe ExtensionsV1beta1IngressStatus -> ExtensionsV1beta1Ingress)
-> Parser (Maybe ExtensionsV1beta1IngressStatus)
-> Parser ExtensionsV1beta1Ingress
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe ExtensionsV1beta1IngressStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"status")

-- | ToJSON ExtensionsV1beta1Ingress
instance A.ToJSON ExtensionsV1beta1Ingress where
  toJSON :: ExtensionsV1beta1Ingress -> Value
toJSON ExtensionsV1beta1Ingress {Maybe Text
Maybe V1ObjectMeta
Maybe ExtensionsV1beta1IngressStatus
Maybe ExtensionsV1beta1IngressSpec
extensionsV1beta1IngressStatus :: Maybe ExtensionsV1beta1IngressStatus
extensionsV1beta1IngressSpec :: Maybe ExtensionsV1beta1IngressSpec
extensionsV1beta1IngressMetadata :: Maybe V1ObjectMeta
extensionsV1beta1IngressKind :: Maybe Text
extensionsV1beta1IngressApiVersion :: Maybe Text
extensionsV1beta1IngressStatus :: ExtensionsV1beta1Ingress -> Maybe ExtensionsV1beta1IngressStatus
extensionsV1beta1IngressSpec :: ExtensionsV1beta1Ingress -> Maybe ExtensionsV1beta1IngressSpec
extensionsV1beta1IngressMetadata :: ExtensionsV1beta1Ingress -> Maybe V1ObjectMeta
extensionsV1beta1IngressKind :: ExtensionsV1beta1Ingress -> Maybe Text
extensionsV1beta1IngressApiVersion :: ExtensionsV1beta1Ingress -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1IngressApiVersion
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1IngressKind
      , Text
"metadata" Text -> Maybe V1ObjectMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ObjectMeta
extensionsV1beta1IngressMetadata
      , Text
"spec" Text -> Maybe ExtensionsV1beta1IngressSpec -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1IngressSpec
extensionsV1beta1IngressSpec
      , Text
"status" Text -> Maybe ExtensionsV1beta1IngressStatus -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe ExtensionsV1beta1IngressStatus
extensionsV1beta1IngressStatus
      ]


-- | Construct a value of type 'ExtensionsV1beta1Ingress' (by applying it's required fields, if any)
mkExtensionsV1beta1Ingress
  :: ExtensionsV1beta1Ingress
mkExtensionsV1beta1Ingress :: ExtensionsV1beta1Ingress
mkExtensionsV1beta1Ingress =
  ExtensionsV1beta1Ingress :: Maybe Text
-> Maybe Text
-> Maybe V1ObjectMeta
-> Maybe ExtensionsV1beta1IngressSpec
-> Maybe ExtensionsV1beta1IngressStatus
-> ExtensionsV1beta1Ingress
ExtensionsV1beta1Ingress
  { extensionsV1beta1IngressApiVersion :: Maybe Text
extensionsV1beta1IngressApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1IngressKind :: Maybe Text
extensionsV1beta1IngressKind = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1IngressMetadata :: Maybe V1ObjectMeta
extensionsV1beta1IngressMetadata = Maybe V1ObjectMeta
forall a. Maybe a
Nothing
  , extensionsV1beta1IngressSpec :: Maybe ExtensionsV1beta1IngressSpec
extensionsV1beta1IngressSpec = Maybe ExtensionsV1beta1IngressSpec
forall a. Maybe a
Nothing
  , extensionsV1beta1IngressStatus :: Maybe ExtensionsV1beta1IngressStatus
extensionsV1beta1IngressStatus = Maybe ExtensionsV1beta1IngressStatus
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1IngressBackend
-- | ExtensionsV1beta1IngressBackend
-- IngressBackend describes all endpoints for a given service and port.
data ExtensionsV1beta1IngressBackend = ExtensionsV1beta1IngressBackend
  { ExtensionsV1beta1IngressBackend -> Text
extensionsV1beta1IngressBackendServiceName :: !(Text) -- ^ /Required/ "serviceName" - Specifies the name of the referenced service.
  , ExtensionsV1beta1IngressBackend -> IntOrString
extensionsV1beta1IngressBackendServicePort :: !(IntOrString) -- ^ /Required/ "servicePort"
  } deriving (Int -> ExtensionsV1beta1IngressBackend -> ShowS
[ExtensionsV1beta1IngressBackend] -> ShowS
ExtensionsV1beta1IngressBackend -> String
(Int -> ExtensionsV1beta1IngressBackend -> ShowS)
-> (ExtensionsV1beta1IngressBackend -> String)
-> ([ExtensionsV1beta1IngressBackend] -> ShowS)
-> Show ExtensionsV1beta1IngressBackend
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1IngressBackend] -> ShowS
$cshowList :: [ExtensionsV1beta1IngressBackend] -> ShowS
show :: ExtensionsV1beta1IngressBackend -> String
$cshow :: ExtensionsV1beta1IngressBackend -> String
showsPrec :: Int -> ExtensionsV1beta1IngressBackend -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1IngressBackend -> ShowS
P.Show, ExtensionsV1beta1IngressBackend
-> ExtensionsV1beta1IngressBackend -> Bool
(ExtensionsV1beta1IngressBackend
 -> ExtensionsV1beta1IngressBackend -> Bool)
-> (ExtensionsV1beta1IngressBackend
    -> ExtensionsV1beta1IngressBackend -> Bool)
-> Eq ExtensionsV1beta1IngressBackend
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1IngressBackend
-> ExtensionsV1beta1IngressBackend -> Bool
$c/= :: ExtensionsV1beta1IngressBackend
-> ExtensionsV1beta1IngressBackend -> Bool
== :: ExtensionsV1beta1IngressBackend
-> ExtensionsV1beta1IngressBackend -> Bool
$c== :: ExtensionsV1beta1IngressBackend
-> ExtensionsV1beta1IngressBackend -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1IngressBackend
instance A.FromJSON ExtensionsV1beta1IngressBackend where
  parseJSON :: Value -> Parser ExtensionsV1beta1IngressBackend
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1IngressBackend)
-> Value
-> Parser ExtensionsV1beta1IngressBackend
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1IngressBackend" ((Object -> Parser ExtensionsV1beta1IngressBackend)
 -> Value -> Parser ExtensionsV1beta1IngressBackend)
-> (Object -> Parser ExtensionsV1beta1IngressBackend)
-> Value
-> Parser ExtensionsV1beta1IngressBackend
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Text -> IntOrString -> ExtensionsV1beta1IngressBackend
ExtensionsV1beta1IngressBackend
      (Text -> IntOrString -> ExtensionsV1beta1IngressBackend)
-> Parser Text
-> Parser (IntOrString -> ExtensionsV1beta1IngressBackend)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"serviceName")
      Parser (IntOrString -> ExtensionsV1beta1IngressBackend)
-> Parser IntOrString -> Parser ExtensionsV1beta1IngressBackend
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser IntOrString
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"servicePort")

-- | ToJSON ExtensionsV1beta1IngressBackend
instance A.ToJSON ExtensionsV1beta1IngressBackend where
  toJSON :: ExtensionsV1beta1IngressBackend -> Value
toJSON ExtensionsV1beta1IngressBackend {Text
IntOrString
extensionsV1beta1IngressBackendServicePort :: IntOrString
extensionsV1beta1IngressBackendServiceName :: Text
extensionsV1beta1IngressBackendServicePort :: ExtensionsV1beta1IngressBackend -> IntOrString
extensionsV1beta1IngressBackendServiceName :: ExtensionsV1beta1IngressBackend -> Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"serviceName" Text -> Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Text
extensionsV1beta1IngressBackendServiceName
      , Text
"servicePort" Text -> IntOrString -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= IntOrString
extensionsV1beta1IngressBackendServicePort
      ]


-- | Construct a value of type 'ExtensionsV1beta1IngressBackend' (by applying it's required fields, if any)
mkExtensionsV1beta1IngressBackend
  :: Text -- ^ 'extensionsV1beta1IngressBackendServiceName': Specifies the name of the referenced service.
  -> IntOrString -- ^ 'extensionsV1beta1IngressBackendServicePort' 
  -> ExtensionsV1beta1IngressBackend
mkExtensionsV1beta1IngressBackend :: Text -> IntOrString -> ExtensionsV1beta1IngressBackend
mkExtensionsV1beta1IngressBackend Text
extensionsV1beta1IngressBackendServiceName IntOrString
extensionsV1beta1IngressBackendServicePort =
  ExtensionsV1beta1IngressBackend :: Text -> IntOrString -> ExtensionsV1beta1IngressBackend
ExtensionsV1beta1IngressBackend
  { Text
extensionsV1beta1IngressBackendServiceName :: Text
extensionsV1beta1IngressBackendServiceName :: Text
extensionsV1beta1IngressBackendServiceName
  , IntOrString
extensionsV1beta1IngressBackendServicePort :: IntOrString
extensionsV1beta1IngressBackendServicePort :: IntOrString
extensionsV1beta1IngressBackendServicePort
  }

-- ** ExtensionsV1beta1IngressList
-- | ExtensionsV1beta1IngressList
-- IngressList is a collection of Ingress.
data ExtensionsV1beta1IngressList = ExtensionsV1beta1IngressList
  { ExtensionsV1beta1IngressList -> Maybe Text
extensionsV1beta1IngressListApiVersion :: !(Maybe Text) -- ^ "apiVersion" - APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  , ExtensionsV1beta1IngressList -> [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListItems :: !([ExtensionsV1beta1Ingress]) -- ^ /Required/ "items" - Items is the list of Ingress.
  , ExtensionsV1beta1IngressList -> Maybe Text
extensionsV1beta1IngressListKind :: !(Maybe Text) -- ^ "kind" - Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  , ExtensionsV1beta1IngressList -> Maybe V1ListMeta
extensionsV1beta1IngressListMetadata :: !(Maybe V1ListMeta) -- ^ "metadata"
  } deriving (Int -> ExtensionsV1beta1IngressList -> ShowS
[ExtensionsV1beta1IngressList] -> ShowS
ExtensionsV1beta1IngressList -> String
(Int -> ExtensionsV1beta1IngressList -> ShowS)
-> (ExtensionsV1beta1IngressList -> String)
-> ([ExtensionsV1beta1IngressList] -> ShowS)
-> Show ExtensionsV1beta1IngressList
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1IngressList] -> ShowS
$cshowList :: [ExtensionsV1beta1IngressList] -> ShowS
show :: ExtensionsV1beta1IngressList -> String
$cshow :: ExtensionsV1beta1IngressList -> String
showsPrec :: Int -> ExtensionsV1beta1IngressList -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1IngressList -> ShowS
P.Show, ExtensionsV1beta1IngressList
-> ExtensionsV1beta1IngressList -> Bool
(ExtensionsV1beta1IngressList
 -> ExtensionsV1beta1IngressList -> Bool)
-> (ExtensionsV1beta1IngressList
    -> ExtensionsV1beta1IngressList -> Bool)
-> Eq ExtensionsV1beta1IngressList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExtensionsV1beta1IngressList
-> ExtensionsV1beta1IngressList -> Bool
$c/= :: ExtensionsV1beta1IngressList
-> ExtensionsV1beta1IngressList -> Bool
== :: ExtensionsV1beta1IngressList
-> ExtensionsV1beta1IngressList -> Bool
$c== :: ExtensionsV1beta1IngressList
-> ExtensionsV1beta1IngressList -> Bool
P.Eq, P.Typeable)

-- | FromJSON ExtensionsV1beta1IngressList
instance A.FromJSON ExtensionsV1beta1IngressList where
  parseJSON :: Value -> Parser ExtensionsV1beta1IngressList
parseJSON = String
-> (Object -> Parser ExtensionsV1beta1IngressList)
-> Value
-> Parser ExtensionsV1beta1IngressList
forall a. String -> (Object -> Parser a) -> Value -> Parser a
A.withObject String
"ExtensionsV1beta1IngressList" ((Object -> Parser ExtensionsV1beta1IngressList)
 -> Value -> Parser ExtensionsV1beta1IngressList)
-> (Object -> Parser ExtensionsV1beta1IngressList)
-> Value
-> Parser ExtensionsV1beta1IngressList
forall a b. (a -> b) -> a -> b
$ \Object
o ->
    Maybe Text
-> [ExtensionsV1beta1Ingress]
-> Maybe Text
-> Maybe V1ListMeta
-> ExtensionsV1beta1IngressList
ExtensionsV1beta1IngressList
      (Maybe Text
 -> [ExtensionsV1beta1Ingress]
 -> Maybe Text
 -> Maybe V1ListMeta
 -> ExtensionsV1beta1IngressList)
-> Parser (Maybe Text)
-> Parser
     ([ExtensionsV1beta1Ingress]
      -> Maybe Text -> Maybe V1ListMeta -> ExtensionsV1beta1IngressList)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"apiVersion")
      Parser
  ([ExtensionsV1beta1Ingress]
   -> Maybe Text -> Maybe V1ListMeta -> ExtensionsV1beta1IngressList)
-> Parser [ExtensionsV1beta1Ingress]
-> Parser
     (Maybe Text -> Maybe V1ListMeta -> ExtensionsV1beta1IngressList)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser [ExtensionsV1beta1Ingress]
forall a. FromJSON a => Object -> Text -> Parser a
.:  Text
"items")
      Parser
  (Maybe Text -> Maybe V1ListMeta -> ExtensionsV1beta1IngressList)
-> Parser (Maybe Text)
-> Parser (Maybe V1ListMeta -> ExtensionsV1beta1IngressList)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"kind")
      Parser (Maybe V1ListMeta -> ExtensionsV1beta1IngressList)
-> Parser (Maybe V1ListMeta) -> Parser ExtensionsV1beta1IngressList
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (Object
o Object -> Text -> Parser (Maybe V1ListMeta)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
.:? Text
"metadata")

-- | ToJSON ExtensionsV1beta1IngressList
instance A.ToJSON ExtensionsV1beta1IngressList where
  toJSON :: ExtensionsV1beta1IngressList -> Value
toJSON ExtensionsV1beta1IngressList {[ExtensionsV1beta1Ingress]
Maybe Text
Maybe V1ListMeta
extensionsV1beta1IngressListMetadata :: Maybe V1ListMeta
extensionsV1beta1IngressListKind :: Maybe Text
extensionsV1beta1IngressListItems :: [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListApiVersion :: Maybe Text
extensionsV1beta1IngressListMetadata :: ExtensionsV1beta1IngressList -> Maybe V1ListMeta
extensionsV1beta1IngressListKind :: ExtensionsV1beta1IngressList -> Maybe Text
extensionsV1beta1IngressListItems :: ExtensionsV1beta1IngressList -> [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListApiVersion :: ExtensionsV1beta1IngressList -> Maybe Text
..} =
   [(Text, Value)] -> Value
_omitNulls
      [ Text
"apiVersion" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1IngressListApiVersion
      , Text
"items" Text -> [ExtensionsV1beta1Ingress] -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListItems
      , Text
"kind" Text -> Maybe Text -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe Text
extensionsV1beta1IngressListKind
      , Text
"metadata" Text -> Maybe V1ListMeta -> (Text, Value)
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
.= Maybe V1ListMeta
extensionsV1beta1IngressListMetadata
      ]


-- | Construct a value of type 'ExtensionsV1beta1IngressList' (by applying it's required fields, if any)
mkExtensionsV1beta1IngressList
  :: [ExtensionsV1beta1Ingress] -- ^ 'extensionsV1beta1IngressListItems': Items is the list of Ingress.
  -> ExtensionsV1beta1IngressList
mkExtensionsV1beta1IngressList :: [ExtensionsV1beta1Ingress] -> ExtensionsV1beta1IngressList
mkExtensionsV1beta1IngressList [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListItems =
  ExtensionsV1beta1IngressList :: Maybe Text
-> [ExtensionsV1beta1Ingress]
-> Maybe Text
-> Maybe V1ListMeta
-> ExtensionsV1beta1IngressList
ExtensionsV1beta1IngressList
  { extensionsV1beta1IngressListApiVersion :: Maybe Text
extensionsV1beta1IngressListApiVersion = Maybe Text
forall a. Maybe a
Nothing
  , [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListItems :: [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListItems :: [ExtensionsV1beta1Ingress]
extensionsV1beta1IngressListItems
  , extensionsV1beta1IngressListKind :: Maybe Text
extensionsV1beta1IngressListKind = Maybe Text
forall a. Maybe a
Nothing
  , extensionsV1beta1IngressListMetadata :: Maybe V1ListMeta
extensionsV1beta1IngressListMetadata = Maybe V1ListMeta
forall a. Maybe a
Nothing
  }

-- ** ExtensionsV1beta1IngressRule
-- | ExtensionsV1beta1IngressRule
-- IngressRule represents the rules mapping the paths under a specified host to the related backend services. Incoming requests are first evaluated for a host match, then routed to the backend associated with the matching IngressRuleValue.
data ExtensionsV1beta1IngressRule = ExtensionsV1beta1IngressRule
  { ExtensionsV1beta1IngressRule -> Maybe Text
extensionsV1beta1IngressRuleHost :: !(Maybe Text) -- ^ "host" - Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the \&quot;host\&quot; part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the    IP in the Spec of the parent Ingress. 2. The &#x60;:&#x60; delimiter is not respected because ports are not allowed.    Currently the port of an Ingress is implicitly :80 for http and    :443 for https. Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.
  , ExtensionsV1beta1IngressRule
-> Maybe ExtensionsV1beta1HTTPIngressRuleValue
extensionsV1beta1IngressRuleHttp :: !(Maybe ExtensionsV1beta1HTTPIngressRuleValue) -- ^ "http"
  } deriving (Int -> ExtensionsV1beta1IngressRule -> ShowS
[ExtensionsV1beta1IngressRule] -> ShowS
ExtensionsV1beta1IngressRule -> String
(Int -> ExtensionsV1beta1IngressRule -> ShowS)
-> (ExtensionsV1beta1IngressRule -> String)
-> ([ExtensionsV1beta1IngressRule] -> ShowS)
-> Show ExtensionsV1beta1IngressRule
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ExtensionsV1beta1IngressRule] -> ShowS
$cshowList :: [ExtensionsV1beta1IngressRule] -> ShowS
show :: ExtensionsV1beta1IngressRule -> String
$cshow :: ExtensionsV1beta1IngressRule -> String
showsPrec :: Int -> ExtensionsV1beta1IngressRule -> ShowS
$cshowsPrec :: Int -> ExtensionsV1beta1IngressRule -> ShowS
P.Show,