Files
haskell/kubernetes/lib/Kubernetes/API/CustomObjects.hs

454 lines
21 KiB
Haskell
Raw Normal View History

{-
Kubernetes
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
OpenAPI spec version: 2.0
Kubernetes API version: v1.9.2
Generated by Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
-}
{-|
Module : Kubernetes.API.CustomObjects
-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module Kubernetes.API.CustomObjects where
import Kubernetes.Core
import Kubernetes.MimeTypes
import Kubernetes.Model as M
import qualified Data.Aeson as A
import qualified Data.ByteString as B
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.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Set as Set
import qualified Data.String as P
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified Data.Time as TI
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
-- * Operations
-- ** CustomObjects
-- *** createClusterCustomObject
-- | @POST \/apis\/{group}\/{version}\/{plural}@
--
-- Creates a cluster scoped Custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
createClusterCustomObject
:: (Consumes CreateClusterCustomObject contentType, MimeRender contentType A.Value)
=> ContentType contentType -- ^ request content-type ('MimeType')
-> Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - The custom resource's group name
-> Version -- ^ "version" - The custom resource's version
-> Plural -- ^ "plural" - The custom resource's plural name. For TPRs this would be lowercase plural kind.
-> A.Value -- ^ "body" - The JSON schema of the Resource to create.
-> KubernetesRequest CreateClusterCustomObject contentType A.Value accept
createClusterCustomObject _ _ (Group group) (Version version) (Plural plural) body =
_mkRequest "POST" ["/apis/",toPath group,"/",toPath version,"/",toPath plural]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
`setBodyParam` body
data CreateClusterCustomObject
-- | /Body Param/ "body" - The JSON schema of the Resource to create.
instance HasBodyParam CreateClusterCustomObject A.Value
-- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
instance HasOptionalParam CreateClusterCustomObject Pretty where
applyOptionalParam req (Pretty xs) =
req `setQuery` toQuery ("pretty", Just xs)
-- | @application/json@
instance Produces CreateClusterCustomObject MimeJSON
-- *** createNamespacedCustomObject
-- | @POST \/apis\/{group}\/{version}\/namespaces\/{namespace}\/{plural}@
--
-- Creates a namespace scoped Custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
createNamespacedCustomObject
:: (Consumes CreateNamespacedCustomObject contentType, MimeRender contentType A.Value)
=> ContentType contentType -- ^ request content-type ('MimeType')
-> Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - The custom resource's group name
-> Version -- ^ "version" - The custom resource's version
-> Namespace -- ^ "namespace" - The custom resource's namespace
-> Plural -- ^ "plural" - The custom resource's plural name. For TPRs this would be lowercase plural kind.
-> A.Value -- ^ "body" - The JSON schema of the Resource to create.
-> KubernetesRequest CreateNamespacedCustomObject contentType A.Value accept
createNamespacedCustomObject _ _ (Group group) (Version version) (Namespace namespace) (Plural plural) body =
_mkRequest "POST" ["/apis/",toPath group,"/",toPath version,"/namespaces/",toPath namespace,"/",toPath plural]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
`setBodyParam` body
data CreateNamespacedCustomObject
-- | /Body Param/ "body" - The JSON schema of the Resource to create.
instance HasBodyParam CreateNamespacedCustomObject A.Value
-- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
instance HasOptionalParam CreateNamespacedCustomObject Pretty where
applyOptionalParam req (Pretty xs) =
req `setQuery` toQuery ("pretty", Just xs)
-- | @application/json@
instance Produces CreateNamespacedCustomObject MimeJSON
-- *** deleteClusterCustomObject
-- | @DELETE \/apis\/{group}\/{version}\/{plural}\/{name}@
--
-- Deletes the specified cluster scoped custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
deleteClusterCustomObject
:: (Consumes DeleteClusterCustomObject contentType, MimeRender contentType V1DeleteOptions)
=> ContentType contentType -- ^ request content-type ('MimeType')
-> Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - the custom resource's group
-> Version -- ^ "version" - the custom resource's version
-> Plural -- ^ "plural" - the custom object's plural name. For TPRs this would be lowercase plural kind.
-> Name -- ^ "name" - the custom object's name
-> V1DeleteOptions -- ^ "body"
-> KubernetesRequest DeleteClusterCustomObject contentType A.Value accept
deleteClusterCustomObject _ _ (Group group) (Version version) (Plural plural) (Name name) body =
_mkRequest "DELETE" ["/apis/",toPath group,"/",toPath version,"/",toPath plural,"/",toPath name]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
`setBodyParam` body
data DeleteClusterCustomObject
instance HasBodyParam DeleteClusterCustomObject V1DeleteOptions
-- | /Optional Param/ "gracePeriodSeconds" - The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
instance HasOptionalParam DeleteClusterCustomObject GracePeriodSeconds where
applyOptionalParam req (GracePeriodSeconds xs) =
req `setQuery` toQuery ("gracePeriodSeconds", Just xs)
-- | /Optional Param/ "orphanDependents" - Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
instance HasOptionalParam DeleteClusterCustomObject OrphanDependents where
applyOptionalParam req (OrphanDependents xs) =
req `setQuery` toQuery ("orphanDependents", Just xs)
-- | /Optional Param/ "propagationPolicy" - Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.
instance HasOptionalParam DeleteClusterCustomObject PropagationPolicy where
applyOptionalParam req (PropagationPolicy xs) =
req `setQuery` toQuery ("propagationPolicy", Just xs)
-- | @*/*@
instance MimeType mtype => Consumes DeleteClusterCustomObject mtype
-- | @application/json@
instance Produces DeleteClusterCustomObject MimeJSON
-- *** deleteNamespacedCustomObject
-- | @DELETE \/apis\/{group}\/{version}\/namespaces\/{namespace}\/{plural}\/{name}@
--
-- Deletes the specified namespace scoped custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
deleteNamespacedCustomObject
:: (Consumes DeleteNamespacedCustomObject contentType, MimeRender contentType V1DeleteOptions)
=> ContentType contentType -- ^ request content-type ('MimeType')
-> Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - the custom resource's group
-> Version -- ^ "version" - the custom resource's version
-> Namespace -- ^ "namespace" - The custom resource's namespace
-> Plural -- ^ "plural" - the custom resource's plural name. For TPRs this would be lowercase plural kind.
-> Name -- ^ "name" - the custom object's name
-> V1DeleteOptions -- ^ "body"
-> KubernetesRequest DeleteNamespacedCustomObject contentType A.Value accept
deleteNamespacedCustomObject _ _ (Group group) (Version version) (Namespace namespace) (Plural plural) (Name name) body =
_mkRequest "DELETE" ["/apis/",toPath group,"/",toPath version,"/namespaces/",toPath namespace,"/",toPath plural,"/",toPath name]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
`setBodyParam` body
data DeleteNamespacedCustomObject
instance HasBodyParam DeleteNamespacedCustomObject V1DeleteOptions
-- | /Optional Param/ "gracePeriodSeconds" - The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.
instance HasOptionalParam DeleteNamespacedCustomObject GracePeriodSeconds where
applyOptionalParam req (GracePeriodSeconds xs) =
req `setQuery` toQuery ("gracePeriodSeconds", Just xs)
-- | /Optional Param/ "orphanDependents" - Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.
instance HasOptionalParam DeleteNamespacedCustomObject OrphanDependents where
applyOptionalParam req (OrphanDependents xs) =
req `setQuery` toQuery ("orphanDependents", Just xs)
-- | /Optional Param/ "propagationPolicy" - Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.
instance HasOptionalParam DeleteNamespacedCustomObject PropagationPolicy where
applyOptionalParam req (PropagationPolicy xs) =
req `setQuery` toQuery ("propagationPolicy", Just xs)
-- | @*/*@
instance MimeType mtype => Consumes DeleteNamespacedCustomObject mtype
-- | @application/json@
instance Produces DeleteNamespacedCustomObject MimeJSON
-- *** getClusterCustomObject
-- | @GET \/apis\/{group}\/{version}\/{plural}\/{name}@
--
-- Returns a cluster scoped custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
getClusterCustomObject
:: Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - the custom resource's group
-> Version -- ^ "version" - the custom resource's version
-> Plural -- ^ "plural" - the custom object's plural name. For TPRs this would be lowercase plural kind.
-> Name -- ^ "name" - the custom object's name
-> KubernetesRequest GetClusterCustomObject MimeNoContent A.Value accept
getClusterCustomObject _ (Group group) (Version version) (Plural plural) (Name name) =
_mkRequest "GET" ["/apis/",toPath group,"/",toPath version,"/",toPath plural,"/",toPath name]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
data GetClusterCustomObject
-- | @*/*@
instance MimeType mtype => Consumes GetClusterCustomObject mtype
-- | @application/json@
instance Produces GetClusterCustomObject MimeJSON
-- *** getNamespacedCustomObject
-- | @GET \/apis\/{group}\/{version}\/namespaces\/{namespace}\/{plural}\/{name}@
--
-- Returns a namespace scoped custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
getNamespacedCustomObject
:: Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - the custom resource's group
-> Version -- ^ "version" - the custom resource's version
-> Namespace -- ^ "namespace" - The custom resource's namespace
-> Plural -- ^ "plural" - the custom resource's plural name. For TPRs this would be lowercase plural kind.
-> Name -- ^ "name" - the custom object's name
-> KubernetesRequest GetNamespacedCustomObject MimeNoContent A.Value accept
getNamespacedCustomObject _ (Group group) (Version version) (Namespace namespace) (Plural plural) (Name name) =
_mkRequest "GET" ["/apis/",toPath group,"/",toPath version,"/namespaces/",toPath namespace,"/",toPath plural,"/",toPath name]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
data GetNamespacedCustomObject
-- | @*/*@
instance MimeType mtype => Consumes GetNamespacedCustomObject mtype
-- | @application/json@
instance Produces GetNamespacedCustomObject MimeJSON
-- *** listClusterCustomObject
-- | @GET \/apis\/{group}\/{version}\/{plural}@
--
-- list or watch cluster scoped custom objects
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
listClusterCustomObject
:: Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - The custom resource's group name
-> Version -- ^ "version" - The custom resource's version
-> Plural -- ^ "plural" - The custom resource's plural name. For TPRs this would be lowercase plural kind.
-> KubernetesRequest ListClusterCustomObject MimeNoContent A.Value accept
listClusterCustomObject _ (Group group) (Version version) (Plural plural) =
_mkRequest "GET" ["/apis/",toPath group,"/",toPath version,"/",toPath plural]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
data ListClusterCustomObject
-- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
instance HasOptionalParam ListClusterCustomObject Pretty where
applyOptionalParam req (Pretty xs) =
req `setQuery` toQuery ("pretty", Just xs)
-- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
instance HasOptionalParam ListClusterCustomObject LabelSelector where
applyOptionalParam req (LabelSelector xs) =
req `setQuery` toQuery ("labelSelector", Just xs)
-- | /Optional Param/ "resourceVersion" - When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
instance HasOptionalParam ListClusterCustomObject ResourceVersion where
applyOptionalParam req (ResourceVersion xs) =
req `setQuery` toQuery ("resourceVersion", Just xs)
-- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications.
instance HasOptionalParam ListClusterCustomObject Watch where
applyOptionalParam req (Watch xs) =
req `setQuery` toQuery ("watch", Just xs)
-- | @*/*@
instance MimeType mtype => Consumes ListClusterCustomObject mtype
-- | @application/json@
instance Produces ListClusterCustomObject MimeJSON
-- | @application/json;stream=watch@
instance Produces ListClusterCustomObject MimeJsonstreamwatch
-- *** listNamespacedCustomObject
-- | @GET \/apis\/{group}\/{version}\/namespaces\/{namespace}\/{plural}@
--
-- list or watch namespace scoped custom objects
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
listNamespacedCustomObject
:: Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - The custom resource's group name
-> Version -- ^ "version" - The custom resource's version
-> Namespace -- ^ "namespace" - The custom resource's namespace
-> Plural -- ^ "plural" - The custom resource's plural name. For TPRs this would be lowercase plural kind.
-> KubernetesRequest ListNamespacedCustomObject MimeNoContent A.Value accept
listNamespacedCustomObject _ (Group group) (Version version) (Namespace namespace) (Plural plural) =
_mkRequest "GET" ["/apis/",toPath group,"/",toPath version,"/namespaces/",toPath namespace,"/",toPath plural]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
data ListNamespacedCustomObject
-- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
instance HasOptionalParam ListNamespacedCustomObject Pretty where
applyOptionalParam req (Pretty xs) =
req `setQuery` toQuery ("pretty", Just xs)
-- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
instance HasOptionalParam ListNamespacedCustomObject LabelSelector where
applyOptionalParam req (LabelSelector xs) =
req `setQuery` toQuery ("labelSelector", Just xs)
-- | /Optional Param/ "resourceVersion" - When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.
instance HasOptionalParam ListNamespacedCustomObject ResourceVersion where
applyOptionalParam req (ResourceVersion xs) =
req `setQuery` toQuery ("resourceVersion", Just xs)
-- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications.
instance HasOptionalParam ListNamespacedCustomObject Watch where
applyOptionalParam req (Watch xs) =
req `setQuery` toQuery ("watch", Just xs)
-- | @*/*@
instance MimeType mtype => Consumes ListNamespacedCustomObject mtype
-- | @application/json@
instance Produces ListNamespacedCustomObject MimeJSON
-- | @application/json;stream=watch@
instance Produces ListNamespacedCustomObject MimeJsonstreamwatch
-- *** replaceClusterCustomObject
-- | @PUT \/apis\/{group}\/{version}\/{plural}\/{name}@
--
-- replace the specified cluster scoped custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
replaceClusterCustomObject
:: (Consumes ReplaceClusterCustomObject contentType, MimeRender contentType A.Value)
=> ContentType contentType -- ^ request content-type ('MimeType')
-> Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - the custom resource's group
-> Version -- ^ "version" - the custom resource's version
-> Plural -- ^ "plural" - the custom object's plural name. For TPRs this would be lowercase plural kind.
-> Name -- ^ "name" - the custom object's name
-> A.Value -- ^ "body" - The JSON schema of the Resource to replace.
-> KubernetesRequest ReplaceClusterCustomObject contentType A.Value accept
replaceClusterCustomObject _ _ (Group group) (Version version) (Plural plural) (Name name) body =
_mkRequest "PUT" ["/apis/",toPath group,"/",toPath version,"/",toPath plural,"/",toPath name]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
`setBodyParam` body
data ReplaceClusterCustomObject
-- | /Body Param/ "body" - The JSON schema of the Resource to replace.
instance HasBodyParam ReplaceClusterCustomObject A.Value
-- | @*/*@
instance MimeType mtype => Consumes ReplaceClusterCustomObject mtype
-- | @application/json@
instance Produces ReplaceClusterCustomObject MimeJSON
-- *** replaceNamespacedCustomObject
-- | @PUT \/apis\/{group}\/{version}\/namespaces\/{namespace}\/{plural}\/{name}@
--
-- replace the specified namespace scoped custom object
--
-- AuthMethod: 'AuthApiKeyBearerToken'
--
replaceNamespacedCustomObject
:: (Consumes ReplaceNamespacedCustomObject contentType, MimeRender contentType A.Value)
=> ContentType contentType -- ^ request content-type ('MimeType')
-> Accept accept -- ^ request accept ('MimeType')
-> Group -- ^ "group" - the custom resource's group
-> Version -- ^ "version" - the custom resource's version
-> Namespace -- ^ "namespace" - The custom resource's namespace
-> Plural -- ^ "plural" - the custom resource's plural name. For TPRs this would be lowercase plural kind.
-> Name -- ^ "name" - the custom object's name
-> A.Value -- ^ "body" - The JSON schema of the Resource to replace.
-> KubernetesRequest ReplaceNamespacedCustomObject contentType A.Value accept
replaceNamespacedCustomObject _ _ (Group group) (Version version) (Namespace namespace) (Plural plural) (Name name) body =
_mkRequest "PUT" ["/apis/",toPath group,"/",toPath version,"/namespaces/",toPath namespace,"/",toPath plural,"/",toPath name]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
`setBodyParam` body
data ReplaceNamespacedCustomObject
-- | /Body Param/ "body" - The JSON schema of the Resource to replace.
instance HasBodyParam ReplaceNamespacedCustomObject A.Value
-- | @*/*@
instance MimeType mtype => Consumes ReplaceNamespacedCustomObject mtype
-- | @application/json@
instance Produces ReplaceNamespacedCustomObject MimeJSON