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.29
     Generated by OpenAPI Generator (https://openapi-generator.tech)
  -}
  
  {-|
  Module : Kubernetes.OpenAPI.API.NetworkingV1alpha1
  -}
  
  {-# 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.NetworkingV1alpha1 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
  
  
  -- ** NetworkingV1alpha1
  
  -- *** createIPAddress
  
  -- | @POST \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses@
  -- 
  -- create an IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createIPAddress
    :: (Consumes CreateIPAddress contentType, MimeRender contentType V1alpha1IPAddress)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1alpha1IPAddress -- ^ "body"
    -> KubernetesRequest CreateIPAddress contentType V1alpha1IPAddress accept
  createIPAddress _  _ body =
    _mkRequest "POST" ["/apis/networking.k8s.io/v1alpha1/ipaddresses"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateIPAddress 
  instance HasBodyParam CreateIPAddress V1alpha1IPAddress 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam CreateIPAddress 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 CreateIPAddress 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 CreateIPAddress 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. 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. - 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 in v1.23+ - 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 CreateIPAddress FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateIPAddress mtype
  
  -- | @application/json@
  instance Produces CreateIPAddress MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateIPAddress MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateIPAddress MimeYaml
  
  
  -- *** createServiceCIDR
  
  -- | @POST \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs@
  -- 
  -- create a ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  createServiceCIDR
    :: (Consumes CreateServiceCIDR contentType, MimeRender contentType V1alpha1ServiceCIDR)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1alpha1ServiceCIDR -- ^ "body"
    -> KubernetesRequest CreateServiceCIDR contentType V1alpha1ServiceCIDR accept
  createServiceCIDR _  _ body =
    _mkRequest "POST" ["/apis/networking.k8s.io/v1alpha1/servicecidrs"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data CreateServiceCIDR 
  instance HasBodyParam CreateServiceCIDR V1alpha1ServiceCIDR 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam CreateServiceCIDR 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 CreateServiceCIDR 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 CreateServiceCIDR 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. 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. - 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 in v1.23+ - 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 CreateServiceCIDR FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes CreateServiceCIDR mtype
  
  -- | @application/json@
  instance Produces CreateServiceCIDR MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces CreateServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces CreateServiceCIDR MimeYaml
  
  
  -- *** deleteCollectionIPAddress
  
  -- | @DELETE \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses@
  -- 
  -- delete collection of IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionIPAddress
    :: (Consumes DeleteCollectionIPAddress contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest DeleteCollectionIPAddress contentType V1Status accept
  deleteCollectionIPAddress _  _ =
    _mkRequest "DELETE" ["/apis/networking.k8s.io/v1alpha1/ipaddresses"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionIPAddress 
  instance HasBodyParam DeleteCollectionIPAddress V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress 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 DeleteCollectionIPAddress ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "sendInitialEvents" - `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event  will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.  When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan   is interpreted as \"data at least as new as the provided `resourceVersion`\"   and the bookmark event is send when the state is synced   to a `resourceVersion` at least as fresh as the one provided by the ListOptions.   If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the   bookmark event is send when the state is synced at least to the moment   when request started being processed. - `resourceVersionMatch` set to any other value or unset   Invalid error is returned.  Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.
  instance HasOptionalParam DeleteCollectionIPAddress SendInitialEvents where
    applyOptionalParam req (SendInitialEvents xs) =
      req `addQuery` toQuery ("sendInitialEvents", 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 DeleteCollectionIPAddress TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionIPAddress mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionIPAddress MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionIPAddress MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionIPAddress MimeYaml
  
  
  -- *** deleteCollectionServiceCIDR
  
  -- | @DELETE \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs@
  -- 
  -- delete collection of ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteCollectionServiceCIDR
    :: (Consumes DeleteCollectionServiceCIDR contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest DeleteCollectionServiceCIDR contentType V1Status accept
  deleteCollectionServiceCIDR _  _ =
    _mkRequest "DELETE" ["/apis/networking.k8s.io/v1alpha1/servicecidrs"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteCollectionServiceCIDR 
  instance HasBodyParam DeleteCollectionServiceCIDR V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR 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 DeleteCollectionServiceCIDR ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "sendInitialEvents" - `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event  will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.  When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan   is interpreted as \"data at least as new as the provided `resourceVersion`\"   and the bookmark event is send when the state is synced   to a `resourceVersion` at least as fresh as the one provided by the ListOptions.   If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the   bookmark event is send when the state is synced at least to the moment   when request started being processed. - `resourceVersionMatch` set to any other value or unset   Invalid error is returned.  Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.
  instance HasOptionalParam DeleteCollectionServiceCIDR SendInitialEvents where
    applyOptionalParam req (SendInitialEvents xs) =
      req `addQuery` toQuery ("sendInitialEvents", 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 DeleteCollectionServiceCIDR TimeoutSeconds where
    applyOptionalParam req (TimeoutSeconds xs) =
      req `addQuery` toQuery ("timeoutSeconds", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteCollectionServiceCIDR mtype
  
  -- | @application/json@
  instance Produces DeleteCollectionServiceCIDR MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteCollectionServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteCollectionServiceCIDR MimeYaml
  
  
  -- *** deleteIPAddress
  
  -- | @DELETE \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses\/{name}@
  -- 
  -- delete an IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteIPAddress
    :: (Consumes DeleteIPAddress contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the IPAddress
    -> KubernetesRequest DeleteIPAddress contentType V1Status accept
  deleteIPAddress _  _ (Name name) =
    _mkRequest "DELETE" ["/apis/networking.k8s.io/v1alpha1/ipaddresses/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteIPAddress 
  instance HasBodyParam DeleteIPAddress V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam DeleteIPAddress 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 DeleteIPAddress 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 DeleteIPAddress 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 DeleteIPAddress 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 DeleteIPAddress PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteIPAddress mtype
  
  -- | @application/json@
  instance Produces DeleteIPAddress MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteIPAddress MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteIPAddress MimeYaml
  
  
  -- *** deleteServiceCIDR
  
  -- | @DELETE \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}@
  -- 
  -- delete a ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  deleteServiceCIDR
    :: (Consumes DeleteServiceCIDR contentType)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest DeleteServiceCIDR contentType V1Status accept
  deleteServiceCIDR _  _ (Name name) =
    _mkRequest "DELETE" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data DeleteServiceCIDR 
  instance HasBodyParam DeleteServiceCIDR V1DeleteOptions 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam DeleteServiceCIDR 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 DeleteServiceCIDR 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 DeleteServiceCIDR 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 DeleteServiceCIDR 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 DeleteServiceCIDR PropagationPolicy where
    applyOptionalParam req (PropagationPolicy xs) =
      req `addQuery` toQuery ("propagationPolicy", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes DeleteServiceCIDR mtype
  
  -- | @application/json@
  instance Produces DeleteServiceCIDR MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces DeleteServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces DeleteServiceCIDR MimeYaml
  
  
  -- *** getAPIResources
  
  -- | @GET \/apis\/networking.k8s.io\/v1alpha1\/@
  -- 
  -- get available resources
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  getAPIResources
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest GetAPIResources MimeNoContent V1APIResourceList accept
  getAPIResources  _ =
    _mkRequest "GET" ["/apis/networking.k8s.io/v1alpha1/"]
      `_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
  
  
  -- *** listIPAddress
  
  -- | @GET \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses@
  -- 
  -- list or watch objects of kind IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listIPAddress
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListIPAddress MimeNoContent V1alpha1IPAddressList accept
  listIPAddress  _ =
    _mkRequest "GET" ["/apis/networking.k8s.io/v1alpha1/ipaddresses"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListIPAddress  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ListIPAddress 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 ListIPAddress 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 ListIPAddress 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 ListIPAddress 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 ListIPAddress 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 ListIPAddress 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 ListIPAddress 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 ListIPAddress ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "sendInitialEvents" - `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event  will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.  When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan   is interpreted as \"data at least as new as the provided `resourceVersion`\"   and the bookmark event is send when the state is synced   to a `resourceVersion` at least as fresh as the one provided by the ListOptions.   If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the   bookmark event is send when the state is synced at least to the moment   when request started being processed. - `resourceVersionMatch` set to any other value or unset   Invalid error is returned.  Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.
  instance HasOptionalParam ListIPAddress SendInitialEvents where
    applyOptionalParam req (SendInitialEvents xs) =
      req `addQuery` toQuery ("sendInitialEvents", 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 ListIPAddress 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 ListIPAddress Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListIPAddress MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListIPAddress MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListIPAddress MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListIPAddress MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListIPAddress MimeYaml
  
  
  -- *** listServiceCIDR
  
  -- | @GET \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs@
  -- 
  -- list or watch objects of kind ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  listServiceCIDR
    :: Accept accept -- ^ request accept ('MimeType')
    -> KubernetesRequest ListServiceCIDR MimeNoContent V1alpha1ServiceCIDRList accept
  listServiceCIDR  _ =
    _mkRequest "GET" ["/apis/networking.k8s.io/v1alpha1/servicecidrs"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ListServiceCIDR  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ListServiceCIDR 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 ListServiceCIDR 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 ListServiceCIDR 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 ListServiceCIDR 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 ListServiceCIDR 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 ListServiceCIDR 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 ListServiceCIDR 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 ListServiceCIDR ResourceVersionMatch where
    applyOptionalParam req (ResourceVersionMatch xs) =
      req `addQuery` toQuery ("resourceVersionMatch", Just xs)
  
  -- | /Optional Param/ "sendInitialEvents" - `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event  will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"k8s.io/initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched.  When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan   is interpreted as \"data at least as new as the provided `resourceVersion`\"   and the bookmark event is send when the state is synced   to a `resourceVersion` at least as fresh as the one provided by the ListOptions.   If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the   bookmark event is send when the state is synced at least to the moment   when request started being processed. - `resourceVersionMatch` set to any other value or unset   Invalid error is returned.  Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise.
  instance HasOptionalParam ListServiceCIDR SendInitialEvents where
    applyOptionalParam req (SendInitialEvents xs) =
      req `addQuery` toQuery ("sendInitialEvents", 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 ListServiceCIDR 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 ListServiceCIDR Watch where
    applyOptionalParam req (Watch xs) =
      req `addQuery` toQuery ("watch", Just xs)
  -- | @application/json@
  instance Produces ListServiceCIDR MimeJSON
  -- | @application/json;stream=watch@
  instance Produces ListServiceCIDR MimeJsonstreamwatch
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ListServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/vnd.kubernetes.protobuf;stream=watch@
  instance Produces ListServiceCIDR MimeVndKubernetesProtobufstreamwatch
  -- | @application/yaml@
  instance Produces ListServiceCIDR MimeYaml
  
  
  -- *** patchIPAddress
  
  -- | @PATCH \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses\/{name}@
  -- 
  -- partially update the specified IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchIPAddress
    :: (Consumes PatchIPAddress contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the IPAddress
    -> KubernetesRequest PatchIPAddress contentType V1alpha1IPAddress accept
  patchIPAddress _  _ body (Name name) =
    _mkRequest "PATCH" ["/apis/networking.k8s.io/v1alpha1/ipaddresses/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchIPAddress 
  instance HasBodyParam PatchIPAddress Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam PatchIPAddress 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 PatchIPAddress 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 PatchIPAddress 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. 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. - 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 in v1.23+ - 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 PatchIPAddress 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 PatchIPAddress Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchIPAddress MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchIPAddress MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchIPAddress MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchIPAddress MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchIPAddress MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchIPAddress MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchIPAddress MimeYaml
  
  
  -- *** patchServiceCIDR
  
  -- | @PATCH \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}@
  -- 
  -- partially update the specified ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchServiceCIDR
    :: (Consumes PatchServiceCIDR contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest PatchServiceCIDR contentType V1alpha1ServiceCIDR accept
  patchServiceCIDR _  _ body (Name name) =
    _mkRequest "PATCH" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchServiceCIDR 
  instance HasBodyParam PatchServiceCIDR Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam PatchServiceCIDR 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 PatchServiceCIDR 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 PatchServiceCIDR 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. 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. - 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 in v1.23+ - 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 PatchServiceCIDR 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 PatchServiceCIDR Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchServiceCIDR MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchServiceCIDR MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchServiceCIDR MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchServiceCIDR MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchServiceCIDR MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchServiceCIDR MimeYaml
  
  
  -- *** patchServiceCIDRStatus
  
  -- | @PATCH \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}\/status@
  -- 
  -- partially update status of the specified ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  patchServiceCIDRStatus
    :: (Consumes PatchServiceCIDRStatus contentType, MimeRender contentType Body)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> Body -- ^ "body"
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest PatchServiceCIDRStatus contentType V1alpha1ServiceCIDR accept
  patchServiceCIDRStatus _  _ body (Name name) =
    _mkRequest "PATCH" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data PatchServiceCIDRStatus 
  instance HasBodyParam PatchServiceCIDRStatus Body 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam PatchServiceCIDRStatus 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 PatchServiceCIDRStatus 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 PatchServiceCIDRStatus 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. 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. - 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 in v1.23+ - 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 PatchServiceCIDRStatus 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 PatchServiceCIDRStatus Force where
    applyOptionalParam req (Force xs) =
      req `addQuery` toQuery ("force", Just xs)
  
  -- | @application/apply-patch+yaml@
  instance Consumes PatchServiceCIDRStatus MimeApplyPatchyaml
  -- | @application/json-patch+json@
  instance Consumes PatchServiceCIDRStatus MimeJsonPatchjson
  -- | @application/merge-patch+json@
  instance Consumes PatchServiceCIDRStatus MimeMergePatchjson
  -- | @application/strategic-merge-patch+json@
  instance Consumes PatchServiceCIDRStatus MimeStrategicMergePatchjson
  
  -- | @application/json@
  instance Produces PatchServiceCIDRStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces PatchServiceCIDRStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces PatchServiceCIDRStatus MimeYaml
  
  
  -- *** readIPAddress
  
  -- | @GET \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses\/{name}@
  -- 
  -- read the specified IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readIPAddress
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the IPAddress
    -> KubernetesRequest ReadIPAddress MimeNoContent V1alpha1IPAddress accept
  readIPAddress  _ (Name name) =
    _mkRequest "GET" ["/apis/networking.k8s.io/v1alpha1/ipaddresses/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadIPAddress  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ReadIPAddress Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadIPAddress MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadIPAddress MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadIPAddress MimeYaml
  
  
  -- *** readServiceCIDR
  
  -- | @GET \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}@
  -- 
  -- read the specified ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readServiceCIDR
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest ReadServiceCIDR MimeNoContent V1alpha1ServiceCIDR accept
  readServiceCIDR  _ (Name name) =
    _mkRequest "GET" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadServiceCIDR  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ReadServiceCIDR Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadServiceCIDR MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadServiceCIDR MimeYaml
  
  
  -- *** readServiceCIDRStatus
  
  -- | @GET \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}\/status@
  -- 
  -- read status of the specified ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  readServiceCIDRStatus
    :: Accept accept -- ^ request accept ('MimeType')
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest ReadServiceCIDRStatus MimeNoContent V1alpha1ServiceCIDR accept
  readServiceCIDRStatus  _ (Name name) =
    _mkRequest "GET" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
  
  data ReadServiceCIDRStatus  
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ReadServiceCIDRStatus Pretty where
    applyOptionalParam req (Pretty xs) =
      req `addQuery` toQuery ("pretty", Just xs)
  -- | @application/json@
  instance Produces ReadServiceCIDRStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReadServiceCIDRStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReadServiceCIDRStatus MimeYaml
  
  
  -- *** replaceIPAddress
  
  -- | @PUT \/apis\/networking.k8s.io\/v1alpha1\/ipaddresses\/{name}@
  -- 
  -- replace the specified IPAddress
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceIPAddress
    :: (Consumes ReplaceIPAddress contentType, MimeRender contentType V1alpha1IPAddress)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1alpha1IPAddress -- ^ "body"
    -> Name -- ^ "name" -  name of the IPAddress
    -> KubernetesRequest ReplaceIPAddress contentType V1alpha1IPAddress accept
  replaceIPAddress _  _ body (Name name) =
    _mkRequest "PUT" ["/apis/networking.k8s.io/v1alpha1/ipaddresses/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceIPAddress 
  instance HasBodyParam ReplaceIPAddress V1alpha1IPAddress 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ReplaceIPAddress 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 ReplaceIPAddress 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 ReplaceIPAddress 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. 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. - 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 in v1.23+ - 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 ReplaceIPAddress FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceIPAddress mtype
  
  -- | @application/json@
  instance Produces ReplaceIPAddress MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceIPAddress MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceIPAddress MimeYaml
  
  
  -- *** replaceServiceCIDR
  
  -- | @PUT \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}@
  -- 
  -- replace the specified ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceServiceCIDR
    :: (Consumes ReplaceServiceCIDR contentType, MimeRender contentType V1alpha1ServiceCIDR)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1alpha1ServiceCIDR -- ^ "body"
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest ReplaceServiceCIDR contentType V1alpha1ServiceCIDR accept
  replaceServiceCIDR _  _ body (Name name) =
    _mkRequest "PUT" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceServiceCIDR 
  instance HasBodyParam ReplaceServiceCIDR V1alpha1ServiceCIDR 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ReplaceServiceCIDR 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 ReplaceServiceCIDR 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 ReplaceServiceCIDR 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. 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. - 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 in v1.23+ - 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 ReplaceServiceCIDR FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceServiceCIDR mtype
  
  -- | @application/json@
  instance Produces ReplaceServiceCIDR MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceServiceCIDR MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceServiceCIDR MimeYaml
  
  
  -- *** replaceServiceCIDRStatus
  
  -- | @PUT \/apis\/networking.k8s.io\/v1alpha1\/servicecidrs\/{name}\/status@
  -- 
  -- replace status of the specified ServiceCIDR
  -- 
  -- AuthMethod: 'AuthApiKeyBearerToken'
  -- 
  replaceServiceCIDRStatus
    :: (Consumes ReplaceServiceCIDRStatus contentType, MimeRender contentType V1alpha1ServiceCIDR)
    => ContentType contentType -- ^ request content-type ('MimeType')
    -> Accept accept -- ^ request accept ('MimeType')
    -> V1alpha1ServiceCIDR -- ^ "body"
    -> Name -- ^ "name" -  name of the ServiceCIDR
    -> KubernetesRequest ReplaceServiceCIDRStatus contentType V1alpha1ServiceCIDR accept
  replaceServiceCIDRStatus _  _ body (Name name) =
    _mkRequest "PUT" ["/apis/networking.k8s.io/v1alpha1/servicecidrs/",toPath name,"/status"]
      `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyBearerToken)
      `setBodyParam` body
  
  data ReplaceServiceCIDRStatus 
  instance HasBodyParam ReplaceServiceCIDRStatus V1alpha1ServiceCIDR 
  
  -- | /Optional Param/ "pretty" - If 'true', then the output is pretty printed. Defaults to 'false' unless the user-agent indicates a browser or command-line HTTP tool (curl and wget).
  instance HasOptionalParam ReplaceServiceCIDRStatus 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 ReplaceServiceCIDRStatus 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 ReplaceServiceCIDRStatus 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. 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. - 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 in v1.23+ - 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 ReplaceServiceCIDRStatus FieldValidation where
    applyOptionalParam req (FieldValidation xs) =
      req `addQuery` toQuery ("fieldValidation", Just xs)
  
  -- | @*/*@
  instance MimeType mtype => Consumes ReplaceServiceCIDRStatus mtype
  
  -- | @application/json@
  instance Produces ReplaceServiceCIDRStatus MimeJSON
  -- | @application/vnd.kubernetes.protobuf@
  instance Produces ReplaceServiceCIDRStatus MimeVndKubernetesProtobuf
  -- | @application/yaml@
  instance Produces ReplaceServiceCIDRStatus MimeYaml
  
  