// <auto-generated>
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
// </auto-generated>

namespace k8s
{
    using Microsoft.Rest;
    using Models;
    using Newtonsoft.Json;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Threading;
    using System.Threading.Tasks;

    /// <summary>
    /// </summary>
    public partial interface IKubernetes : System.IDisposable
    {
        /// <summary>
        /// The base URI of the service.
        /// </summary>
        System.Uri BaseUri { get; set; }

        /// <summary>
        /// Gets or sets json serialization settings.
        /// </summary>
        JsonSerializerSettings SerializationSettings { get; }

        /// <summary>
        /// Gets or sets json deserialization settings.
        /// </summary>
        JsonSerializerSettings DeserializationSettings { get; }

        /// <summary>
        /// Subscription credentials which uniquely identify client
        /// subscription.
        /// </summary>
        ServiceClientCredentials Credentials { get; }


        /// <summary>
        /// get service account issuer OpenID configuration, also known as the
        /// 'OIDC discovery doc'
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<string>> GetServiceAccountIssuerOpenIDConfigurationWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available API versions
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIVersions>> GetAPIVersionsWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResourcesWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list objects of kind ComponentStatus
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ComponentStatusList>> ListComponentStatusWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ComponentStatus
        /// </summary>
        /// <param name='name'>
        /// name of the ComponentStatus
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ComponentStatus>> ReadComponentStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ConfigMap
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ConfigMapList>> ListConfigMapForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Endpoints
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointsList>> ListEndpointsForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Event
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Corev1EventList>> ListEventForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind LimitRange
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LimitRangeList>> ListLimitRangeForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Namespace
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NamespaceList>> ListNamespaceWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Namespace
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> CreateNamespaceWithHttpMessagesAsync(V1Namespace body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Binding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Binding>> CreateNamespacedBindingWithHttpMessagesAsync(V1Binding body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ConfigMap
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedConfigMapWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ConfigMap
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ConfigMapList>> ListNamespacedConfigMapWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ConfigMap
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ConfigMap>> CreateNamespacedConfigMapWithHttpMessagesAsync(V1ConfigMap body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ConfigMap
        /// </summary>
        /// <param name='name'>
        /// name of the ConfigMap
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedConfigMapWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ConfigMap
        /// </summary>
        /// <param name='name'>
        /// name of the ConfigMap
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ConfigMap>> ReadNamespacedConfigMapWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ConfigMap
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ConfigMap
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ConfigMap>> PatchNamespacedConfigMapWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ConfigMap
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ConfigMap
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ConfigMap>> ReplaceNamespacedConfigMapWithHttpMessagesAsync(V1ConfigMap body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Endpoints
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedEndpointsWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Endpoints
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointsList>> ListNamespacedEndpointsWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create Endpoints
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Endpoints>> CreateNamespacedEndpointsWithHttpMessagesAsync(V1Endpoints body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete Endpoints
        /// </summary>
        /// <param name='name'>
        /// name of the Endpoints
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedEndpointsWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Endpoints
        /// </summary>
        /// <param name='name'>
        /// name of the Endpoints
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Endpoints>> ReadNamespacedEndpointsWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Endpoints
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Endpoints
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Endpoints>> PatchNamespacedEndpointsWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Endpoints
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Endpoints
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Endpoints>> ReplaceNamespacedEndpointsWithHttpMessagesAsync(V1Endpoints body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Event
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedEventWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Event
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Corev1EventList>> ListNamespacedEventWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Corev1Event>> CreateNamespacedEventWithHttpMessagesAsync(Corev1Event body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an Event
        /// </summary>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedEventWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Event
        /// </summary>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Corev1Event>> ReadNamespacedEventWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Corev1Event>> PatchNamespacedEventWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Corev1Event>> ReplaceNamespacedEventWithHttpMessagesAsync(Corev1Event body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of LimitRange
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedLimitRangeWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind LimitRange
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LimitRangeList>> ListNamespacedLimitRangeWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a LimitRange
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LimitRange>> CreateNamespacedLimitRangeWithHttpMessagesAsync(V1LimitRange body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a LimitRange
        /// </summary>
        /// <param name='name'>
        /// name of the LimitRange
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedLimitRangeWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified LimitRange
        /// </summary>
        /// <param name='name'>
        /// name of the LimitRange
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LimitRange>> ReadNamespacedLimitRangeWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified LimitRange
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the LimitRange
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LimitRange>> PatchNamespacedLimitRangeWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified LimitRange
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the LimitRange
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LimitRange>> ReplaceNamespacedLimitRangeWithHttpMessagesAsync(V1LimitRange body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PersistentVolumeClaim
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedPersistentVolumeClaimWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PersistentVolumeClaim
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaimList>> ListNamespacedPersistentVolumeClaimWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PersistentVolumeClaim
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> CreateNamespacedPersistentVolumeClaimWithHttpMessagesAsync(V1PersistentVolumeClaim body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PersistentVolumeClaim
        /// </summary>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> DeleteNamespacedPersistentVolumeClaimWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PersistentVolumeClaim
        /// </summary>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> ReadNamespacedPersistentVolumeClaimWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PersistentVolumeClaim
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> PatchNamespacedPersistentVolumeClaimWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PersistentVolumeClaim
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> ReplaceNamespacedPersistentVolumeClaimWithHttpMessagesAsync(V1PersistentVolumeClaim body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified PersistentVolumeClaim
        /// </summary>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> ReadNamespacedPersistentVolumeClaimStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified PersistentVolumeClaim
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> PatchNamespacedPersistentVolumeClaimStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified PersistentVolumeClaim
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolumeClaim
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaim>> ReplaceNamespacedPersistentVolumeClaimStatusWithHttpMessagesAsync(V1PersistentVolumeClaim body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Pod
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedPodWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Pod
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodList>> ListNamespacedPodWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> CreateNamespacedPodWithHttpMessagesAsync(V1Pod body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Pod
        /// </summary>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> DeleteNamespacedPodWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Pod
        /// </summary>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> ReadNamespacedPodWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> PatchNamespacedPodWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> ReplaceNamespacedPodWithHttpMessagesAsync(V1Pod body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to attach of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodAttachOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='container'>
        /// The container in which to execute the command. Defaults to only
        /// container if there is only one container in the pod.
        /// </param>
        /// <param name='stderr'>
        /// Stderr if true indicates that stderr is to be redirected for the
        /// attach call. Defaults to true.
        /// </param>
        /// <param name='stdin'>
        /// Stdin if true, redirects the standard input stream of the pod for
        /// this call. Defaults to false.
        /// </param>
        /// <param name='stdout'>
        /// Stdout if true indicates that stdout is to be redirected for the
        /// attach call. Defaults to true.
        /// </param>
        /// <param name='tty'>
        /// TTY if true indicates that a tty will be allocated for the attach
        /// call. This is passed through the container runtime so the tty is
        /// allocated on the worker node by the container runtime. Defaults to
        /// false.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedPodAttachWithHttpMessagesAsync(string name, string namespaceParameter, string container = default(string), bool? stderr = default(bool?), bool? stdin = default(bool?), bool? stdout = default(bool?), bool? tty = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to attach of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodAttachOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='container'>
        /// The container in which to execute the command. Defaults to only
        /// container if there is only one container in the pod.
        /// </param>
        /// <param name='stderr'>
        /// Stderr if true indicates that stderr is to be redirected for the
        /// attach call. Defaults to true.
        /// </param>
        /// <param name='stdin'>
        /// Stdin if true, redirects the standard input stream of the pod for
        /// this call. Defaults to false.
        /// </param>
        /// <param name='stdout'>
        /// Stdout if true indicates that stdout is to be redirected for the
        /// attach call. Defaults to true.
        /// </param>
        /// <param name='tty'>
        /// TTY if true indicates that a tty will be allocated for the attach
        /// call. This is passed through the container runtime so the tty is
        /// allocated on the worker node by the container runtime. Defaults to
        /// false.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedPodAttachWithHttpMessagesAsync(string name, string namespaceParameter, string container = default(string), bool? stderr = default(bool?), bool? stdin = default(bool?), bool? stdout = default(bool?), bool? tty = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create binding of a Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Binding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Binding>> CreateNamespacedPodBindingWithHttpMessagesAsync(V1Binding body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read ephemeralcontainers of the specified Pod
        /// </summary>
        /// <param name='name'>
        /// name of the EphemeralContainers
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EphemeralContainers>> ReadNamespacedPodEphemeralcontainersWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update ephemeralcontainers of the specified Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the EphemeralContainers
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EphemeralContainers>> PatchNamespacedPodEphemeralcontainersWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace ephemeralcontainers of the specified Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the EphemeralContainers
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EphemeralContainers>> ReplaceNamespacedPodEphemeralcontainersWithHttpMessagesAsync(V1EphemeralContainers body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create eviction of a Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Eviction
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Eviction>> CreateNamespacedPodEvictionWithHttpMessagesAsync(V1beta1Eviction body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to exec of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodExecOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='command'>
        /// Command is the remote command to execute. argv array. Not executed
        /// within a shell.
        /// </param>
        /// <param name='container'>
        /// Container in which to execute the command. Defaults to only
        /// container if there is only one container in the pod.
        /// </param>
        /// <param name='stderr'>
        /// Redirect the standard error stream of the pod for this call.
        /// Defaults to true.
        /// </param>
        /// <param name='stdin'>
        /// Redirect the standard input stream of the pod for this call.
        /// Defaults to false.
        /// </param>
        /// <param name='stdout'>
        /// Redirect the standard output stream of the pod for this call.
        /// Defaults to true.
        /// </param>
        /// <param name='tty'>
        /// TTY if true indicates that a tty will be allocated for the exec
        /// call. Defaults to false.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedPodExecWithHttpMessagesAsync(string name, string namespaceParameter, string command = default(string), string container = default(string), bool? stderr = default(bool?), bool? stdin = default(bool?), bool? stdout = default(bool?), bool? tty = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to exec of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodExecOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='command'>
        /// Command is the remote command to execute. argv array. Not executed
        /// within a shell.
        /// </param>
        /// <param name='container'>
        /// Container in which to execute the command. Defaults to only
        /// container if there is only one container in the pod.
        /// </param>
        /// <param name='stderr'>
        /// Redirect the standard error stream of the pod for this call.
        /// Defaults to true.
        /// </param>
        /// <param name='stdin'>
        /// Redirect the standard input stream of the pod for this call.
        /// Defaults to false.
        /// </param>
        /// <param name='stdout'>
        /// Redirect the standard output stream of the pod for this call.
        /// Defaults to true.
        /// </param>
        /// <param name='tty'>
        /// TTY if true indicates that a tty will be allocated for the exec
        /// call. Defaults to false.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedPodExecWithHttpMessagesAsync(string name, string namespaceParameter, string command = default(string), string container = default(string), bool? stderr = default(bool?), bool? stdin = default(bool?), bool? stdout = default(bool?), bool? tty = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read log of the specified Pod
        /// </summary>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='container'>
        /// The container for which to stream logs. Defaults to only container
        /// if there is one container in the pod.
        /// </param>
        /// <param name='follow'>
        /// Follow the log stream of the pod. Defaults to false.
        /// </param>
        /// <param name='insecureSkipTLSVerifyBackend'>
        /// insecureSkipTLSVerifyBackend indicates that the apiserver should
        /// not confirm the validity of the serving certificate of the backend
        /// it is connecting to.  This will make the HTTPS connection between
        /// the apiserver and the backend insecure. This means the apiserver
        /// cannot verify the log data it is receiving came from the real
        /// kubelet.  If the kubelet is configured to verify the apiserver's
        /// TLS credentials, it does not mean the connection to the real
        /// kubelet is vulnerable to a man in the middle attack (e.g. an
        /// attacker could not intercept the actual log data coming from the
        /// real kubelet).
        /// </param>
        /// <param name='limitBytes'>
        /// If set, the number of bytes to read from the server before
        /// terminating the log output. This may not display a complete final
        /// line of logging, and may return slightly more or slightly less than
        /// the specified limit.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='previous'>
        /// Return previous terminated container logs. Defaults to false.
        /// </param>
        /// <param name='sinceSeconds'>
        /// A relative time in seconds before the current time from which to
        /// show logs. If this value precedes the time a pod was started, only
        /// logs since the pod start will be returned. If this value is in the
        /// future, no logs will be returned. Only one of sinceSeconds or
        /// sinceTime may be specified.
        /// </param>
        /// <param name='tailLines'>
        /// If set, the number of lines from the end of the logs to show. If
        /// not specified, logs are shown from the creation of the container or
        /// sinceSeconds or sinceTime
        /// </param>
        /// <param name='timestamps'>
        /// If true, add an RFC3339 or RFC3339Nano timestamp at the beginning
        /// of every line of log output. Defaults to false.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ReadNamespacedPodLogWithHttpMessagesAsync(string name, string namespaceParameter, string container = default(string), bool? follow = default(bool?), bool? insecureSkipTLSVerifyBackend = default(bool?), int? limitBytes = default(int?), string pretty = default(string), bool? previous = default(bool?), int? sinceSeconds = default(int?), int? tailLines = default(int?), bool? timestamps = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to portforward of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodPortForwardOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='ports'>
        /// List of ports to forward Required when using WebSockets
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedPodPortforwardWithHttpMessagesAsync(string name, string namespaceParameter, int? ports = default(int?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to portforward of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodPortForwardOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='ports'>
        /// List of ports to forward Required when using WebSockets
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedPodPortforwardWithHttpMessagesAsync(string name, string namespaceParameter, int? ports = default(int?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect DELETE requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectDeleteNamespacedPodProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedPodProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect HEAD requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectHeadNamespacedPodProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PATCH requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPatchNamespacedPodProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedPodProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PUT requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPutNamespacedPodProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect DELETE requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectDeleteNamespacedPodProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedPodProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect HEAD requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectHeadNamespacedPodProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PATCH requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPatchNamespacedPodProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedPodProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PUT requests to proxy of Pod
        /// </summary>
        /// <param name='name'>
        /// name of the PodProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to pod.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPutNamespacedPodProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Pod
        /// </summary>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> ReadNamespacedPodStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> PatchNamespacedPodStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Pod
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Pod
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Pod>> ReplaceNamespacedPodStatusWithHttpMessagesAsync(V1Pod body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PodTemplate
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedPodTemplateWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodTemplate
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplateList>> ListNamespacedPodTemplateWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PodTemplate
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplate>> CreateNamespacedPodTemplateWithHttpMessagesAsync(V1PodTemplate body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PodTemplate
        /// </summary>
        /// <param name='name'>
        /// name of the PodTemplate
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplate>> DeleteNamespacedPodTemplateWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PodTemplate
        /// </summary>
        /// <param name='name'>
        /// name of the PodTemplate
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplate>> ReadNamespacedPodTemplateWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PodTemplate
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodTemplate
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplate>> PatchNamespacedPodTemplateWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PodTemplate
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodTemplate
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplate>> ReplaceNamespacedPodTemplateWithHttpMessagesAsync(V1PodTemplate body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ReplicationController
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedReplicationControllerWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ReplicationController
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationControllerList>> ListNamespacedReplicationControllerWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> CreateNamespacedReplicationControllerWithHttpMessagesAsync(V1ReplicationController body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ReplicationController
        /// </summary>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedReplicationControllerWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ReplicationController
        /// </summary>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> ReadNamespacedReplicationControllerWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> PatchNamespacedReplicationControllerWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> ReplaceNamespacedReplicationControllerWithHttpMessagesAsync(V1ReplicationController body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read scale of the specified ReplicationController
        /// </summary>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReadNamespacedReplicationControllerScaleWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update scale of the specified ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> PatchNamespacedReplicationControllerScaleWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace scale of the specified ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReplaceNamespacedReplicationControllerScaleWithHttpMessagesAsync(V1Scale body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified ReplicationController
        /// </summary>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> ReadNamespacedReplicationControllerStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> PatchNamespacedReplicationControllerStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified ReplicationController
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicationController
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationController>> ReplaceNamespacedReplicationControllerStatusWithHttpMessagesAsync(V1ReplicationController body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ResourceQuota
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedResourceQuotaWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ResourceQuota
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuotaList>> ListNamespacedResourceQuotaWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ResourceQuota
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> CreateNamespacedResourceQuotaWithHttpMessagesAsync(V1ResourceQuota body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ResourceQuota
        /// </summary>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> DeleteNamespacedResourceQuotaWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ResourceQuota
        /// </summary>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> ReadNamespacedResourceQuotaWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ResourceQuota
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> PatchNamespacedResourceQuotaWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ResourceQuota
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> ReplaceNamespacedResourceQuotaWithHttpMessagesAsync(V1ResourceQuota body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified ResourceQuota
        /// </summary>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> ReadNamespacedResourceQuotaStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified ResourceQuota
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> PatchNamespacedResourceQuotaStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified ResourceQuota
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ResourceQuota
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuota>> ReplaceNamespacedResourceQuotaStatusWithHttpMessagesAsync(V1ResourceQuota body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Secret
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedSecretWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Secret
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1SecretList>> ListNamespacedSecretWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Secret
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Secret>> CreateNamespacedSecretWithHttpMessagesAsync(V1Secret body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Secret
        /// </summary>
        /// <param name='name'>
        /// name of the Secret
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedSecretWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Secret
        /// </summary>
        /// <param name='name'>
        /// name of the Secret
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Secret>> ReadNamespacedSecretWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Secret
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Secret
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Secret>> PatchNamespacedSecretWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Secret
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Secret
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Secret>> ReplaceNamespacedSecretWithHttpMessagesAsync(V1Secret body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ServiceAccount
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedServiceAccountWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ServiceAccount
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccountList>> ListNamespacedServiceAccountWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ServiceAccount
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccount>> CreateNamespacedServiceAccountWithHttpMessagesAsync(V1ServiceAccount body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ServiceAccount
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceAccount
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccount>> DeleteNamespacedServiceAccountWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ServiceAccount
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceAccount
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccount>> ReadNamespacedServiceAccountWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ServiceAccount
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ServiceAccount
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccount>> PatchNamespacedServiceAccountWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ServiceAccount
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ServiceAccount
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccount>> ReplaceNamespacedServiceAccountWithHttpMessagesAsync(V1ServiceAccount body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create token of a ServiceAccount
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the TokenRequest
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Authenticationv1TokenRequest>> CreateNamespacedServiceAccountTokenWithHttpMessagesAsync(Authenticationv1TokenRequest body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Service
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceList>> ListNamespacedServiceWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Service
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> CreateNamespacedServiceWithHttpMessagesAsync(V1Service body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Service
        /// </summary>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedServiceWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Service
        /// </summary>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> ReadNamespacedServiceWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Service
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> PatchNamespacedServiceWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Service
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> ReplaceNamespacedServiceWithHttpMessagesAsync(V1Service body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect DELETE requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectDeleteNamespacedServiceProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedServiceProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect HEAD requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectHeadNamespacedServiceProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PATCH requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPatchNamespacedServiceProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedServiceProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PUT requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPutNamespacedServiceProxyWithHttpMessagesAsync(string name, string namespaceParameter, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect DELETE requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectDeleteNamespacedServiceProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNamespacedServiceProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect HEAD requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectHeadNamespacedServiceProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PATCH requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPatchNamespacedServiceProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNamespacedServiceProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PUT requests to proxy of Service
        /// </summary>
        /// <param name='name'>
        /// name of the ServiceProxyOptions
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the part of URLs that include service endpoints, suffixes,
        /// and parameters to use for the current proxy request to service. For
        /// example, the whole request URL is
        /// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
        /// Path is _search?q=user:kimchy.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPutNamespacedServiceProxyWithPathWithHttpMessagesAsync(string name, string namespaceParameter, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Service
        /// </summary>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> ReadNamespacedServiceStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Service
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> PatchNamespacedServiceStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Service
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Service
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Service>> ReplaceNamespacedServiceStatusWithHttpMessagesAsync(V1Service body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Namespace
        /// </summary>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespaceWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Namespace
        /// </summary>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> ReadNamespaceWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Namespace
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> PatchNamespaceWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Namespace
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> ReplaceNamespaceWithHttpMessagesAsync(V1Namespace body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace finalize of the specified Namespace
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> ReplaceNamespaceFinalizeWithHttpMessagesAsync(V1Namespace body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Namespace
        /// </summary>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> ReadNamespaceStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Namespace
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> PatchNamespaceStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Namespace
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Namespace
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Namespace>> ReplaceNamespaceStatusWithHttpMessagesAsync(V1Namespace body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Node
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNodeWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Node
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NodeList>> ListNodeWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Node
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> CreateNodeWithHttpMessagesAsync(V1Node body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Node
        /// </summary>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNodeWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Node
        /// </summary>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> ReadNodeWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Node
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> PatchNodeWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Node
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> ReplaceNodeWithHttpMessagesAsync(V1Node body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect DELETE requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectDeleteNodeProxyWithHttpMessagesAsync(string name, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNodeProxyWithHttpMessagesAsync(string name, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect HEAD requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectHeadNodeProxyWithHttpMessagesAsync(string name, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PATCH requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPatchNodeProxyWithHttpMessagesAsync(string name, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNodeProxyWithHttpMessagesAsync(string name, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PUT requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPutNodeProxyWithHttpMessagesAsync(string name, string path = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect DELETE requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectDeleteNodeProxyWithPathWithHttpMessagesAsync(string name, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect GET requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectGetNodeProxyWithPathWithHttpMessagesAsync(string name, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect HEAD requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectHeadNodeProxyWithPathWithHttpMessagesAsync(string name, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PATCH requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPatchNodeProxyWithPathWithHttpMessagesAsync(string name, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect POST requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPostNodeProxyWithPathWithHttpMessagesAsync(string name, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// connect PUT requests to proxy of Node
        /// </summary>
        /// <param name='name'>
        /// name of the NodeProxyOptions
        /// </param>
        /// <param name='path'>
        /// path to the resource
        /// </param>
        /// <param name='path1'>
        /// Path is the URL path to use for the current proxy request to node.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Stream>> ConnectPutNodeProxyWithPathWithHttpMessagesAsync(string name, string path, string path1, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Node
        /// </summary>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> ReadNodeStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Node
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> PatchNodeStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Node
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Node
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Node>> ReplaceNodeStatusWithHttpMessagesAsync(V1Node body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PersistentVolumeClaim
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeClaimList>> ListPersistentVolumeClaimForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PersistentVolume
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionPersistentVolumeWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PersistentVolume
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolumeList>> ListPersistentVolumeWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PersistentVolume
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> CreatePersistentVolumeWithHttpMessagesAsync(V1PersistentVolume body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PersistentVolume
        /// </summary>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> DeletePersistentVolumeWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PersistentVolume
        /// </summary>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> ReadPersistentVolumeWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PersistentVolume
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> PatchPersistentVolumeWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PersistentVolume
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> ReplacePersistentVolumeWithHttpMessagesAsync(V1PersistentVolume body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified PersistentVolume
        /// </summary>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> ReadPersistentVolumeStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified PersistentVolume
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> PatchPersistentVolumeStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified PersistentVolume
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PersistentVolume
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PersistentVolume>> ReplacePersistentVolumeStatusWithHttpMessagesAsync(V1PersistentVolume body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Pod
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodList>> ListPodForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodTemplate
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodTemplateList>> ListPodTemplateForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ReplicationController
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicationControllerList>> ListReplicationControllerForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ResourceQuota
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ResourceQuotaList>> ListResourceQuotaForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Secret
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1SecretList>> ListSecretForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ServiceAccount
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceAccountList>> ListServiceAccountForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Service
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ServiceList>> ListServiceForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available API versions
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroupList>> GetAPIVersions1WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroupWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources1WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionMutatingWebhookConfigurationWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind MutatingWebhookConfiguration
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1MutatingWebhookConfigurationList>> ListMutatingWebhookConfigurationWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1MutatingWebhookConfiguration>> CreateMutatingWebhookConfigurationWithHttpMessagesAsync(V1MutatingWebhookConfiguration body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a MutatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteMutatingWebhookConfigurationWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified MutatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1MutatingWebhookConfiguration>> ReadMutatingWebhookConfigurationWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1MutatingWebhookConfiguration>> PatchMutatingWebhookConfigurationWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1MutatingWebhookConfiguration>> ReplaceMutatingWebhookConfigurationWithHttpMessagesAsync(V1MutatingWebhookConfiguration body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionValidatingWebhookConfigurationWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ValidatingWebhookConfigurationList>> ListValidatingWebhookConfigurationWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ValidatingWebhookConfiguration>> CreateValidatingWebhookConfigurationWithHttpMessagesAsync(V1ValidatingWebhookConfiguration body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteValidatingWebhookConfigurationWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ValidatingWebhookConfiguration>> ReadValidatingWebhookConfigurationWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ValidatingWebhookConfiguration>> PatchValidatingWebhookConfigurationWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ValidatingWebhookConfiguration>> ReplaceValidatingWebhookConfigurationWithHttpMessagesAsync(V1ValidatingWebhookConfiguration body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources2WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionMutatingWebhookConfiguration1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind MutatingWebhookConfiguration
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1MutatingWebhookConfigurationList>> ListMutatingWebhookConfiguration1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1MutatingWebhookConfiguration>> CreateMutatingWebhookConfiguration1WithHttpMessagesAsync(V1beta1MutatingWebhookConfiguration body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a MutatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteMutatingWebhookConfiguration1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified MutatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1MutatingWebhookConfiguration>> ReadMutatingWebhookConfiguration1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1MutatingWebhookConfiguration>> PatchMutatingWebhookConfiguration1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified MutatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the MutatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1MutatingWebhookConfiguration>> ReplaceMutatingWebhookConfiguration1WithHttpMessagesAsync(V1beta1MutatingWebhookConfiguration body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionValidatingWebhookConfiguration1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ValidatingWebhookConfigurationList>> ListValidatingWebhookConfiguration1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ValidatingWebhookConfiguration>> CreateValidatingWebhookConfiguration1WithHttpMessagesAsync(V1beta1ValidatingWebhookConfiguration body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteValidatingWebhookConfiguration1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ValidatingWebhookConfiguration>> ReadValidatingWebhookConfiguration1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ValidatingWebhookConfiguration>> PatchValidatingWebhookConfiguration1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ValidatingWebhookConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ValidatingWebhookConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ValidatingWebhookConfiguration>> ReplaceValidatingWebhookConfiguration1WithHttpMessagesAsync(V1beta1ValidatingWebhookConfiguration body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup1WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources3WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCustomResourceDefinitionWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CustomResourceDefinition
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinitionList>> ListCustomResourceDefinitionWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> CreateCustomResourceDefinitionWithHttpMessagesAsync(V1CustomResourceDefinition body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CustomResourceDefinition
        /// </summary>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCustomResourceDefinitionWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CustomResourceDefinition
        /// </summary>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> ReadCustomResourceDefinitionWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> PatchCustomResourceDefinitionWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> ReplaceCustomResourceDefinitionWithHttpMessagesAsync(V1CustomResourceDefinition body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified CustomResourceDefinition
        /// </summary>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> ReadCustomResourceDefinitionStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> PatchCustomResourceDefinitionStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CustomResourceDefinition>> ReplaceCustomResourceDefinitionStatusWithHttpMessagesAsync(V1CustomResourceDefinition body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources4WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCustomResourceDefinition1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CustomResourceDefinition
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinitionList>> ListCustomResourceDefinition1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> CreateCustomResourceDefinition1WithHttpMessagesAsync(V1beta1CustomResourceDefinition body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CustomResourceDefinition
        /// </summary>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCustomResourceDefinition1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CustomResourceDefinition
        /// </summary>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> ReadCustomResourceDefinition1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> PatchCustomResourceDefinition1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> ReplaceCustomResourceDefinition1WithHttpMessagesAsync(V1beta1CustomResourceDefinition body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified CustomResourceDefinition
        /// </summary>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> ReadCustomResourceDefinitionStatus1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> PatchCustomResourceDefinitionStatus1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified CustomResourceDefinition
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CustomResourceDefinition
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CustomResourceDefinition>> ReplaceCustomResourceDefinitionStatus1WithHttpMessagesAsync(V1beta1CustomResourceDefinition body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup2WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources5WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionAPIServiceWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind APIService
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIServiceList>> ListAPIServiceWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> CreateAPIServiceWithHttpMessagesAsync(V1APIService body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an APIService
        /// </summary>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteAPIServiceWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified APIService
        /// </summary>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> ReadAPIServiceWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> PatchAPIServiceWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> ReplaceAPIServiceWithHttpMessagesAsync(V1APIService body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified APIService
        /// </summary>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> ReadAPIServiceStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> PatchAPIServiceStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIService>> ReplaceAPIServiceStatusWithHttpMessagesAsync(V1APIService body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources6WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionAPIService1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind APIService
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIServiceList>> ListAPIService1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> CreateAPIService1WithHttpMessagesAsync(V1beta1APIService body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an APIService
        /// </summary>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteAPIService1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified APIService
        /// </summary>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> ReadAPIService1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> PatchAPIService1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> ReplaceAPIService1WithHttpMessagesAsync(V1beta1APIService body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified APIService
        /// </summary>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> ReadAPIServiceStatus1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> PatchAPIServiceStatus1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified APIService
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the APIService
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1APIService>> ReplaceAPIServiceStatus1WithHttpMessagesAsync(V1beta1APIService body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup3WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources7WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ControllerRevision
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ControllerRevisionList>> ListControllerRevisionForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind DaemonSet
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSetList>> ListDaemonSetForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Deployment
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DeploymentList>> ListDeploymentForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ControllerRevision
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedControllerRevisionWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ControllerRevision
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ControllerRevisionList>> ListNamespacedControllerRevisionWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ControllerRevision
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ControllerRevision>> CreateNamespacedControllerRevisionWithHttpMessagesAsync(V1ControllerRevision body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ControllerRevision
        /// </summary>
        /// <param name='name'>
        /// name of the ControllerRevision
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedControllerRevisionWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ControllerRevision
        /// </summary>
        /// <param name='name'>
        /// name of the ControllerRevision
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ControllerRevision>> ReadNamespacedControllerRevisionWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ControllerRevision
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ControllerRevision
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ControllerRevision>> PatchNamespacedControllerRevisionWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ControllerRevision
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ControllerRevision
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ControllerRevision>> ReplaceNamespacedControllerRevisionWithHttpMessagesAsync(V1ControllerRevision body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of DaemonSet
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedDaemonSetWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind DaemonSet
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSetList>> ListNamespacedDaemonSetWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a DaemonSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> CreateNamespacedDaemonSetWithHttpMessagesAsync(V1DaemonSet body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a DaemonSet
        /// </summary>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedDaemonSetWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified DaemonSet
        /// </summary>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> ReadNamespacedDaemonSetWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified DaemonSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> PatchNamespacedDaemonSetWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified DaemonSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> ReplaceNamespacedDaemonSetWithHttpMessagesAsync(V1DaemonSet body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified DaemonSet
        /// </summary>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> ReadNamespacedDaemonSetStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified DaemonSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> PatchNamespacedDaemonSetStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified DaemonSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the DaemonSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DaemonSet>> ReplaceNamespacedDaemonSetStatusWithHttpMessagesAsync(V1DaemonSet body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Deployment
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedDeploymentWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Deployment
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1DeploymentList>> ListNamespacedDeploymentWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> CreateNamespacedDeploymentWithHttpMessagesAsync(V1Deployment body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Deployment
        /// </summary>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedDeploymentWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Deployment
        /// </summary>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> ReadNamespacedDeploymentWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> PatchNamespacedDeploymentWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> ReplaceNamespacedDeploymentWithHttpMessagesAsync(V1Deployment body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read scale of the specified Deployment
        /// </summary>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReadNamespacedDeploymentScaleWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update scale of the specified Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> PatchNamespacedDeploymentScaleWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace scale of the specified Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReplaceNamespacedDeploymentScaleWithHttpMessagesAsync(V1Scale body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Deployment
        /// </summary>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> ReadNamespacedDeploymentStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> PatchNamespacedDeploymentStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Deployment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Deployment
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Deployment>> ReplaceNamespacedDeploymentStatusWithHttpMessagesAsync(V1Deployment body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ReplicaSet
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedReplicaSetWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ReplicaSet
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSetList>> ListNamespacedReplicaSetWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> CreateNamespacedReplicaSetWithHttpMessagesAsync(V1ReplicaSet body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ReplicaSet
        /// </summary>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedReplicaSetWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ReplicaSet
        /// </summary>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> ReadNamespacedReplicaSetWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> PatchNamespacedReplicaSetWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> ReplaceNamespacedReplicaSetWithHttpMessagesAsync(V1ReplicaSet body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read scale of the specified ReplicaSet
        /// </summary>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReadNamespacedReplicaSetScaleWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update scale of the specified ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> PatchNamespacedReplicaSetScaleWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace scale of the specified ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReplaceNamespacedReplicaSetScaleWithHttpMessagesAsync(V1Scale body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified ReplicaSet
        /// </summary>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> ReadNamespacedReplicaSetStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> PatchNamespacedReplicaSetStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified ReplicaSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ReplicaSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSet>> ReplaceNamespacedReplicaSetStatusWithHttpMessagesAsync(V1ReplicaSet body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of StatefulSet
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedStatefulSetWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind StatefulSet
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSetList>> ListNamespacedStatefulSetWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> CreateNamespacedStatefulSetWithHttpMessagesAsync(V1StatefulSet body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a StatefulSet
        /// </summary>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedStatefulSetWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified StatefulSet
        /// </summary>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> ReadNamespacedStatefulSetWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> PatchNamespacedStatefulSetWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> ReplaceNamespacedStatefulSetWithHttpMessagesAsync(V1StatefulSet body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read scale of the specified StatefulSet
        /// </summary>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReadNamespacedStatefulSetScaleWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update scale of the specified StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> PatchNamespacedStatefulSetScaleWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace scale of the specified StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Scale
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Scale>> ReplaceNamespacedStatefulSetScaleWithHttpMessagesAsync(V1Scale body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified StatefulSet
        /// </summary>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> ReadNamespacedStatefulSetStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> PatchNamespacedStatefulSetStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified StatefulSet
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StatefulSet
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSet>> ReplaceNamespacedStatefulSetStatusWithHttpMessagesAsync(V1StatefulSet body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ReplicaSet
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ReplicaSetList>> ListReplicaSetForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind StatefulSet
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StatefulSetList>> ListStatefulSetForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup4WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources8WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a TokenReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1TokenReview>> CreateTokenReviewWithHttpMessagesAsync(V1TokenReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources9WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a TokenReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1TokenReview>> CreateTokenReview1WithHttpMessagesAsync(V1beta1TokenReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup5WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources10WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a LocalSubjectAccessReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LocalSubjectAccessReview>> CreateNamespacedLocalSubjectAccessReviewWithHttpMessagesAsync(V1LocalSubjectAccessReview body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a SelfSubjectAccessReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1SelfSubjectAccessReview>> CreateSelfSubjectAccessReviewWithHttpMessagesAsync(V1SelfSubjectAccessReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a SelfSubjectRulesReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1SelfSubjectRulesReview>> CreateSelfSubjectRulesReviewWithHttpMessagesAsync(V1SelfSubjectRulesReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a SubjectAccessReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1SubjectAccessReview>> CreateSubjectAccessReviewWithHttpMessagesAsync(V1SubjectAccessReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources11WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a LocalSubjectAccessReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1LocalSubjectAccessReview>> CreateNamespacedLocalSubjectAccessReview1WithHttpMessagesAsync(V1beta1LocalSubjectAccessReview body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a SelfSubjectAccessReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1SelfSubjectAccessReview>> CreateSelfSubjectAccessReview1WithHttpMessagesAsync(V1beta1SelfSubjectAccessReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a SelfSubjectRulesReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1SelfSubjectRulesReview>> CreateSelfSubjectRulesReview1WithHttpMessagesAsync(V1beta1SelfSubjectRulesReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a SubjectAccessReview
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1SubjectAccessReview>> CreateSubjectAccessReview1WithHttpMessagesAsync(V1beta1SubjectAccessReview body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup6WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources12WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind HorizontalPodAutoscaler
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscalerList>> ListHorizontalPodAutoscalerForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of HorizontalPodAutoscaler
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind HorizontalPodAutoscaler
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscalerList>> ListNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> CreateNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(V1HorizontalPodAutoscaler body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> ReadNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> PatchNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> ReplaceNamespacedHorizontalPodAutoscalerWithHttpMessagesAsync(V1HorizontalPodAutoscaler body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> ReadNamespacedHorizontalPodAutoscalerStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> PatchNamespacedHorizontalPodAutoscalerStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1HorizontalPodAutoscaler>> ReplaceNamespacedHorizontalPodAutoscalerStatusWithHttpMessagesAsync(V1HorizontalPodAutoscaler body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources13WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind HorizontalPodAutoscaler
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscalerList>> ListHorizontalPodAutoscalerForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of HorizontalPodAutoscaler
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind HorizontalPodAutoscaler
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscalerList>> ListNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> CreateNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(V2beta1HorizontalPodAutoscaler body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> ReadNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> PatchNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> ReplaceNamespacedHorizontalPodAutoscaler1WithHttpMessagesAsync(V2beta1HorizontalPodAutoscaler body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> ReadNamespacedHorizontalPodAutoscalerStatus1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> PatchNamespacedHorizontalPodAutoscalerStatus1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta1HorizontalPodAutoscaler>> ReplaceNamespacedHorizontalPodAutoscalerStatus1WithHttpMessagesAsync(V2beta1HorizontalPodAutoscaler body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources14WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind HorizontalPodAutoscaler
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscalerList>> ListHorizontalPodAutoscalerForAllNamespaces2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of HorizontalPodAutoscaler
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind HorizontalPodAutoscaler
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscalerList>> ListNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> CreateNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(V2beta2HorizontalPodAutoscaler body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> ReadNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> PatchNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> ReplaceNamespacedHorizontalPodAutoscaler2WithHttpMessagesAsync(V2beta2HorizontalPodAutoscaler body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> ReadNamespacedHorizontalPodAutoscalerStatus2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> PatchNamespacedHorizontalPodAutoscalerStatus2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified HorizontalPodAutoscaler
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the HorizontalPodAutoscaler
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V2beta2HorizontalPodAutoscaler>> ReplaceNamespacedHorizontalPodAutoscalerStatus2WithHttpMessagesAsync(V2beta2HorizontalPodAutoscaler body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup7WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources15WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CronJob
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJobList>> ListCronJobForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Job
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1JobList>> ListJobForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CronJob
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedCronJobWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CronJob
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJobList>> ListNamespacedCronJobWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> CreateNamespacedCronJobWithHttpMessagesAsync(V1CronJob body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CronJob
        /// </summary>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedCronJobWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CronJob
        /// </summary>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> ReadNamespacedCronJobWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> PatchNamespacedCronJobWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> ReplaceNamespacedCronJobWithHttpMessagesAsync(V1CronJob body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified CronJob
        /// </summary>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> ReadNamespacedCronJobStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> PatchNamespacedCronJobStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CronJob>> ReplaceNamespacedCronJobStatusWithHttpMessagesAsync(V1CronJob body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Job
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedJobWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Job
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1JobList>> ListNamespacedJobWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Job
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> CreateNamespacedJobWithHttpMessagesAsync(V1Job body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Job
        /// </summary>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedJobWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Job
        /// </summary>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> ReadNamespacedJobWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Job
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> PatchNamespacedJobWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Job
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> ReplaceNamespacedJobWithHttpMessagesAsync(V1Job body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Job
        /// </summary>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> ReadNamespacedJobStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Job
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> PatchNamespacedJobStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Job
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Job
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Job>> ReplaceNamespacedJobStatusWithHttpMessagesAsync(V1Job body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources16WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CronJob
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJobList>> ListCronJobForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CronJob
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedCronJob1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CronJob
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJobList>> ListNamespacedCronJob1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> CreateNamespacedCronJob1WithHttpMessagesAsync(V1beta1CronJob body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CronJob
        /// </summary>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedCronJob1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CronJob
        /// </summary>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> ReadNamespacedCronJob1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> PatchNamespacedCronJob1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> ReplaceNamespacedCronJob1WithHttpMessagesAsync(V1beta1CronJob body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified CronJob
        /// </summary>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> ReadNamespacedCronJobStatus1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> PatchNamespacedCronJobStatus1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified CronJob
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CronJob
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CronJob>> ReplaceNamespacedCronJobStatus1WithHttpMessagesAsync(V1beta1CronJob body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup8WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources17WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCertificateSigningRequestWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CertificateSigningRequest
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequestList>> ListCertificateSigningRequestWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> CreateCertificateSigningRequestWithHttpMessagesAsync(V1CertificateSigningRequest body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCertificateSigningRequestWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> ReadCertificateSigningRequestWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> PatchCertificateSigningRequestWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> ReplaceCertificateSigningRequestWithHttpMessagesAsync(V1CertificateSigningRequest body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read approval of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> ReadCertificateSigningRequestApprovalWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update approval of the specified
        /// CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> PatchCertificateSigningRequestApprovalWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace approval of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> ReplaceCertificateSigningRequestApprovalWithHttpMessagesAsync(V1CertificateSigningRequest body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> ReadCertificateSigningRequestStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> PatchCertificateSigningRequestStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CertificateSigningRequest>> ReplaceCertificateSigningRequestStatusWithHttpMessagesAsync(V1CertificateSigningRequest body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources18WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCertificateSigningRequest1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CertificateSigningRequest
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequestList>> ListCertificateSigningRequest1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> CreateCertificateSigningRequest1WithHttpMessagesAsync(V1beta1CertificateSigningRequest body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCertificateSigningRequest1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> ReadCertificateSigningRequest1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> PatchCertificateSigningRequest1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> ReplaceCertificateSigningRequest1WithHttpMessagesAsync(V1beta1CertificateSigningRequest body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read approval of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> ReadCertificateSigningRequestApproval1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update approval of the specified
        /// CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> PatchCertificateSigningRequestApproval1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace approval of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> ReplaceCertificateSigningRequestApproval1WithHttpMessagesAsync(V1beta1CertificateSigningRequest body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> ReadCertificateSigningRequestStatus1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> PatchCertificateSigningRequestStatus1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified CertificateSigningRequest
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CertificateSigningRequest
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CertificateSigningRequest>> ReplaceCertificateSigningRequestStatus1WithHttpMessagesAsync(V1beta1CertificateSigningRequest body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup9WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources19WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Lease
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LeaseList>> ListLeaseForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Lease
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedLeaseWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Lease
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1LeaseList>> ListNamespacedLeaseWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Lease
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Lease>> CreateNamespacedLeaseWithHttpMessagesAsync(V1Lease body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Lease
        /// </summary>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedLeaseWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Lease
        /// </summary>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Lease>> ReadNamespacedLeaseWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Lease
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Lease>> PatchNamespacedLeaseWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Lease
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Lease>> ReplaceNamespacedLeaseWithHttpMessagesAsync(V1Lease body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources20WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Lease
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1LeaseList>> ListLeaseForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Lease
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedLease1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Lease
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1LeaseList>> ListNamespacedLease1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Lease
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Lease>> CreateNamespacedLease1WithHttpMessagesAsync(V1beta1Lease body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Lease
        /// </summary>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedLease1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Lease
        /// </summary>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Lease>> ReadNamespacedLease1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Lease
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Lease>> PatchNamespacedLease1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Lease
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Lease
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Lease>> ReplaceNamespacedLease1WithHttpMessagesAsync(V1beta1Lease body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup10WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources21WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind EndpointSlice
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointSliceList>> ListEndpointSliceForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of EndpointSlice
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedEndpointSliceWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind EndpointSlice
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointSliceList>> ListNamespacedEndpointSliceWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an EndpointSlice
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointSlice>> CreateNamespacedEndpointSliceWithHttpMessagesAsync(V1EndpointSlice body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an EndpointSlice
        /// </summary>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedEndpointSliceWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified EndpointSlice
        /// </summary>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointSlice>> ReadNamespacedEndpointSliceWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified EndpointSlice
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointSlice>> PatchNamespacedEndpointSliceWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified EndpointSlice
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1EndpointSlice>> ReplaceNamespacedEndpointSliceWithHttpMessagesAsync(V1EndpointSlice body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources22WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind EndpointSlice
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EndpointSliceList>> ListEndpointSliceForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of EndpointSlice
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedEndpointSlice1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind EndpointSlice
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EndpointSliceList>> ListNamespacedEndpointSlice1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an EndpointSlice
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EndpointSlice>> CreateNamespacedEndpointSlice1WithHttpMessagesAsync(V1beta1EndpointSlice body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an EndpointSlice
        /// </summary>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedEndpointSlice1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified EndpointSlice
        /// </summary>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EndpointSlice>> ReadNamespacedEndpointSlice1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified EndpointSlice
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EndpointSlice>> PatchNamespacedEndpointSlice1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified EndpointSlice
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the EndpointSlice
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EndpointSlice>> ReplaceNamespacedEndpointSlice1WithHttpMessagesAsync(V1beta1EndpointSlice body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup11WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources23WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Event
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Eventsv1EventList>> ListEventForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Event
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedEvent1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Event
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Eventsv1EventList>> ListNamespacedEvent1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Eventsv1Event>> CreateNamespacedEvent1WithHttpMessagesAsync(Eventsv1Event body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an Event
        /// </summary>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedEvent1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Event
        /// </summary>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Eventsv1Event>> ReadNamespacedEvent1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Eventsv1Event>> PatchNamespacedEvent1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Eventsv1Event>> ReplaceNamespacedEvent1WithHttpMessagesAsync(Eventsv1Event body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources24WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Event
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EventList>> ListEventForAllNamespaces2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Event
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedEvent2WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Event
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1EventList>> ListNamespacedEvent2WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Event>> CreateNamespacedEvent2WithHttpMessagesAsync(V1beta1Event body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an Event
        /// </summary>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedEvent2WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Event
        /// </summary>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Event>> ReadNamespacedEvent2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Event>> PatchNamespacedEvent2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Event
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Event
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Event>> ReplaceNamespacedEvent2WithHttpMessagesAsync(V1beta1Event body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup12WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources25WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Ingress
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1IngressList>> ListIngressForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Ingress
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedIngressWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Ingress
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1IngressList>> ListNamespacedIngressWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> CreateNamespacedIngressWithHttpMessagesAsync(Extensionsv1beta1Ingress body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedIngressWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> ReadNamespacedIngressWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> PatchNamespacedIngressWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> ReplaceNamespacedIngressWithHttpMessagesAsync(Extensionsv1beta1Ingress body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> ReadNamespacedIngressStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> PatchNamespacedIngressStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Extensionsv1beta1Ingress>> ReplaceNamespacedIngressStatusWithHttpMessagesAsync(Extensionsv1beta1Ingress body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup13WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources26WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of FlowSchema
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionFlowSchemaWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind FlowSchema
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchemaList>> ListFlowSchemaWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a FlowSchema
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> CreateFlowSchemaWithHttpMessagesAsync(V1beta1FlowSchema body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a FlowSchema
        /// </summary>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteFlowSchemaWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified FlowSchema
        /// </summary>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> ReadFlowSchemaWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified FlowSchema
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> PatchFlowSchemaWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified FlowSchema
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> ReplaceFlowSchemaWithHttpMessagesAsync(V1beta1FlowSchema body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified FlowSchema
        /// </summary>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> ReadFlowSchemaStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified FlowSchema
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> PatchFlowSchemaStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified FlowSchema
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the FlowSchema
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1FlowSchema>> ReplaceFlowSchemaStatusWithHttpMessagesAsync(V1beta1FlowSchema body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PriorityLevelConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionPriorityLevelConfigurationWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PriorityLevelConfiguration
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfigurationList>> ListPriorityLevelConfigurationWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PriorityLevelConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> CreatePriorityLevelConfigurationWithHttpMessagesAsync(V1beta1PriorityLevelConfiguration body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PriorityLevelConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeletePriorityLevelConfigurationWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PriorityLevelConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> ReadPriorityLevelConfigurationWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PriorityLevelConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> PatchPriorityLevelConfigurationWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PriorityLevelConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> ReplacePriorityLevelConfigurationWithHttpMessagesAsync(V1beta1PriorityLevelConfiguration body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified PriorityLevelConfiguration
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> ReadPriorityLevelConfigurationStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified PriorityLevelConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> PatchPriorityLevelConfigurationStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified PriorityLevelConfiguration
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityLevelConfiguration
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityLevelConfiguration>> ReplacePriorityLevelConfigurationStatusWithHttpMessagesAsync(V1beta1PriorityLevelConfiguration body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup14WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources27WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of StorageVersion
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionStorageVersionWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind StorageVersion
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersionList>> ListStorageVersionWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a StorageVersion
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> CreateStorageVersionWithHttpMessagesAsync(V1alpha1StorageVersion body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a StorageVersion
        /// </summary>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteStorageVersionWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified StorageVersion
        /// </summary>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> ReadStorageVersionWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified StorageVersion
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> PatchStorageVersionWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified StorageVersion
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> ReplaceStorageVersionWithHttpMessagesAsync(V1alpha1StorageVersion body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified StorageVersion
        /// </summary>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> ReadStorageVersionStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified StorageVersion
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> PatchStorageVersionStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified StorageVersion
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageVersion
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1StorageVersion>> ReplaceStorageVersionStatusWithHttpMessagesAsync(V1alpha1StorageVersion body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup15WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources28WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionIngressClassWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind IngressClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressClassList>> ListIngressClassWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressClass>> CreateIngressClassWithHttpMessagesAsync(V1IngressClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an IngressClass
        /// </summary>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteIngressClassWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified IngressClass
        /// </summary>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressClass>> ReadIngressClassWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressClass>> PatchIngressClassWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressClass>> ReplaceIngressClassWithHttpMessagesAsync(V1IngressClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Ingress
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressList>> ListIngressForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Ingress
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedIngress1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Ingress
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1IngressList>> ListNamespacedIngress1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> CreateNamespacedIngress1WithHttpMessagesAsync(V1Ingress body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedIngress1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> ReadNamespacedIngress1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> PatchNamespacedIngress1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> ReplaceNamespacedIngress1WithHttpMessagesAsync(V1Ingress body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> ReadNamespacedIngressStatus1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> PatchNamespacedIngressStatus1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Ingress>> ReplaceNamespacedIngressStatus1WithHttpMessagesAsync(V1Ingress body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of NetworkPolicy
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedNetworkPolicyWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind NetworkPolicy
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NetworkPolicyList>> ListNamespacedNetworkPolicyWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a NetworkPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NetworkPolicy>> CreateNamespacedNetworkPolicyWithHttpMessagesAsync(V1NetworkPolicy body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a NetworkPolicy
        /// </summary>
        /// <param name='name'>
        /// name of the NetworkPolicy
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedNetworkPolicyWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified NetworkPolicy
        /// </summary>
        /// <param name='name'>
        /// name of the NetworkPolicy
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NetworkPolicy>> ReadNamespacedNetworkPolicyWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified NetworkPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the NetworkPolicy
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NetworkPolicy>> PatchNamespacedNetworkPolicyWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified NetworkPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the NetworkPolicy
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NetworkPolicy>> ReplaceNamespacedNetworkPolicyWithHttpMessagesAsync(V1NetworkPolicy body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind NetworkPolicy
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1NetworkPolicyList>> ListNetworkPolicyForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources29WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionIngressClass1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind IngressClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1IngressClassList>> ListIngressClass1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1IngressClass>> CreateIngressClass1WithHttpMessagesAsync(V1beta1IngressClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an IngressClass
        /// </summary>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteIngressClass1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified IngressClass
        /// </summary>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1IngressClass>> ReadIngressClass1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1IngressClass>> PatchIngressClass1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified IngressClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the IngressClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1IngressClass>> ReplaceIngressClass1WithHttpMessagesAsync(V1beta1IngressClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Ingress
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1IngressList>> ListIngressForAllNamespaces2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Ingress
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedIngress2WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Ingress
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1IngressList>> ListNamespacedIngress2WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create an Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> CreateNamespacedIngress2WithHttpMessagesAsync(Networkingv1beta1Ingress body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete an Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedIngress2WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> ReadNamespacedIngress2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> PatchNamespacedIngress2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> ReplaceNamespacedIngress2WithHttpMessagesAsync(Networkingv1beta1Ingress body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified Ingress
        /// </summary>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> ReadNamespacedIngressStatus2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> PatchNamespacedIngressStatus2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified Ingress
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Ingress
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<Networkingv1beta1Ingress>> ReplaceNamespacedIngressStatus2WithHttpMessagesAsync(Networkingv1beta1Ingress body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup16WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources30WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionRuntimeClassWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RuntimeClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RuntimeClassList>> ListRuntimeClassWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RuntimeClass>> CreateRuntimeClassWithHttpMessagesAsync(V1RuntimeClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a RuntimeClass
        /// </summary>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteRuntimeClassWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified RuntimeClass
        /// </summary>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RuntimeClass>> ReadRuntimeClassWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RuntimeClass>> PatchRuntimeClassWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RuntimeClass>> ReplaceRuntimeClassWithHttpMessagesAsync(V1RuntimeClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources31WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionRuntimeClass1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RuntimeClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RuntimeClassList>> ListRuntimeClass1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RuntimeClass>> CreateRuntimeClass1WithHttpMessagesAsync(V1alpha1RuntimeClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a RuntimeClass
        /// </summary>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteRuntimeClass1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified RuntimeClass
        /// </summary>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RuntimeClass>> ReadRuntimeClass1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RuntimeClass>> PatchRuntimeClass1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RuntimeClass>> ReplaceRuntimeClass1WithHttpMessagesAsync(V1alpha1RuntimeClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources32WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionRuntimeClass2WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RuntimeClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RuntimeClassList>> ListRuntimeClass2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RuntimeClass>> CreateRuntimeClass2WithHttpMessagesAsync(V1beta1RuntimeClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a RuntimeClass
        /// </summary>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteRuntimeClass2WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified RuntimeClass
        /// </summary>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RuntimeClass>> ReadRuntimeClass2WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RuntimeClass>> PatchRuntimeClass2WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified RuntimeClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RuntimeClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RuntimeClass>> ReplaceRuntimeClass2WithHttpMessagesAsync(V1beta1RuntimeClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup17WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources33WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PodDisruptionBudget
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedPodDisruptionBudgetWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodDisruptionBudget
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudgetList>> ListNamespacedPodDisruptionBudgetWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> CreateNamespacedPodDisruptionBudgetWithHttpMessagesAsync(V1PodDisruptionBudget body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PodDisruptionBudget
        /// </summary>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedPodDisruptionBudgetWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PodDisruptionBudget
        /// </summary>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> ReadNamespacedPodDisruptionBudgetWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> PatchNamespacedPodDisruptionBudgetWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> ReplaceNamespacedPodDisruptionBudgetWithHttpMessagesAsync(V1PodDisruptionBudget body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified PodDisruptionBudget
        /// </summary>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> ReadNamespacedPodDisruptionBudgetStatusWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> PatchNamespacedPodDisruptionBudgetStatusWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudget>> ReplaceNamespacedPodDisruptionBudgetStatusWithHttpMessagesAsync(V1PodDisruptionBudget body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodDisruptionBudget
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PodDisruptionBudgetList>> ListPodDisruptionBudgetForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources34WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PodDisruptionBudget
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedPodDisruptionBudget1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodDisruptionBudget
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudgetList>> ListNamespacedPodDisruptionBudget1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> CreateNamespacedPodDisruptionBudget1WithHttpMessagesAsync(V1beta1PodDisruptionBudget body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PodDisruptionBudget
        /// </summary>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedPodDisruptionBudget1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PodDisruptionBudget
        /// </summary>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> ReadNamespacedPodDisruptionBudget1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> PatchNamespacedPodDisruptionBudget1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> ReplaceNamespacedPodDisruptionBudget1WithHttpMessagesAsync(V1beta1PodDisruptionBudget body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified PodDisruptionBudget
        /// </summary>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> ReadNamespacedPodDisruptionBudgetStatus1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> PatchNamespacedPodDisruptionBudgetStatus1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified PodDisruptionBudget
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodDisruptionBudget
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudget>> ReplaceNamespacedPodDisruptionBudgetStatus1WithHttpMessagesAsync(V1beta1PodDisruptionBudget body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodDisruptionBudget
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodDisruptionBudgetList>> ListPodDisruptionBudgetForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PodSecurityPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionPodSecurityPolicyWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PodSecurityPolicy
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodSecurityPolicyList>> ListPodSecurityPolicyWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PodSecurityPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodSecurityPolicy>> CreatePodSecurityPolicyWithHttpMessagesAsync(V1beta1PodSecurityPolicy body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PodSecurityPolicy
        /// </summary>
        /// <param name='name'>
        /// name of the PodSecurityPolicy
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodSecurityPolicy>> DeletePodSecurityPolicyWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PodSecurityPolicy
        /// </summary>
        /// <param name='name'>
        /// name of the PodSecurityPolicy
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodSecurityPolicy>> ReadPodSecurityPolicyWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PodSecurityPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodSecurityPolicy
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodSecurityPolicy>> PatchPodSecurityPolicyWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PodSecurityPolicy
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PodSecurityPolicy
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PodSecurityPolicy>> ReplacePodSecurityPolicyWithHttpMessagesAsync(V1beta1PodSecurityPolicy body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup18WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources35WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionClusterRoleBindingWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ClusterRoleBinding
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRoleBindingList>> ListClusterRoleBindingWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRoleBinding>> CreateClusterRoleBindingWithHttpMessagesAsync(V1ClusterRoleBinding body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ClusterRoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteClusterRoleBindingWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ClusterRoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRoleBinding>> ReadClusterRoleBindingWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRoleBinding>> PatchClusterRoleBindingWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRoleBinding>> ReplaceClusterRoleBindingWithHttpMessagesAsync(V1ClusterRoleBinding body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionClusterRoleWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ClusterRole
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRoleList>> ListClusterRoleWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRole>> CreateClusterRoleWithHttpMessagesAsync(V1ClusterRole body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ClusterRole
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteClusterRoleWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ClusterRole
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRole>> ReadClusterRoleWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRole>> PatchClusterRoleWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1ClusterRole>> ReplaceClusterRoleWithHttpMessagesAsync(V1ClusterRole body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of RoleBinding
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedRoleBindingWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RoleBinding
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleBindingList>> ListNamespacedRoleBindingWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleBinding>> CreateNamespacedRoleBindingWithHttpMessagesAsync(V1RoleBinding body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a RoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedRoleBindingWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified RoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleBinding>> ReadNamespacedRoleBindingWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleBinding>> PatchNamespacedRoleBindingWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleBinding>> ReplaceNamespacedRoleBindingWithHttpMessagesAsync(V1RoleBinding body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Role
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedRoleWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Role
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleList>> ListNamespacedRoleWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Role>> CreateNamespacedRoleWithHttpMessagesAsync(V1Role body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Role
        /// </summary>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedRoleWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Role
        /// </summary>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Role>> ReadNamespacedRoleWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Role>> PatchNamespacedRoleWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Role>> ReplaceNamespacedRoleWithHttpMessagesAsync(V1Role body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RoleBinding
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleBindingList>> ListRoleBindingForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Role
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1RoleList>> ListRoleForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources36WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionClusterRoleBinding1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ClusterRoleBinding
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRoleBindingList>> ListClusterRoleBinding1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRoleBinding>> CreateClusterRoleBinding1WithHttpMessagesAsync(V1alpha1ClusterRoleBinding body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ClusterRoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteClusterRoleBinding1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ClusterRoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRoleBinding>> ReadClusterRoleBinding1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRoleBinding>> PatchClusterRoleBinding1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRoleBinding>> ReplaceClusterRoleBinding1WithHttpMessagesAsync(V1alpha1ClusterRoleBinding body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionClusterRole1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ClusterRole
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRoleList>> ListClusterRole1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRole>> CreateClusterRole1WithHttpMessagesAsync(V1alpha1ClusterRole body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ClusterRole
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteClusterRole1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ClusterRole
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRole>> ReadClusterRole1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRole>> PatchClusterRole1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1ClusterRole>> ReplaceClusterRole1WithHttpMessagesAsync(V1alpha1ClusterRole body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of RoleBinding
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedRoleBinding1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RoleBinding
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleBindingList>> ListNamespacedRoleBinding1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleBinding>> CreateNamespacedRoleBinding1WithHttpMessagesAsync(V1alpha1RoleBinding body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a RoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedRoleBinding1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified RoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleBinding>> ReadNamespacedRoleBinding1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleBinding>> PatchNamespacedRoleBinding1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleBinding>> ReplaceNamespacedRoleBinding1WithHttpMessagesAsync(V1alpha1RoleBinding body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Role
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedRole1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Role
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleList>> ListNamespacedRole1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1Role>> CreateNamespacedRole1WithHttpMessagesAsync(V1alpha1Role body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Role
        /// </summary>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedRole1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Role
        /// </summary>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1Role>> ReadNamespacedRole1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1Role>> PatchNamespacedRole1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1Role>> ReplaceNamespacedRole1WithHttpMessagesAsync(V1alpha1Role body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RoleBinding
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleBindingList>> ListRoleBindingForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Role
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1RoleList>> ListRoleForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources37WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionClusterRoleBinding2WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ClusterRoleBinding
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRoleBindingList>> ListClusterRoleBinding2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRoleBinding>> CreateClusterRoleBinding2WithHttpMessagesAsync(V1beta1ClusterRoleBinding body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ClusterRoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteClusterRoleBinding2WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ClusterRoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRoleBinding>> ReadClusterRoleBinding2WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRoleBinding>> PatchClusterRoleBinding2WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ClusterRoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRoleBinding
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRoleBinding>> ReplaceClusterRoleBinding2WithHttpMessagesAsync(V1beta1ClusterRoleBinding body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionClusterRole2WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind ClusterRole
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRoleList>> ListClusterRole2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRole>> CreateClusterRole2WithHttpMessagesAsync(V1beta1ClusterRole body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a ClusterRole
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteClusterRole2WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified ClusterRole
        /// </summary>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRole>> ReadClusterRole2WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRole>> PatchClusterRole2WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified ClusterRole
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the ClusterRole
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1ClusterRole>> ReplaceClusterRole2WithHttpMessagesAsync(V1beta1ClusterRole body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of RoleBinding
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedRoleBinding2WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RoleBinding
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleBindingList>> ListNamespacedRoleBinding2WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleBinding>> CreateNamespacedRoleBinding2WithHttpMessagesAsync(V1beta1RoleBinding body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a RoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedRoleBinding2WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified RoleBinding
        /// </summary>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleBinding>> ReadNamespacedRoleBinding2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleBinding>> PatchNamespacedRoleBinding2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified RoleBinding
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the RoleBinding
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleBinding>> ReplaceNamespacedRoleBinding2WithHttpMessagesAsync(V1beta1RoleBinding body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of Role
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedRole2WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Role
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleList>> ListNamespacedRole2WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Role>> CreateNamespacedRole2WithHttpMessagesAsync(V1beta1Role body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a Role
        /// </summary>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedRole2WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified Role
        /// </summary>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Role>> ReadNamespacedRole2WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Role>> PatchNamespacedRole2WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified Role
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the Role
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1Role>> ReplaceNamespacedRole2WithHttpMessagesAsync(V1beta1Role body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind RoleBinding
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleBindingList>> ListRoleBindingForAllNamespaces2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind Role
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1RoleList>> ListRoleForAllNamespaces2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup19WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources38WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionPriorityClassWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PriorityClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PriorityClassList>> ListPriorityClassWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PriorityClass>> CreatePriorityClassWithHttpMessagesAsync(V1PriorityClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PriorityClass
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeletePriorityClassWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PriorityClass
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PriorityClass>> ReadPriorityClassWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PriorityClass>> PatchPriorityClassWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1PriorityClass>> ReplacePriorityClassWithHttpMessagesAsync(V1PriorityClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources39WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionPriorityClass1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PriorityClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1PriorityClassList>> ListPriorityClass1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1PriorityClass>> CreatePriorityClass1WithHttpMessagesAsync(V1alpha1PriorityClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PriorityClass
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeletePriorityClass1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PriorityClass
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1PriorityClass>> ReadPriorityClass1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1PriorityClass>> PatchPriorityClass1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1PriorityClass>> ReplacePriorityClass1WithHttpMessagesAsync(V1alpha1PriorityClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources40WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionPriorityClass2WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind PriorityClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityClassList>> ListPriorityClass2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityClass>> CreatePriorityClass2WithHttpMessagesAsync(V1beta1PriorityClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a PriorityClass
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeletePriorityClass2WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified PriorityClass
        /// </summary>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityClass>> ReadPriorityClass2WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityClass>> PatchPriorityClass2WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified PriorityClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the PriorityClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1PriorityClass>> ReplacePriorityClass2WithHttpMessagesAsync(V1beta1PriorityClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get information of a group
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIGroup>> GetAPIGroup20WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources41WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCSIDriverWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSIDriver
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSIDriverList>> ListCSIDriverWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSIDriver>> CreateCSIDriverWithHttpMessagesAsync(V1CSIDriver body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CSIDriver
        /// </summary>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSIDriver>> DeleteCSIDriverWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CSIDriver
        /// </summary>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSIDriver>> ReadCSIDriverWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSIDriver>> PatchCSIDriverWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSIDriver>> ReplaceCSIDriverWithHttpMessagesAsync(V1CSIDriver body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCSINodeWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSINode
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSINodeList>> ListCSINodeWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSINode>> CreateCSINodeWithHttpMessagesAsync(V1CSINode body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CSINode
        /// </summary>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSINode>> DeleteCSINodeWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CSINode
        /// </summary>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSINode>> ReadCSINodeWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSINode>> PatchCSINodeWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1CSINode>> ReplaceCSINodeWithHttpMessagesAsync(V1CSINode body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionStorageClassWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind StorageClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StorageClassList>> ListStorageClassWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StorageClass>> CreateStorageClassWithHttpMessagesAsync(V1StorageClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a StorageClass
        /// </summary>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StorageClass>> DeleteStorageClassWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified StorageClass
        /// </summary>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StorageClass>> ReadStorageClassWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StorageClass>> PatchStorageClassWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1StorageClass>> ReplaceStorageClassWithHttpMessagesAsync(V1StorageClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionVolumeAttachmentWithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind VolumeAttachment
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachmentList>> ListVolumeAttachmentWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> CreateVolumeAttachmentWithHttpMessagesAsync(V1VolumeAttachment body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> DeleteVolumeAttachmentWithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> ReadVolumeAttachmentWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> PatchVolumeAttachmentWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> ReplaceVolumeAttachmentWithHttpMessagesAsync(V1VolumeAttachment body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> ReadVolumeAttachmentStatusWithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> PatchVolumeAttachmentStatusWithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1VolumeAttachment>> ReplaceVolumeAttachmentStatusWithHttpMessagesAsync(V1VolumeAttachment body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources42WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSIStorageCapacity
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1CSIStorageCapacityList>> ListCSIStorageCapacityForAllNamespacesWithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CSIStorageCapacity
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedCSIStorageCapacityWithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSIStorageCapacity
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1CSIStorageCapacityList>> ListNamespacedCSIStorageCapacityWithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CSIStorageCapacity
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1CSIStorageCapacity>> CreateNamespacedCSIStorageCapacityWithHttpMessagesAsync(V1alpha1CSIStorageCapacity body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CSIStorageCapacity
        /// </summary>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedCSIStorageCapacityWithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CSIStorageCapacity
        /// </summary>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1CSIStorageCapacity>> ReadNamespacedCSIStorageCapacityWithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CSIStorageCapacity
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1CSIStorageCapacity>> PatchNamespacedCSIStorageCapacityWithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CSIStorageCapacity
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1CSIStorageCapacity>> ReplaceNamespacedCSIStorageCapacityWithHttpMessagesAsync(V1alpha1CSIStorageCapacity body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionVolumeAttachment1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind VolumeAttachment
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1VolumeAttachmentList>> ListVolumeAttachment1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1VolumeAttachment>> CreateVolumeAttachment1WithHttpMessagesAsync(V1alpha1VolumeAttachment body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1VolumeAttachment>> DeleteVolumeAttachment1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1VolumeAttachment>> ReadVolumeAttachment1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1VolumeAttachment>> PatchVolumeAttachment1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1alpha1VolumeAttachment>> ReplaceVolumeAttachment1WithHttpMessagesAsync(V1alpha1VolumeAttachment body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get available resources
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1APIResourceList>> GetAPIResources43WithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCSIDriver1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSIDriver
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIDriverList>> ListCSIDriver1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIDriver>> CreateCSIDriver1WithHttpMessagesAsync(V1beta1CSIDriver body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CSIDriver
        /// </summary>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIDriver>> DeleteCSIDriver1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CSIDriver
        /// </summary>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIDriver>> ReadCSIDriver1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIDriver>> PatchCSIDriver1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CSIDriver
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIDriver
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIDriver>> ReplaceCSIDriver1WithHttpMessagesAsync(V1beta1CSIDriver body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionCSINode1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSINode
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSINodeList>> ListCSINode1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSINode>> CreateCSINode1WithHttpMessagesAsync(V1beta1CSINode body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CSINode
        /// </summary>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSINode>> DeleteCSINode1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CSINode
        /// </summary>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSINode>> ReadCSINode1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSINode>> PatchCSINode1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CSINode
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSINode
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSINode>> ReplaceCSINode1WithHttpMessagesAsync(V1beta1CSINode body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSIStorageCapacity
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIStorageCapacityList>> ListCSIStorageCapacityForAllNamespaces1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string pretty = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of CSIStorageCapacity
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionNamespacedCSIStorageCapacity1WithHttpMessagesAsync(string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind CSIStorageCapacity
        /// </summary>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIStorageCapacityList>> ListNamespacedCSIStorageCapacity1WithHttpMessagesAsync(string namespaceParameter, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a CSIStorageCapacity
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIStorageCapacity>> CreateNamespacedCSIStorageCapacity1WithHttpMessagesAsync(V1beta1CSIStorageCapacity body, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a CSIStorageCapacity
        /// </summary>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteNamespacedCSIStorageCapacity1WithHttpMessagesAsync(string name, string namespaceParameter, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified CSIStorageCapacity
        /// </summary>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIStorageCapacity>> ReadNamespacedCSIStorageCapacity1WithHttpMessagesAsync(string name, string namespaceParameter, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified CSIStorageCapacity
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIStorageCapacity>> PatchNamespacedCSIStorageCapacity1WithHttpMessagesAsync(V1Patch body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified CSIStorageCapacity
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the CSIStorageCapacity
        /// </param>
        /// <param name='namespaceParameter'>
        /// object name and auth scope, such as for teams and projects
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1CSIStorageCapacity>> ReplaceNamespacedCSIStorageCapacity1WithHttpMessagesAsync(V1beta1CSIStorageCapacity body, string name, string namespaceParameter, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionStorageClass1WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind StorageClass
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1StorageClassList>> ListStorageClass1WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1StorageClass>> CreateStorageClass1WithHttpMessagesAsync(V1beta1StorageClass body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a StorageClass
        /// </summary>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1StorageClass>> DeleteStorageClass1WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified StorageClass
        /// </summary>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1StorageClass>> ReadStorageClass1WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1StorageClass>> PatchStorageClass1WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified StorageClass
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the StorageClass
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1StorageClass>> ReplaceStorageClass1WithHttpMessagesAsync(V1beta1StorageClass body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete collection of VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1Status>> DeleteCollectionVolumeAttachment2WithHttpMessagesAsync(V1DeleteOptions body = default(V1DeleteOptions), string continueParameter = default(string), string dryRun = default(string), string fieldSelector = default(string), int? gracePeriodSeconds = default(int?), string labelSelector = default(string), int? limit = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch objects of kind VolumeAttachment
        /// </summary>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications. Specify
        /// resourceVersion.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1VolumeAttachmentList>> ListVolumeAttachment2WithHttpMessagesAsync(bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// create a VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1VolumeAttachment>> CreateVolumeAttachment2WithHttpMessagesAsync(V1beta1VolumeAttachment body, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// delete a VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1VolumeAttachment>> DeleteVolumeAttachment2WithHttpMessagesAsync(string name, V1DeleteOptions body = default(V1DeleteOptions), string dryRun = default(string), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read the specified VolumeAttachment
        /// </summary>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1VolumeAttachment>> ReadVolumeAttachment2WithHttpMessagesAsync(string name, string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1VolumeAttachment>> PatchVolumeAttachment2WithHttpMessagesAsync(V1Patch body, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified VolumeAttachment
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='name'>
        /// name of the VolumeAttachment
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<V1beta1VolumeAttachment>> ReplaceVolumeAttachment2WithHttpMessagesAsync(V1beta1VolumeAttachment body, string name, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse> LogFileListHandlerWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <param name='logpath'>
        /// path to the log
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse> LogFileHandlerWithHttpMessagesAsync(string logpath, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get service account issuer OpenID JSON Web Key Set (contains public
        /// token verification keys)
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<string>> GetServiceAccountIssuerOpenIDKeysetWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// get the code version
        /// </summary>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<VersionInfo>> GetCodeWithHttpMessagesAsync(Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Creates a namespace scoped Custom object
        /// </summary>
        /// <param name='body'>
        /// The JSON schema of the Resource to create.
        /// </param>
        /// <param name='group'>
        /// The custom resource's group name
        /// </param>
        /// <param name='version'>
        /// The custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// The custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> CreateNamespacedCustomObjectWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Delete collection of namespace scoped custom objects
        /// </summary>
        /// <param name='group'>
        /// The custom resource's group name
        /// </param>
        /// <param name='version'>
        /// The custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// The custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> DeleteCollectionNamespacedCustomObjectWithHttpMessagesAsync(string group, string version, string namespaceParameter, string plural, V1DeleteOptions body = default(V1DeleteOptions), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string dryRun = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch namespace scoped custom objects
        /// </summary>
        /// <param name='group'>
        /// The custom resource's group name
        /// </param>
        /// <param name='version'>
        /// The custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// The custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='resourceVersion'>
        /// When specified with a watch call, shows changes that occur after
        /// that particular version of a resource. Defaults to changes from the
        /// beginning of history. When specified for list: - if unset, then the
        /// result is returned from remote storage based on quorum-read flag; -
        /// if it's 0, then we simply return what we currently have in cache,
        /// no guarantee; - if set to non zero, then the result is at least as
        /// fresh as given rv.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ListNamespacedCustomObjectWithHttpMessagesAsync(string group, string version, string namespaceParameter, string plural, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Creates a cluster scoped Custom object
        /// </summary>
        /// <param name='body'>
        /// The JSON schema of the Resource to create.
        /// </param>
        /// <param name='group'>
        /// The custom resource's group name
        /// </param>
        /// <param name='version'>
        /// The custom resource's version
        /// </param>
        /// <param name='plural'>
        /// The custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> CreateClusterCustomObjectWithHttpMessagesAsync(object body, string group, string version, string plural, string dryRun = default(string), string fieldManager = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Delete collection of cluster scoped custom objects
        /// </summary>
        /// <param name='group'>
        /// The custom resource's group name
        /// </param>
        /// <param name='version'>
        /// The custom resource's version
        /// </param>
        /// <param name='plural'>
        /// The custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> DeleteCollectionClusterCustomObjectWithHttpMessagesAsync(string group, string version, string plural, V1DeleteOptions body = default(V1DeleteOptions), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string dryRun = default(string), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// list or watch cluster scoped custom objects
        /// </summary>
        /// <param name='group'>
        /// The custom resource's group name
        /// </param>
        /// <param name='version'>
        /// The custom resource's version
        /// </param>
        /// <param name='plural'>
        /// The custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='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. If the
        /// feature gate WatchBookmarks is not enabled in apiserver, this field
        /// is ignored.
        /// </param>
        /// <param name='continueParameter'>
        /// 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.
        /// </param>
        /// <param name='fieldSelector'>
        /// A selector to restrict the list of returned objects by their
        /// fields. Defaults to everything.
        /// </param>
        /// <param name='labelSelector'>
        /// A selector to restrict the list of returned objects by their
        /// labels. Defaults to everything.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='resourceVersion'>
        /// When specified with a watch call, shows changes that occur after
        /// that particular version of a resource. Defaults to changes from the
        /// beginning of history. When specified for list: - if unset, then the
        /// result is returned from remote storage based on quorum-read flag; -
        /// if it's 0, then we simply return what we currently have in cache,
        /// no guarantee; - if set to non zero, then the result is at least as
        /// fresh as given rv.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='timeoutSeconds'>
        /// Timeout for the list/watch call. This limits the duration of the
        /// call, regardless of any activity or inactivity.
        /// </param>
        /// <param name='watch'>
        /// Watch for changes to the described resources and return them as a
        /// stream of add, update, and remove notifications.
        /// </param>
        /// <param name='pretty'>
        /// If 'true', then the output is pretty printed.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ListClusterCustomObjectWithHttpMessagesAsync(string group, string version, string plural, bool? allowWatchBookmarks = default(bool?), string continueParameter = default(string), string fieldSelector = default(string), string labelSelector = default(string), int? limit = default(int?), string resourceVersion = default(string), string resourceVersionMatch = default(string), int? timeoutSeconds = default(int?), bool? watch = default(bool?), string pretty = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the cluster scoped specified custom object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ReplaceClusterCustomObjectStatusWithHttpMessagesAsync(object body, string group, string version, string plural, string name, string dryRun = default(string), string fieldManager = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified cluster scoped custom
        /// object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> PatchClusterCustomObjectStatusWithHttpMessagesAsync(object body, string group, string version, string plural, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified cluster scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> GetClusterCustomObjectStatusWithHttpMessagesAsync(string group, string version, string plural, string name, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified namespace scoped custom object
        /// </summary>
        /// <param name='body'>
        /// The JSON schema of the Resource to replace.
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ReplaceNamespacedCustomObjectWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string name, string dryRun = default(string), string fieldManager = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// patch the specified namespace scoped custom object
        /// </summary>
        /// <param name='body'>
        /// The JSON schema of the Resource to patch.
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> PatchNamespacedCustomObjectWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Deletes the specified namespace scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> DeleteNamespacedCustomObjectWithHttpMessagesAsync(string group, string version, string namespaceParameter, string plural, string name, V1DeleteOptions body = default(V1DeleteOptions), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string dryRun = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Returns a namespace scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> GetNamespacedCustomObjectWithHttpMessagesAsync(string group, string version, string namespaceParameter, string plural, string name, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace scale of the specified namespace scoped custom object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ReplaceNamespacedCustomObjectScaleWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string name, string dryRun = default(string), string fieldManager = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update scale of the specified namespace scoped custom
        /// object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> PatchNamespacedCustomObjectScaleWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read scale of the specified namespace scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> GetNamespacedCustomObjectScaleWithHttpMessagesAsync(string group, string version, string namespaceParameter, string plural, string name, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace scale of the specified cluster scoped custom object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ReplaceClusterCustomObjectScaleWithHttpMessagesAsync(object body, string group, string version, string plural, string name, string dryRun = default(string), string fieldManager = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update scale of the specified cluster scoped custom
        /// object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> PatchClusterCustomObjectScaleWithHttpMessagesAsync(object body, string group, string version, string plural, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read scale of the specified custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> GetClusterCustomObjectScaleWithHttpMessagesAsync(string group, string version, string plural, string name, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace the specified cluster scoped custom object
        /// </summary>
        /// <param name='body'>
        /// The JSON schema of the Resource to replace.
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom object's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ReplaceClusterCustomObjectWithHttpMessagesAsync(object body, string group, string version, string plural, string name, string dryRun = default(string), string fieldManager = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// patch the specified cluster scoped custom object
        /// </summary>
        /// <param name='body'>
        /// The JSON schema of the Resource to patch.
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom object's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> PatchClusterCustomObjectWithHttpMessagesAsync(object body, string group, string version, string plural, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Deletes the specified cluster scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom object's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='body'>
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> DeleteClusterCustomObjectWithHttpMessagesAsync(string group, string version, string plural, string name, V1DeleteOptions body = default(V1DeleteOptions), int? gracePeriodSeconds = default(int?), bool? orphanDependents = default(bool?), string propagationPolicy = default(string), string dryRun = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Returns a cluster scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='plural'>
        /// the custom object's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> GetClusterCustomObjectWithHttpMessagesAsync(string group, string version, string plural, string name, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// replace status of the specified namespace scoped custom object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> ReplaceNamespacedCustomObjectStatusWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string name, string dryRun = default(string), string fieldManager = default(string), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// partially update status of the specified namespace scoped custom
        /// object
        /// </summary>
        /// <param name='body'>
        /// </param>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='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
        /// </param>
        /// <param name='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).
        /// </param>
        /// <param name='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.
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> PatchNamespacedCustomObjectStatusWithHttpMessagesAsync(object body, string group, string version, string namespaceParameter, string plural, string name, string dryRun = default(string), string fieldManager = default(string), bool? force = default(bool?), Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// read status of the specified namespace scoped custom object
        /// </summary>
        /// <param name='group'>
        /// the custom resource's group
        /// </param>
        /// <param name='version'>
        /// the custom resource's version
        /// </param>
        /// <param name='namespaceParameter'>
        /// The custom resource's namespace
        /// </param>
        /// <param name='plural'>
        /// the custom resource's plural name. For TPRs this would be lowercase
        /// plural kind.
        /// </param>
        /// <param name='name'>
        /// the custom object's name
        /// </param>
        /// <param name='customHeaders'>
        /// The headers that will be added to request.
        /// </param>
        /// <param name='cancellationToken'>
        /// The cancellation token.
        /// </param>
        Task<HttpOperationResponse<object>> GetNamespacedCustomObjectStatusWithHttpMessagesAsync(string group, string version, string namespaceParameter, string plural, string name, Dictionary<string, List<string>> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));

    }
}
