content: {-
     Kubernetes
  
     No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
  
     OpenAPI Version: 3.0.1
     Kubernetes API version: release-1.26
     Generated by OpenAPI Generator (https://openapi-generator.tech)
  -}
  
  {-|
  Module : Kubernetes.OpenAPI.API.AppsV1
  -}
  
  {-# 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.OpenAPI.API.AppsV1 where
  
  import Kubernetes.OpenAPI.Core
  import Kubernetes.OpenAPI.MimeTypes
  import Kubernetes.OpenAPI.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
  
  
  -- ** AppsV1
  
  -- *** createNamespacedControllerRevision
  
  -- | @POST \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions@
  -- 
  -- create a ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createNamespacedControllerRevision
    :: (Consumes CreateNamespacedControllerRevision contentType, MimeRender contentType V1ControllerRevision)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1ControllerRevision -- ^ "body"
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest CreateNamespacedControllerRevision contentType V1ControllerRevision accept
  createNamespacedControllerRevision _  _ body (Namespace namespace) =
    _mkRequest "POST" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateNamespacedControllerRevision 
  instance HasBodyParam CreateNamespacedControllerRevision V1ControllerRevision 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam CreateNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam CreateNamespacedControllerRevision DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam CreateNamespacedControllerRevision FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam CreateNamespacedControllerRevision FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateNamespacedControllerRevision mtype
  
  -- | @application/json@
  instance Produces CreateNamespacedControllerRevision MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateNamespacedControllerRevision MimeYaml
  
  
  -- *** createNamespacedDaemonSet
  
  -- | @POST \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets@
  -- 
  -- create a DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createNamespacedDaemonSet
    :: (Consumes CreateNamespacedDaemonSet contentType, MimeRender contentType V1DaemonSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1DaemonSet -- ^ "body"
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest CreateNamespacedDaemonSet contentType V1DaemonSet accept
  createNamespacedDaemonSet _  _ body (Namespace namespace) =
    _mkRequest "POST" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateNamespacedDaemonSet 
  instance HasBodyParam CreateNamespacedDaemonSet V1DaemonSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam CreateNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam CreateNamespacedDaemonSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam CreateNamespacedDaemonSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam CreateNamespacedDaemonSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateNamespacedDaemonSet mtype
  
  -- | @application/json@
  instance Produces CreateNamespacedDaemonSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateNamespacedDaemonSet MimeYaml
  
  
  -- *** createNamespacedDeployment
  
  -- | @POST \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments@
  -- 
  -- create a Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createNamespacedDeployment
    :: (Consumes CreateNamespacedDeployment contentType, MimeRender contentType V1Deployment)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1Deployment -- ^ "body"
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest CreateNamespacedDeployment contentType V1Deployment accept
  createNamespacedDeployment _  _ body (Namespace namespace) =
    _mkRequest "POST" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateNamespacedDeployment 
  instance HasBodyParam CreateNamespacedDeployment V1Deployment 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam CreateNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam CreateNamespacedDeployment DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam CreateNamespacedDeployment FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam CreateNamespacedDeployment FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateNamespacedDeployment mtype
  
  -- | @application/json@
  instance Produces CreateNamespacedDeployment MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateNamespacedDeployment MimeYaml
  
  
  -- *** createNamespacedReplicaSet
  
  -- | @POST \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets@
  -- 
  -- create a ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createNamespacedReplicaSet
    :: (Consumes CreateNamespacedReplicaSet contentType, MimeRender contentType V1ReplicaSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1ReplicaSet -- ^ "body"
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest CreateNamespacedReplicaSet contentType V1ReplicaSet accept
  createNamespacedReplicaSet _  _ body (Namespace namespace) =
    _mkRequest "POST" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateNamespacedReplicaSet 
  instance HasBodyParam CreateNamespacedReplicaSet V1ReplicaSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam CreateNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam CreateNamespacedReplicaSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam CreateNamespacedReplicaSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam CreateNamespacedReplicaSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateNamespacedReplicaSet mtype
  
  -- | @application/json@
  instance Produces CreateNamespacedReplicaSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateNamespacedReplicaSet MimeYaml
  
  
  -- *** createNamespacedStatefulSet
  
  -- | @POST \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets@
  -- 
  -- create a StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createNamespacedStatefulSet
    :: (Consumes CreateNamespacedStatefulSet contentType, MimeRender contentType V1StatefulSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1StatefulSet -- ^ "body"
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest CreateNamespacedStatefulSet contentType V1StatefulSet accept
  createNamespacedStatefulSet _  _ body (Namespace namespace) =
    _mkRequest "POST" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateNamespacedStatefulSet 
  instance HasBodyParam CreateNamespacedStatefulSet V1StatefulSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam CreateNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam CreateNamespacedStatefulSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam CreateNamespacedStatefulSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam CreateNamespacedStatefulSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateNamespacedStatefulSet mtype
  
  -- | @application/json@
  instance Produces CreateNamespacedStatefulSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateNamespacedStatefulSet MimeYaml
  
  
  -- *** deleteCollectionNamespacedControllerRevision
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions@
  -- 
  -- delete collection of ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionNamespacedControllerRevision
    :: (Consumes DeleteCollectionNamespacedControllerRevision contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteCollectionNamespacedControllerRevision contentType V1Status accept
  deleteCollectionNamespacedControllerRevision _  _ (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionNamespacedControllerRevision 
  instance HasBodyParam DeleteCollectionNamespacedControllerRevision V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /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 DeleteCollectionNamespacedControllerRevision GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` toQuery ("gracePeriodSeconds", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", 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 DeleteCollectionNamespacedControllerRevision OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam DeleteCollectionNamespacedControllerRevision TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionNamespacedControllerRevision mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionNamespacedControllerRevision MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionNamespacedControllerRevision MimeYaml
  
  
  -- *** deleteCollectionNamespacedDaemonSet
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets@
  -- 
  -- delete collection of DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionNamespacedDaemonSet
    :: (Consumes DeleteCollectionNamespacedDaemonSet contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteCollectionNamespacedDaemonSet contentType V1Status accept
  deleteCollectionNamespacedDaemonSet _  _ (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionNamespacedDaemonSet 
  instance HasBodyParam DeleteCollectionNamespacedDaemonSet V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /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 DeleteCollectionNamespacedDaemonSet GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` toQuery ("gracePeriodSeconds", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", 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 DeleteCollectionNamespacedDaemonSet OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam DeleteCollectionNamespacedDaemonSet TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionNamespacedDaemonSet mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionNamespacedDaemonSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionNamespacedDaemonSet MimeYaml
  
  
  -- *** deleteCollectionNamespacedDeployment
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments@
  -- 
  -- delete collection of Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionNamespacedDeployment
    :: (Consumes DeleteCollectionNamespacedDeployment contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteCollectionNamespacedDeployment contentType V1Status accept
  deleteCollectionNamespacedDeployment _  _ (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionNamespacedDeployment 
  instance HasBodyParam DeleteCollectionNamespacedDeployment V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteCollectionNamespacedDeployment DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /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 DeleteCollectionNamespacedDeployment GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` toQuery ("gracePeriodSeconds", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", 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 DeleteCollectionNamespacedDeployment OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedDeployment ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedDeployment ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam DeleteCollectionNamespacedDeployment TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionNamespacedDeployment mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionNamespacedDeployment MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionNamespacedDeployment MimeYaml
  
  
  -- *** deleteCollectionNamespacedReplicaSet
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets@
  -- 
  -- delete collection of ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionNamespacedReplicaSet
    :: (Consumes DeleteCollectionNamespacedReplicaSet contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteCollectionNamespacedReplicaSet contentType V1Status accept
  deleteCollectionNamespacedReplicaSet _  _ (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionNamespacedReplicaSet 
  instance HasBodyParam DeleteCollectionNamespacedReplicaSet V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /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 DeleteCollectionNamespacedReplicaSet GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` toQuery ("gracePeriodSeconds", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", 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 DeleteCollectionNamespacedReplicaSet OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam DeleteCollectionNamespacedReplicaSet TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionNamespacedReplicaSet mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionNamespacedReplicaSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionNamespacedReplicaSet MimeYaml
  
  
  -- *** deleteCollectionNamespacedStatefulSet
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets@
  -- 
  -- delete collection of StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionNamespacedStatefulSet
    :: (Consumes DeleteCollectionNamespacedStatefulSet contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteCollectionNamespacedStatefulSet contentType V1Status accept
  deleteCollectionNamespacedStatefulSet _  _ (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionNamespacedStatefulSet 
  instance HasBodyParam DeleteCollectionNamespacedStatefulSet V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /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 DeleteCollectionNamespacedStatefulSet GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` toQuery ("gracePeriodSeconds", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", 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 DeleteCollectionNamespacedStatefulSet OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam DeleteCollectionNamespacedStatefulSet TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionNamespacedStatefulSet mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionNamespacedStatefulSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionNamespacedStatefulSet MimeYaml
  
  
  -- *** deleteNamespacedControllerRevision
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions\/{name}@
  -- 
  -- delete a ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteNamespacedControllerRevision
    :: (Consumes DeleteNamespacedControllerRevision contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ControllerRevision
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteNamespacedControllerRevision contentType V1Status accept
  deleteNamespacedControllerRevision _  _ (Name name) (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteNamespacedControllerRevision 
  instance HasBodyParam DeleteNamespacedControllerRevision V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteNamespacedControllerRevision DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /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 DeleteNamespacedControllerRevision GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` 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 DeleteNamespacedControllerRevision OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteNamespacedControllerRevision PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteNamespacedControllerRevision mtype
  
  -- | @application/json@
  instance Produces DeleteNamespacedControllerRevision MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteNamespacedControllerRevision MimeYaml
  
  
  -- *** deleteNamespacedDaemonSet
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}@
  -- 
  -- delete a DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteNamespacedDaemonSet
    :: (Consumes DeleteNamespacedDaemonSet contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteNamespacedDaemonSet contentType V1Status accept
  deleteNamespacedDaemonSet _  _ (Name name) (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteNamespacedDaemonSet 
  instance HasBodyParam DeleteNamespacedDaemonSet V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteNamespacedDaemonSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /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 DeleteNamespacedDaemonSet GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` 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 DeleteNamespacedDaemonSet OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteNamespacedDaemonSet PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteNamespacedDaemonSet mtype
  
  -- | @application/json@
  instance Produces DeleteNamespacedDaemonSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteNamespacedDaemonSet MimeYaml
  
  
  -- *** deleteNamespacedDeployment
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}@
  -- 
  -- delete a Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteNamespacedDeployment
    :: (Consumes DeleteNamespacedDeployment contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteNamespacedDeployment contentType V1Status accept
  deleteNamespacedDeployment _  _ (Name name) (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteNamespacedDeployment 
  instance HasBodyParam DeleteNamespacedDeployment V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteNamespacedDeployment DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /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 DeleteNamespacedDeployment GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` 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 DeleteNamespacedDeployment OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteNamespacedDeployment PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteNamespacedDeployment mtype
  
  -- | @application/json@
  instance Produces DeleteNamespacedDeployment MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteNamespacedDeployment MimeYaml
  
  
  -- *** deleteNamespacedReplicaSet
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}@
  -- 
  -- delete a ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteNamespacedReplicaSet
    :: (Consumes DeleteNamespacedReplicaSet contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteNamespacedReplicaSet contentType V1Status accept
  deleteNamespacedReplicaSet _  _ (Name name) (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteNamespacedReplicaSet 
  instance HasBodyParam DeleteNamespacedReplicaSet V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteNamespacedReplicaSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /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 DeleteNamespacedReplicaSet GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` 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 DeleteNamespacedReplicaSet OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteNamespacedReplicaSet PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteNamespacedReplicaSet mtype
  
  -- | @application/json@
  instance Produces DeleteNamespacedReplicaSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteNamespacedReplicaSet MimeYaml
  
  
  -- *** deleteNamespacedStatefulSet
  
  -- | @DELETE \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}@
  -- 
  -- delete a StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteNamespacedStatefulSet
    :: (Consumes DeleteNamespacedStatefulSet contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest DeleteNamespacedStatefulSet contentType V1Status accept
  deleteNamespacedStatefulSet _  _ (Name name) (Namespace namespace) =
    _mkRequest "DELETE" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteNamespacedStatefulSet 
  instance HasBodyParam DeleteNamespacedStatefulSet V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam DeleteNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam DeleteNamespacedStatefulSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /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 DeleteNamespacedStatefulSet GracePeriodSeconds where
    applyOptionalParam req (GracePeriodSeconds xs) =
      req `addQuery` 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 DeleteNamespacedStatefulSet OrphanDependents where
    applyOptionalParam req (OrphanDependents xs) =
      req `addQuery` 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. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.
  instance HasOptionalParam DeleteNamespacedStatefulSet PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteNamespacedStatefulSet mtype
  
  -- | @application/json@
  instance Produces DeleteNamespacedStatefulSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteNamespacedStatefulSet MimeYaml
  
  
  -- *** getAPIResources
  
  -- | @GET \/apis\/apps\/v1\/@
  -- 
  -- get available resources
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  getAPIResources
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest GetAPIResources MimeNoContent V1APIResourceList accept
  getAPIResources  _ =
    _mkRequest "GET" ["/apis/apps/v1/"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data GetAPIResources  
  -- | @application/json@
  instance Produces GetAPIResources MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces GetAPIResources MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces GetAPIResources MimeYaml
  
  
  -- *** listControllerRevisionForAllNamespaces
  
  -- | @GET \/apis\/apps\/v1\/controllerrevisions@
  -- 
  -- list or watch objects of kind ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listControllerRevisionForAllNamespaces
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListControllerRevisionForAllNamespaces MimeNoContent V1ControllerRevisionList accept
  listControllerRevisionForAllNamespaces  _ =
    _mkRequest "GET" ["/apis/apps/v1/controllerrevisions"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListControllerRevisionForAllNamespaces  
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListControllerRevisionForAllNamespaces ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListControllerRevisionForAllNamespaces ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListControllerRevisionForAllNamespaces Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListControllerRevisionForAllNamespaces MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListControllerRevisionForAllNamespaces MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListControllerRevisionForAllNamespaces MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListControllerRevisionForAllNamespaces MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListControllerRevisionForAllNamespaces MimeYaml
  
  
  -- *** listDaemonSetForAllNamespaces
  
  -- | @GET \/apis\/apps\/v1\/daemonsets@
  -- 
  -- list or watch objects of kind DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listDaemonSetForAllNamespaces
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListDaemonSetForAllNamespaces MimeNoContent V1DaemonSetList accept
  listDaemonSetForAllNamespaces  _ =
    _mkRequest "GET" ["/apis/apps/v1/daemonsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListDaemonSetForAllNamespaces  
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListDaemonSetForAllNamespaces AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListDaemonSetForAllNamespaces Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListDaemonSetForAllNamespaces FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListDaemonSetForAllNamespaces LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListDaemonSetForAllNamespaces Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListDaemonSetForAllNamespaces Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListDaemonSetForAllNamespaces ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListDaemonSetForAllNamespaces ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListDaemonSetForAllNamespaces TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListDaemonSetForAllNamespaces Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListDaemonSetForAllNamespaces MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListDaemonSetForAllNamespaces MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListDaemonSetForAllNamespaces MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListDaemonSetForAllNamespaces MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListDaemonSetForAllNamespaces MimeYaml
  
  
  -- *** listDeploymentForAllNamespaces
  
  -- | @GET \/apis\/apps\/v1\/deployments@
  -- 
  -- list or watch objects of kind Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listDeploymentForAllNamespaces
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListDeploymentForAllNamespaces MimeNoContent V1DeploymentList accept
  listDeploymentForAllNamespaces  _ =
    _mkRequest "GET" ["/apis/apps/v1/deployments"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListDeploymentForAllNamespaces  
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListDeploymentForAllNamespaces AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListDeploymentForAllNamespaces Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListDeploymentForAllNamespaces FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListDeploymentForAllNamespaces LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListDeploymentForAllNamespaces Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListDeploymentForAllNamespaces Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListDeploymentForAllNamespaces ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListDeploymentForAllNamespaces ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListDeploymentForAllNamespaces TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListDeploymentForAllNamespaces Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListDeploymentForAllNamespaces MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListDeploymentForAllNamespaces MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListDeploymentForAllNamespaces MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListDeploymentForAllNamespaces MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListDeploymentForAllNamespaces MimeYaml
  
  
  -- *** listNamespacedControllerRevision
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions@
  -- 
  -- list or watch objects of kind ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listNamespacedControllerRevision
    :: Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ListNamespacedControllerRevision MimeNoContent V1ControllerRevisionList accept
  listNamespacedControllerRevision  _ (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListNamespacedControllerRevision  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListNamespacedControllerRevision AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListNamespacedControllerRevision Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListNamespacedControllerRevision FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListNamespacedControllerRevision LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListNamespacedControllerRevision Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedControllerRevision ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedControllerRevision ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListNamespacedControllerRevision TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListNamespacedControllerRevision Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListNamespacedControllerRevision MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListNamespacedControllerRevision MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListNamespacedControllerRevision MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListNamespacedControllerRevision MimeYaml
  
  
  -- *** listNamespacedDaemonSet
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets@
  -- 
  -- list or watch objects of kind DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listNamespacedDaemonSet
    :: Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ListNamespacedDaemonSet MimeNoContent V1DaemonSetList accept
  listNamespacedDaemonSet  _ (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListNamespacedDaemonSet  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListNamespacedDaemonSet AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListNamespacedDaemonSet Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListNamespacedDaemonSet FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListNamespacedDaemonSet LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListNamespacedDaemonSet Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedDaemonSet ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedDaemonSet ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListNamespacedDaemonSet TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListNamespacedDaemonSet Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListNamespacedDaemonSet MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListNamespacedDaemonSet MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListNamespacedDaemonSet MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListNamespacedDaemonSet MimeYaml
  
  
  -- *** listNamespacedDeployment
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments@
  -- 
  -- list or watch objects of kind Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listNamespacedDeployment
    :: Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ListNamespacedDeployment MimeNoContent V1DeploymentList accept
  listNamespacedDeployment  _ (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListNamespacedDeployment  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListNamespacedDeployment AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListNamespacedDeployment Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListNamespacedDeployment FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListNamespacedDeployment LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListNamespacedDeployment Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedDeployment ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedDeployment ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListNamespacedDeployment TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListNamespacedDeployment Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListNamespacedDeployment MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListNamespacedDeployment MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListNamespacedDeployment MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListNamespacedDeployment MimeYaml
  
  
  -- *** listNamespacedReplicaSet
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets@
  -- 
  -- list or watch objects of kind ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listNamespacedReplicaSet
    :: Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ListNamespacedReplicaSet MimeNoContent V1ReplicaSetList accept
  listNamespacedReplicaSet  _ (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListNamespacedReplicaSet  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListNamespacedReplicaSet AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListNamespacedReplicaSet Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListNamespacedReplicaSet FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListNamespacedReplicaSet LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListNamespacedReplicaSet Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedReplicaSet ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedReplicaSet ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListNamespacedReplicaSet TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListNamespacedReplicaSet Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListNamespacedReplicaSet MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListNamespacedReplicaSet MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListNamespacedReplicaSet MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListNamespacedReplicaSet MimeYaml
  
  
  -- *** listNamespacedStatefulSet
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets@
  -- 
  -- list or watch objects of kind StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listNamespacedStatefulSet
    :: Accept accept -- ^ request accept ('MimeType')
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ListNamespacedStatefulSet MimeNoContent V1StatefulSetList accept
  listNamespacedStatefulSet  _ (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListNamespacedStatefulSet  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListNamespacedStatefulSet AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListNamespacedStatefulSet Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListNamespacedStatefulSet FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListNamespacedStatefulSet LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListNamespacedStatefulSet Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedStatefulSet ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListNamespacedStatefulSet ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListNamespacedStatefulSet TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListNamespacedStatefulSet Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListNamespacedStatefulSet MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListNamespacedStatefulSet MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListNamespacedStatefulSet MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListNamespacedStatefulSet MimeYaml
  
  
  -- *** listReplicaSetForAllNamespaces
  
  -- | @GET \/apis\/apps\/v1\/replicasets@
  -- 
  -- list or watch objects of kind ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listReplicaSetForAllNamespaces
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListReplicaSetForAllNamespaces MimeNoContent V1ReplicaSetList accept
  listReplicaSetForAllNamespaces  _ =
    _mkRequest "GET" ["/apis/apps/v1/replicasets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListReplicaSetForAllNamespaces  
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListReplicaSetForAllNamespaces AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListReplicaSetForAllNamespaces Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListReplicaSetForAllNamespaces FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListReplicaSetForAllNamespaces LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListReplicaSetForAllNamespaces Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListReplicaSetForAllNamespaces Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListReplicaSetForAllNamespaces ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListReplicaSetForAllNamespaces ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListReplicaSetForAllNamespaces TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListReplicaSetForAllNamespaces Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListReplicaSetForAllNamespaces MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListReplicaSetForAllNamespaces MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListReplicaSetForAllNamespaces MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListReplicaSetForAllNamespaces MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListReplicaSetForAllNamespaces MimeYaml
  
  
  -- *** listStatefulSetForAllNamespaces
  
  -- | @GET \/apis\/apps\/v1\/statefulsets@
  -- 
  -- list or watch objects of kind StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listStatefulSetForAllNamespaces
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListStatefulSetForAllNamespaces MimeNoContent V1StatefulSetList accept
  listStatefulSetForAllNamespaces  _ =
    _mkRequest "GET" ["/apis/apps/v1/statefulsets"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListStatefulSetForAllNamespaces  
  
  -- | /Optional Param/ "allowWatchBookmarks" - allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored.
  instance HasOptionalParam ListStatefulSetForAllNamespaces AllowWatchBookmarks where
    applyOptionalParam req (AllowWatchBookmarks xs) =
      req `addQuery` toQuery ("allowWatchBookmarks", Just xs)
  
  -- | /Optional Param/ "continue" - The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".  This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
  instance HasOptionalParam ListStatefulSetForAllNamespaces Continue where
    applyOptionalParam req (Continue xs) =
      req `addQuery` toQuery ("continue", Just xs)
  
  -- | /Optional Param/ "fieldSelector" - A selector to restrict the list of returned objects by their fields. Defaults to everything.
  instance HasOptionalParam ListStatefulSetForAllNamespaces FieldSelector where
    applyOptionalParam req (FieldSelector xs) =
      req `addQuery` toQuery ("fieldSelector", Just xs)
  
  -- | /Optional Param/ "labelSelector" - A selector to restrict the list of returned objects by their labels. Defaults to everything.
  instance HasOptionalParam ListStatefulSetForAllNamespaces LabelSelector where
    applyOptionalParam req (LabelSelector xs) =
      req `addQuery` toQuery ("labelSelector", Just xs)
  
  -- | /Optional Param/ "limit" - limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.  The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
  instance HasOptionalParam ListStatefulSetForAllNamespaces Limit where
    applyOptionalParam req (Limit xs) =
      req `addQuery` toQuery ("limit", Just xs)
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ListStatefulSetForAllNamespaces Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "resourceVersion" - resourceVersion sets a constraint on what resource versions a request may be served from. See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListStatefulSetForAllNamespaces ResourceVersion where
    applyOptionalParam req (ResourceVersion xs) =
      req `addQuery` toQuery ("resourceVersion", Just xs)
  
  -- | /Optional Param/ "resourceVersionMatch" - resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.  Defaults to unset
  instance HasOptionalParam ListStatefulSetForAllNamespaces ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "timeoutSeconds" - Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.
  instance HasOptionalParam ListStatefulSetForAllNamespaces TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | /Optional Param/ "watch" - Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.
  instance HasOptionalParam ListStatefulSetForAllNamespaces Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListStatefulSetForAllNamespaces MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListStatefulSetForAllNamespaces MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListStatefulSetForAllNamespaces MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListStatefulSetForAllNamespaces MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListStatefulSetForAllNamespaces MimeYaml
  
  
  -- *** patchNamespacedControllerRevision
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions\/{name}@
  -- 
  -- partially update the specified ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedControllerRevision
    :: (Consumes PatchNamespacedControllerRevision contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the ControllerRevision
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedControllerRevision contentType V1ControllerRevision accept
  patchNamespacedControllerRevision _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedControllerRevision 
  instance HasBodyParam PatchNamespacedControllerRevision Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedControllerRevision DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedControllerRevision FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedControllerRevision FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedControllerRevision Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedControllerRevision MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedControllerRevision MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedControllerRevision MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedControllerRevision MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedControllerRevision MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedControllerRevision MimeYaml
  
  
  -- *** patchNamespacedDaemonSet
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}@
  -- 
  -- partially update the specified DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedDaemonSet
    :: (Consumes PatchNamespacedDaemonSet contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedDaemonSet contentType V1DaemonSet accept
  patchNamespacedDaemonSet _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedDaemonSet 
  instance HasBodyParam PatchNamespacedDaemonSet Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedDaemonSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedDaemonSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedDaemonSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedDaemonSet Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedDaemonSet MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedDaemonSet MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedDaemonSet MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedDaemonSet MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedDaemonSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedDaemonSet MimeYaml
  
  
  -- *** patchNamespacedDaemonSetStatus
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}\/status@
  -- 
  -- partially update status of the specified DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedDaemonSetStatus
    :: (Consumes PatchNamespacedDaemonSetStatus contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedDaemonSetStatus contentType V1DaemonSet accept
  patchNamespacedDaemonSetStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedDaemonSetStatus 
  instance HasBodyParam PatchNamespacedDaemonSetStatus Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedDaemonSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedDaemonSetStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedDaemonSetStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedDaemonSetStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedDaemonSetStatus Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedDaemonSetStatus MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedDaemonSetStatus MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedDaemonSetStatus MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedDaemonSetStatus MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedDaemonSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedDaemonSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedDaemonSetStatus MimeYaml
  
  
  -- *** patchNamespacedDeployment
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}@
  -- 
  -- partially update the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedDeployment
    :: (Consumes PatchNamespacedDeployment contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedDeployment contentType V1Deployment accept
  patchNamespacedDeployment _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedDeployment 
  instance HasBodyParam PatchNamespacedDeployment Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedDeployment DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedDeployment FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedDeployment FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedDeployment Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedDeployment MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedDeployment MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedDeployment MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedDeployment MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedDeployment MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedDeployment MimeYaml
  
  
  -- *** patchNamespacedDeploymentScale
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}\/scale@
  -- 
  -- partially update scale of the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedDeploymentScale
    :: (Consumes PatchNamespacedDeploymentScale contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedDeploymentScale contentType V1Scale accept
  patchNamespacedDeploymentScale _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedDeploymentScale 
  instance HasBodyParam PatchNamespacedDeploymentScale Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedDeploymentScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedDeploymentScale DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedDeploymentScale FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedDeploymentScale FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedDeploymentScale Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedDeploymentScale MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedDeploymentScale MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedDeploymentScale MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedDeploymentScale MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedDeploymentScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedDeploymentScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedDeploymentScale MimeYaml
  
  
  -- *** patchNamespacedDeploymentStatus
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}\/status@
  -- 
  -- partially update status of the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedDeploymentStatus
    :: (Consumes PatchNamespacedDeploymentStatus contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedDeploymentStatus contentType V1Deployment accept
  patchNamespacedDeploymentStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedDeploymentStatus 
  instance HasBodyParam PatchNamespacedDeploymentStatus Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedDeploymentStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedDeploymentStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedDeploymentStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedDeploymentStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedDeploymentStatus Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedDeploymentStatus MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedDeploymentStatus MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedDeploymentStatus MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedDeploymentStatus MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedDeploymentStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedDeploymentStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedDeploymentStatus MimeYaml
  
  
  -- *** patchNamespacedReplicaSet
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}@
  -- 
  -- partially update the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedReplicaSet
    :: (Consumes PatchNamespacedReplicaSet contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedReplicaSet contentType V1ReplicaSet accept
  patchNamespacedReplicaSet _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedReplicaSet 
  instance HasBodyParam PatchNamespacedReplicaSet Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedReplicaSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedReplicaSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedReplicaSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedReplicaSet Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedReplicaSet MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedReplicaSet MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedReplicaSet MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedReplicaSet MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedReplicaSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedReplicaSet MimeYaml
  
  
  -- *** patchNamespacedReplicaSetScale
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}\/scale@
  -- 
  -- partially update scale of the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedReplicaSetScale
    :: (Consumes PatchNamespacedReplicaSetScale contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedReplicaSetScale contentType V1Scale accept
  patchNamespacedReplicaSetScale _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedReplicaSetScale 
  instance HasBodyParam PatchNamespacedReplicaSetScale Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedReplicaSetScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedReplicaSetScale DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedReplicaSetScale FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedReplicaSetScale FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedReplicaSetScale Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedReplicaSetScale MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedReplicaSetScale MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedReplicaSetScale MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedReplicaSetScale MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedReplicaSetScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedReplicaSetScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedReplicaSetScale MimeYaml
  
  
  -- *** patchNamespacedReplicaSetStatus
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}\/status@
  -- 
  -- partially update status of the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedReplicaSetStatus
    :: (Consumes PatchNamespacedReplicaSetStatus contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedReplicaSetStatus contentType V1ReplicaSet accept
  patchNamespacedReplicaSetStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedReplicaSetStatus 
  instance HasBodyParam PatchNamespacedReplicaSetStatus Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedReplicaSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedReplicaSetStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedReplicaSetStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedReplicaSetStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedReplicaSetStatus Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedReplicaSetStatus MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedReplicaSetStatus MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedReplicaSetStatus MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedReplicaSetStatus MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedReplicaSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedReplicaSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedReplicaSetStatus MimeYaml
  
  
  -- *** patchNamespacedStatefulSet
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}@
  -- 
  -- partially update the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedStatefulSet
    :: (Consumes PatchNamespacedStatefulSet contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedStatefulSet contentType V1StatefulSet accept
  patchNamespacedStatefulSet _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedStatefulSet 
  instance HasBodyParam PatchNamespacedStatefulSet Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedStatefulSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedStatefulSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedStatefulSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedStatefulSet Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedStatefulSet MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedStatefulSet MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedStatefulSet MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedStatefulSet MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedStatefulSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedStatefulSet MimeYaml
  
  
  -- *** patchNamespacedStatefulSetScale
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}\/scale@
  -- 
  -- partially update scale of the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedStatefulSetScale
    :: (Consumes PatchNamespacedStatefulSetScale contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedStatefulSetScale contentType V1Scale accept
  patchNamespacedStatefulSetScale _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedStatefulSetScale 
  instance HasBodyParam PatchNamespacedStatefulSetScale Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedStatefulSetScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedStatefulSetScale DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedStatefulSetScale FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedStatefulSetScale FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedStatefulSetScale Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedStatefulSetScale MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedStatefulSetScale MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedStatefulSetScale MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedStatefulSetScale MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedStatefulSetScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedStatefulSetScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedStatefulSetScale MimeYaml
  
  
  -- *** patchNamespacedStatefulSetStatus
  
  -- | @PATCH \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}\/status@
  -- 
  -- partially update status of the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchNamespacedStatefulSetStatus
    :: (Consumes PatchNamespacedStatefulSetStatus contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest PatchNamespacedStatefulSetStatus contentType V1StatefulSet accept
  patchNamespacedStatefulSetStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PATCH" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchNamespacedStatefulSetStatus 
  instance HasBodyParam PatchNamespacedStatefulSetStatus Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam PatchNamespacedStatefulSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam PatchNamespacedStatefulSetStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).
  instance HasOptionalParam PatchNamespacedStatefulSetStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam PatchNamespacedStatefulSetStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | /Optional Param/ "force" - Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.
  instance HasOptionalParam PatchNamespacedStatefulSetStatus Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchNamespacedStatefulSetStatus MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchNamespacedStatefulSetStatus MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchNamespacedStatefulSetStatus MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchNamespacedStatefulSetStatus MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchNamespacedStatefulSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchNamespacedStatefulSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchNamespacedStatefulSetStatus MimeYaml
  
  
  -- *** readNamespacedControllerRevision
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions\/{name}@
  -- 
  -- read the specified ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedControllerRevision
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ControllerRevision
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedControllerRevision MimeNoContent V1ControllerRevision accept
  readNamespacedControllerRevision  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedControllerRevision  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedControllerRevision MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedControllerRevision MimeYaml
  
  
  -- *** readNamespacedDaemonSet
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}@
  -- 
  -- read the specified DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedDaemonSet
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedDaemonSet MimeNoContent V1DaemonSet accept
  readNamespacedDaemonSet  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedDaemonSet  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedDaemonSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedDaemonSet MimeYaml
  
  
  -- *** readNamespacedDaemonSetStatus
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}\/status@
  -- 
  -- read status of the specified DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedDaemonSetStatus
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedDaemonSetStatus MimeNoContent V1DaemonSet accept
  readNamespacedDaemonSetStatus  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedDaemonSetStatus  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedDaemonSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedDaemonSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedDaemonSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedDaemonSetStatus MimeYaml
  
  
  -- *** readNamespacedDeployment
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}@
  -- 
  -- read the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedDeployment
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedDeployment MimeNoContent V1Deployment accept
  readNamespacedDeployment  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedDeployment  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedDeployment MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedDeployment MimeYaml
  
  
  -- *** readNamespacedDeploymentScale
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}\/scale@
  -- 
  -- read scale of the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedDeploymentScale
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedDeploymentScale MimeNoContent V1Scale accept
  readNamespacedDeploymentScale  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedDeploymentScale  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedDeploymentScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedDeploymentScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedDeploymentScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedDeploymentScale MimeYaml
  
  
  -- *** readNamespacedDeploymentStatus
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}\/status@
  -- 
  -- read status of the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedDeploymentStatus
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedDeploymentStatus MimeNoContent V1Deployment accept
  readNamespacedDeploymentStatus  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedDeploymentStatus  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedDeploymentStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedDeploymentStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedDeploymentStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedDeploymentStatus MimeYaml
  
  
  -- *** readNamespacedReplicaSet
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}@
  -- 
  -- read the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedReplicaSet
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedReplicaSet MimeNoContent V1ReplicaSet accept
  readNamespacedReplicaSet  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedReplicaSet  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedReplicaSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedReplicaSet MimeYaml
  
  
  -- *** readNamespacedReplicaSetScale
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}\/scale@
  -- 
  -- read scale of the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedReplicaSetScale
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedReplicaSetScale MimeNoContent V1Scale accept
  readNamespacedReplicaSetScale  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedReplicaSetScale  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedReplicaSetScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedReplicaSetScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedReplicaSetScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedReplicaSetScale MimeYaml
  
  
  -- *** readNamespacedReplicaSetStatus
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}\/status@
  -- 
  -- read status of the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedReplicaSetStatus
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedReplicaSetStatus MimeNoContent V1ReplicaSet accept
  readNamespacedReplicaSetStatus  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedReplicaSetStatus  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedReplicaSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedReplicaSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedReplicaSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedReplicaSetStatus MimeYaml
  
  
  -- *** readNamespacedStatefulSet
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}@
  -- 
  -- read the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedStatefulSet
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedStatefulSet MimeNoContent V1StatefulSet accept
  readNamespacedStatefulSet  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedStatefulSet  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedStatefulSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedStatefulSet MimeYaml
  
  
  -- *** readNamespacedStatefulSetScale
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}\/scale@
  -- 
  -- read scale of the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedStatefulSetScale
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedStatefulSetScale MimeNoContent V1Scale accept
  readNamespacedStatefulSetScale  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedStatefulSetScale  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedStatefulSetScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedStatefulSetScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedStatefulSetScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedStatefulSetScale MimeYaml
  
  
  -- *** readNamespacedStatefulSetStatus
  
  -- | @GET \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}\/status@
  -- 
  -- read status of the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readNamespacedStatefulSetStatus
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReadNamespacedStatefulSetStatus MimeNoContent V1StatefulSet accept
  readNamespacedStatefulSetStatus  _ (Name name) (Namespace namespace) =
    _mkRequest "GET" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadNamespacedStatefulSetStatus  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReadNamespacedStatefulSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadNamespacedStatefulSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadNamespacedStatefulSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadNamespacedStatefulSetStatus MimeYaml
  
  
  -- *** replaceNamespacedControllerRevision
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/controllerrevisions\/{name}@
  -- 
  -- replace the specified ControllerRevision
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedControllerRevision
    :: (Consumes ReplaceNamespacedControllerRevision contentType, MimeRender contentType V1ControllerRevision)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1ControllerRevision -- ^ "body"
    -> Name -- ^ "name" -  name of the ControllerRevision
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedControllerRevision contentType V1ControllerRevision accept
  replaceNamespacedControllerRevision _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/controllerrevisions/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedControllerRevision 
  instance HasBodyParam ReplaceNamespacedControllerRevision V1ControllerRevision 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedControllerRevision Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedControllerRevision DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedControllerRevision FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedControllerRevision FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedControllerRevision mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedControllerRevision MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedControllerRevision MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedControllerRevision MimeYaml
  
  
  -- *** replaceNamespacedDaemonSet
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}@
  -- 
  -- replace the specified DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedDaemonSet
    :: (Consumes ReplaceNamespacedDaemonSet contentType, MimeRender contentType V1DaemonSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1DaemonSet -- ^ "body"
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedDaemonSet contentType V1DaemonSet accept
  replaceNamespacedDaemonSet _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedDaemonSet 
  instance HasBodyParam ReplaceNamespacedDaemonSet V1DaemonSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedDaemonSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedDaemonSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedDaemonSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedDaemonSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedDaemonSet mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedDaemonSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedDaemonSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedDaemonSet MimeYaml
  
  
  -- *** replaceNamespacedDaemonSetStatus
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/daemonsets\/{name}\/status@
  -- 
  -- replace status of the specified DaemonSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedDaemonSetStatus
    :: (Consumes ReplaceNamespacedDaemonSetStatus contentType, MimeRender contentType V1DaemonSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1DaemonSet -- ^ "body"
    -> Name -- ^ "name" -  name of the DaemonSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedDaemonSetStatus contentType V1DaemonSet accept
  replaceNamespacedDaemonSetStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/daemonsets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedDaemonSetStatus 
  instance HasBodyParam ReplaceNamespacedDaemonSetStatus V1DaemonSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedDaemonSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedDaemonSetStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedDaemonSetStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedDaemonSetStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedDaemonSetStatus mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedDaemonSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedDaemonSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedDaemonSetStatus MimeYaml
  
  
  -- *** replaceNamespacedDeployment
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}@
  -- 
  -- replace the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedDeployment
    :: (Consumes ReplaceNamespacedDeployment contentType, MimeRender contentType V1Deployment)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1Deployment -- ^ "body"
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedDeployment contentType V1Deployment accept
  replaceNamespacedDeployment _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedDeployment 
  instance HasBodyParam ReplaceNamespacedDeployment V1Deployment 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedDeployment Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedDeployment DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedDeployment FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedDeployment FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedDeployment mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedDeployment MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedDeployment MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedDeployment MimeYaml
  
  
  -- *** replaceNamespacedDeploymentScale
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}\/scale@
  -- 
  -- replace scale of the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedDeploymentScale
    :: (Consumes ReplaceNamespacedDeploymentScale contentType, MimeRender contentType V1Scale)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1Scale -- ^ "body"
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedDeploymentScale contentType V1Scale accept
  replaceNamespacedDeploymentScale _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedDeploymentScale 
  instance HasBodyParam ReplaceNamespacedDeploymentScale V1Scale 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedDeploymentScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedDeploymentScale DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedDeploymentScale FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedDeploymentScale FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedDeploymentScale mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedDeploymentScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedDeploymentScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedDeploymentScale MimeYaml
  
  
  -- *** replaceNamespacedDeploymentStatus
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/deployments\/{name}\/status@
  -- 
  -- replace status of the specified Deployment
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedDeploymentStatus
    :: (Consumes ReplaceNamespacedDeploymentStatus contentType, MimeRender contentType V1Deployment)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1Deployment -- ^ "body"
    -> Name -- ^ "name" -  name of the Deployment
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedDeploymentStatus contentType V1Deployment accept
  replaceNamespacedDeploymentStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/deployments/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedDeploymentStatus 
  instance HasBodyParam ReplaceNamespacedDeploymentStatus V1Deployment 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedDeploymentStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedDeploymentStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedDeploymentStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedDeploymentStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedDeploymentStatus mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedDeploymentStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedDeploymentStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedDeploymentStatus MimeYaml
  
  
  -- *** replaceNamespacedReplicaSet
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}@
  -- 
  -- replace the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedReplicaSet
    :: (Consumes ReplaceNamespacedReplicaSet contentType, MimeRender contentType V1ReplicaSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1ReplicaSet -- ^ "body"
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedReplicaSet contentType V1ReplicaSet accept
  replaceNamespacedReplicaSet _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedReplicaSet 
  instance HasBodyParam ReplaceNamespacedReplicaSet V1ReplicaSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedReplicaSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedReplicaSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedReplicaSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedReplicaSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedReplicaSet mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedReplicaSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedReplicaSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedReplicaSet MimeYaml
  
  
  -- *** replaceNamespacedReplicaSetScale
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}\/scale@
  -- 
  -- replace scale of the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedReplicaSetScale
    :: (Consumes ReplaceNamespacedReplicaSetScale contentType, MimeRender contentType V1Scale)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1Scale -- ^ "body"
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedReplicaSetScale contentType V1Scale accept
  replaceNamespacedReplicaSetScale _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedReplicaSetScale 
  instance HasBodyParam ReplaceNamespacedReplicaSetScale V1Scale 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedReplicaSetScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedReplicaSetScale DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedReplicaSetScale FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedReplicaSetScale FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedReplicaSetScale mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedReplicaSetScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedReplicaSetScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedReplicaSetScale MimeYaml
  
  
  -- *** replaceNamespacedReplicaSetStatus
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/replicasets\/{name}\/status@
  -- 
  -- replace status of the specified ReplicaSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedReplicaSetStatus
    :: (Consumes ReplaceNamespacedReplicaSetStatus contentType, MimeRender contentType V1ReplicaSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1ReplicaSet -- ^ "body"
    -> Name -- ^ "name" -  name of the ReplicaSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedReplicaSetStatus contentType V1ReplicaSet accept
  replaceNamespacedReplicaSetStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/replicasets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedReplicaSetStatus 
  instance HasBodyParam ReplaceNamespacedReplicaSetStatus V1ReplicaSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedReplicaSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedReplicaSetStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedReplicaSetStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedReplicaSetStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedReplicaSetStatus mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedReplicaSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedReplicaSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedReplicaSetStatus MimeYaml
  
  
  -- *** replaceNamespacedStatefulSet
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}@
  -- 
  -- replace the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedStatefulSet
    :: (Consumes ReplaceNamespacedStatefulSet contentType, MimeRender contentType V1StatefulSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1StatefulSet -- ^ "body"
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedStatefulSet contentType V1StatefulSet accept
  replaceNamespacedStatefulSet _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedStatefulSet 
  instance HasBodyParam ReplaceNamespacedStatefulSet V1StatefulSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedStatefulSet Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedStatefulSet DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedStatefulSet FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedStatefulSet FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedStatefulSet mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedStatefulSet MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedStatefulSet MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedStatefulSet MimeYaml
  
  
  -- *** replaceNamespacedStatefulSetScale
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}\/scale@
  -- 
  -- replace scale of the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedStatefulSetScale
    :: (Consumes ReplaceNamespacedStatefulSetScale contentType, MimeRender contentType V1Scale)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1Scale -- ^ "body"
    -> Name -- ^ "name" -  name of the Scale
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedStatefulSetScale contentType V1Scale accept
  replaceNamespacedStatefulSetScale _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name,"/scale"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedStatefulSetScale 
  instance HasBodyParam ReplaceNamespacedStatefulSetScale V1Scale 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedStatefulSetScale Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedStatefulSetScale DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedStatefulSetScale FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedStatefulSetScale FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedStatefulSetScale mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedStatefulSetScale MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedStatefulSetScale MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedStatefulSetScale MimeYaml
  
  
  -- *** replaceNamespacedStatefulSetStatus
  
  -- | @PUT \/apis\/apps\/v1\/namespaces\/{namespace}\/statefulsets\/{name}\/status@
  -- 
  -- replace status of the specified StatefulSet
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceNamespacedStatefulSetStatus
    :: (Consumes ReplaceNamespacedStatefulSetStatus contentType, MimeRender contentType V1StatefulSet)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1StatefulSet -- ^ "body"
    -> Name -- ^ "name" -  name of the StatefulSet
    -> Namespace -- ^ "namespace" -  object name and auth scope, such as for teams and projects
    -> KubernetesRequest ReplaceNamespacedStatefulSetStatus contentType V1StatefulSet accept
  replaceNamespacedStatefulSetStatus _  _ body (Name name) (Namespace namespace) =
    _mkRequest "PUT" ["/apis/apps/v1/namespaces/",toPath namespace,"/statefulsets/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceNamespacedStatefulSetStatus 
  instance HasBodyParam ReplaceNamespacedStatefulSetStatus V1StatefulSet 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed.
  instance HasOptionalParam ReplaceNamespacedStatefulSetStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  
  -- | /Optional Param/ "dryRun" - When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
  instance HasOptionalParam ReplaceNamespacedStatefulSetStatus DryRun where
    applyOptionalParam req (DryRun xs) =
      req `addQuery` toQuery ("dryRun", Just xs)
  
  -- | /Optional Param/ "fieldManager" - fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.
  instance HasOptionalParam ReplaceNamespacedStatefulSetStatus FieldManager where
    applyOptionalParam req (FieldManager xs) =
      req `addQuery` toQuery ("fieldManager", Just xs)
  
  -- | /Optional Param/ "fieldValidation" - fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields, provided that the `ServerSideFieldValidation` feature gate is also enabled. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23 and is the default behavior when the `ServerSideFieldValidation` feature gate is disabled. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default when the `ServerSideFieldValidation` feature gate is enabled. - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
  instance HasOptionalParam ReplaceNamespacedStatefulSetStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceNamespacedStatefulSetStatus mtype
  
  -- | @application/json@
  instance Produces ReplaceNamespacedStatefulSetStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceNamespacedStatefulSetStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceNamespacedStatefulSetStatus MimeYaml
  
  